Search Unity

Funnel Examples

Discussion in 'Unity Analytics' started by mpinol, Nov 4, 2015.

  1. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi @FancyRobe

    It is using Standard Events. Standard Events (see here for all versions of Unity prior to 2017.3) are a curated list of important/popular events to track. One of these is LevelComplete (which is semantically the same as LevelFinished). Once you've implemented the LevelComplete standard event, you can use a template on the funnel creation page to automatically generate a level progression funnel (just click the triangular pulldown to the right of "Create Funnel").
     
    FancyRobe likes this.
  2. idevankush

    idevankush

    Joined:
    Jul 9, 2019
    Posts:
    1
    Brand New Queries
    Query 1:

    I have created a funnel(multiple actually to test it out) which has 11 steps.

    The Event manager is receiving all the 11 events.

    In the funnel, all the first 10 steps are getting hits but the 11th doesn't get a single hit, why?

    I've tried it with Parameters and Without Parameters.

    Is there any limitation to Funnel Steps(like maximum 10 possible)?

    Query 2:
    Using custom events, I'm sending these events when the trigger occurs(just once per event)

    but in the Event Manager (Unity Dashboard) there are 3 or more replicas of the same event. Why so?
     
  3. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    1) There is no limit. You can confirm which events are being sent by using Charles Proxy. Keep in mind that funnels require the user to go through all the steps. That is, a user can't only send Step 11, it will not show in the funnel https://support.unity3d.com/hc/en-us/articles/115002917683-Using-Charles-Proxy-with-Unity

    2) This is a known issue if you have the Validator open in both the Unity Editor and the one on the Dashboard at the same time. The events are not actually being sent multiple times, it's a UI issue only.
     
  4. Gamezaur

    Gamezaur

    Joined:
    Oct 12, 2016
    Posts:
    22
    Hi there!

    What happens when user finishes levels 1-5 and then resets the game and starts over on the same device? Will the funnel still track levels 1-5 or will it wait for the player to reach level 6?

    In other words, do I have to reinstall the game for the funnels to reset on a particular device?
     
    Last edited: Apr 23, 2020
  5. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    When a user reinstalls, it looks like a new user to us. So you will now have two separate users in your funnel.
     
  6. Gamezaur

    Gamezaur

    Joined:
    Oct 12, 2016
    Posts:
    22
    Hi @JeffDUnity3D,
    I wasn't asking about reinstalling. I want to know what happens when the player hits "reset progress" button in the settings and starts the game from the very beginning. Am I able to treat him as a new player, or will his data be ignored until he reaches the level he had previously?

    If there is a way to "reset" the identity of user, this would be extremely helpful for internal testing. I would be able to play & reset progress many times to generate the new data, without the need of reinstalling the game.
     
  7. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Funnel steps are progressive. If a user goes through steps 1-5, only one user will show in the funnel having completed steps 1 through 5. They can repeat these steps as many times as they want after they reset their progress, but the funnel will still show one user as having completed steps 1 through 5. So yes, basically any steps they do over again will be ignored. There isn't a way to reset a user, you can clear all the data from your Dashboard but likely isn't what you need. What are you trying to accomplish, why do you need to generate new data? We may be able to offer some suggestions. Generally funnels are used to determine the behavior of multiple players. For example, if you see many players completing only levels 1-4 but then few make it past 5, then that could be a signal that level 5 is too hard or has a bug. If you truly need to reset data for a single player, you can create a new event name for them, but again, likely not what you need. It generally only takes 30 seconds or so to reinstall the game, I typically use "adb install -r myfile.apk" and you'll have a new user.
     
  8. Gamezaur

    Gamezaur

    Joined:
    Oct 12, 2016
    Posts:
    22
    So the reinstall is a must, ok. Thanks for the clarification.

    The reason I asked about this is that we're going to be making some intense internal testing, with particular emphasis on the beginning of the game. So play 10 minutes, reset, repeat. Many, many times. It would be fantastic if that genereated some mock data for the funnels so we can play with it and learn how to mine it. Reinstalling is not an option, given that testers won't be near developers. But it's ok, I just wanted to know :)

    By the way, I looked everywhere on the internet and there doesn't seem to be any good tutorial on how to use Unity Analytics. I am not talking about tutorials for begginers covering creating a single drop rate funnel. I mean real case, in-depth scenarios - I would like to know how to deal with games containing hundreds of levels: how do I divide the funnels? How do I measure the difficulty of a level (and compare it to my desired scenario)? How do I check if the monetization point (a difficult level) is working - is the drop rate acceptable considering the incomes it generates? What other funnels can I make?

    If you make a tool and don't explain how to use it, it won't be used (not really). There are plenty tutorials covering all kinds of game development areas, but analytics seems to be a huge black box. I really think that you should put up better learning materials, do you think you do something about it?
     
    mickael_LASZLO likes this.
  9. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    You would not want to consider Unity Analytics in your use case most likely, unless you have a Unity Pro License and can use Unity Raw Data Export. The dashboard does not provide the level of detail that you require. There is an article that I wrote about RDE a couple of years ago.

    https://support.unity3d.com/hc/en-u...ries-with-Unity-Analytics-and-Raw-Data-Export

    In your case, I might recommend deltaDNA

    https://deltadna.com/the-game-specialists/
     
  10. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    Do you have any method for eliminating data posted by cheaters.

    there are a lot of cheaters on mobile games and recording user stats in a funnel like ‘coins’ in an onboarding funnel is useless as soon as one user decides to hack your game and add 1,000,000 coins. Is there a way to see the median instead of the mean value? Or better yet a percentile? Sometimes the average is not useful as you may be focusing your improvements on the lower or higher percentiles.
     
  11. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    No unfortunately we do not have this feature. You mean hackers are sending custom events with tampered parameters? I have not heard of this. In your event code, you could certainly limit the values to only those allowed.
     
  12. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    No i mean they memory hack the game to give themselves unlimited coins and then the game logs the events. But this happens with everything, scores. coins, gems, items, health. etc.. whatever a hacker decides they want.

    All it takes is one bogus massive value and presto. your stats are void.

    Also there's the other issue of bugs. you sometimes have bugs in your game that can result in crazy values too, so if there was a way to filter outliers for that purpose too that would be good.

    Ultimately this data is still useful in some degree as it can alert you to hacking and bugs in your game, but it's only useful if you can filter it otherwise the poisoning of the rest of your data is to high a price.

    It's really frustrating to have to add sanity around all event tracking and losing weeks of data because of this. ability to see a median or percentiles would help mitigate this.
     
  13. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Can you elaborate, the "game logs the events", can you share a screenshot? What data have you lost? As a developer, it's up to you to write the event code. Can you share the event code that you are using? Are these coins purchased with actual money? If so, the typical approach is to track the product sales, not the coin values they represent. Then you can verify the purchases with Google to confirm, and through receipt verification https://docs.unity3d.com/Manual/UnityIAPValidatingReceipts.html .
     
  14. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    It was more an example of why these metrics don't often help in the real world as it's really hard to filter out all cases of hackers, cheaters, exploits and bugs.

    As an example you might have a game that gifts coins or awards coins as the player progresses through levels, so you'd want to track how many coins a user has as they progress on average to see if the balance of coins gifted or awarded is around where you would expect as the player moves along.

    If a single player hacks the game and gives themselves 999,999,999 coins for example. then when the game logs the level complete event for the player and sends the value 999,999,999 to the server, that is then averaged with the rest of the players which are logging more reasonable numbers like 100.

    say you have a level complete event that logs coins for example:
    100 coins * 1,000 players + 999,999,999 coins from one hacker / 1001 players = an average of 999,100 coins each, even through 1000 out of 1001 players only had 100 coins.

    Outliers are a huge problem in stats in general and without a more holistic view of the data there is no way to know how outliers are effecting your results, if they need to be addressed or if it's simply safe to ignore them.

    By lost data I mean that the data recorded for this period is now void as you can't get the meaningful information you wanted for that period, so you need to update the app with a sanity check on event log if(coinsTotal < 10,000) LogEvent(), and then wait for 2 weeks for app approval user uptake to get the new data flowing into your funnel.
     
    Last edited: Apr 24, 2020
  15. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    A funnel doesn't track user coins or owned objects, it tracks user progression. However, if this is something you are concerned with, you could filter out the outliers by using Raw Data Export https://support.unity3d.com/hc/en-u...ries-with-Unity-Analytics-and-Raw-Data-Export
     
  16. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    Yeah you can do that.

    I was just pointing out that it would be useful to have a median value option as well as average
     
  17. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    I believe you are referring to Analytics Data Explorer and not the Funnel Analyzer, but your point is taken.