Search Unity

Analytics providers for a cross-platform mobile project

Discussion in 'General Discussion' started by casimps1, Oct 7, 2014.

  1. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    I've been researching analytics solutions for a Unity project that's targeted for iOS/Android. I'm considering 6 possible service providers that each offer free analytics accounts with minimal limitations. They are listed below in order of popularity (a rough estimate calculated based on the Alexa rank of their website). I've also included a few other notes:
    • Google Analytics - free official Unity SDK (beta)
    • Flurry - paid Unity SDKs by Prime31/Neatplug, no REST API (won't support web player)
    • GameAnalytics - free official Unity SDK, cohort analysis, offers "heat maps" of your levels
    • Apsalar - free official Unity SDK, free account has some limitations
    • Countly - free official Unity SDK, open source, limited self-hosted option, offers full-featured hosted option for a fee
    • Playnomics - recently purchased by Unity, must already have active user base and apply to participate in their beta
    Wondering if anyone wants to share anything about your experience with these analytics providers?
     
    Last edited: Dec 10, 2014
    CanisLupus and Meltdown like this.
  2. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Well, I discovered that Countly's free self-hosted version does not include some of their fancier features (Drills and Funnels). That combined with the hassle of having to set up the server myself has led me to eliminating them as one of my choices.
     
  3. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    I've used Google, Flurry, and GameAnalytics. Each has strengths and weaknesses, though in the end, I tend to go with the tool that has the easiest, most direct, cross-platform integration with Unity. At the moment, for me, that was GameAnalytics, though in the past, it was Flurry, and before that Google.

    Gigi
     
  4. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Care to share your thoughts on strengths/weaknesses?

    So far, in my limited research, the main difference I've seen between those three is that GameAnalytics is game-focused, which allows it to offer unique features like heat maps.

    Also, regarding integration, it looks like as of a few months ago, Google Analytics has a very easy Unity integration path with an official Unity SDK:

    https://github.com/googleanalytics/google-analytics-plugin-for-unity
     
    Last edited: Oct 9, 2014
  5. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    +1
    I've found GameAnalytics to be easy to set up and to provide some very insightful metrics.

    On the negative side it does not allow you to show graphs or apply criteria to value metrics, only their aggregates (so for example you could show a count of Level Events, or the mean or average of Level Event values, but not a chart showing how many people reached or played a given level on a given day).

    You can work around this by creating events for each value (e.g. Level1, Level2, Level3... etc), but this can be tedious if you have a value metric for which their are many values.
     
  6. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Yeah, I remember Flurry being able to display charts of event values. So you could see that 10% of your players scored between 0-500 points, and 23% scored between 500-1000 points, etc.

    That seems like a very desirable feature to me. A shame GameAnalytics doesn't offer that.
     
  7. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Just to be clear you could do the above very easily by setting separate metrics for scores of 0-500, 500-100, etc.

    The limitation I posted above is for the most part one of those limitations that can easily be worked around.

    By far the best feature of GA that I haven't seen elsewhere is funnels. You can set up a chain of events like:

    Played Game -> Shown Store Quest -> Opened Store -> Browsed Items -> Purchased Item


    And see where in the process players drop out. BY Adding additional events to the funnels you can also get filtered funnels, so for example you could take the above funnel and add a level requirement:

    ReachedLevel5 -> Shown Store Quest -> Opened Store -> Browsed Items -> Purchased Item


    and compare that to:

    ReachedLevel10 -> Shown Store Quest -> Opened Store -> Browsed Items -> Purchased Item


    And compare those funnels to determine at which point its best to introduce the store quest.
     
  8. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Google, Flurry, and Apsalar all support funnels as well.

    Actually, I think Google and Flurry take it a little step further and provide a flow graph of all the events. You can view a graph where each event is a box with arrows going from one event to another. Each arrow represents users that went from one event to another event next.

    So, for example, you could see that of all the users that logged the "start_level_1" event, the next event logged was "finish_level_1" for 30% of those users, "quit_game" for 10% of those users, "buy_powerup" for 20% of those users, etc. Pretty neat to explore user paths like that.
     
  9. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Cool, I haven't used google analytics for a few years (although I may just have missed that feature).
     
  10. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    I think I may have just crossed Flurry off my list.

    Flurry doesn't offer a REST API that could work with Unity web player. Google, GameAnalytics, and Apsalar all do. So, to implement analytics for browser-based games, only those 3 are an option. My current project is iOS/Android, but I do web games as well. Would be nice to have a single analytics solution.

    Plus, I haven't been able to find anything that seems particularly unique about Flurry's offering compared to the others.
     
  11. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Integrating Google analytics was non-trivial. I did it a long-time ago with Prime31's plugin, which was not cross-platform. In addition, Google originally was not particularly designed for game events and it limited the number of those events (may have changed).

    Flurry has the best web-data browsers of the ones I've tried. Though again, they do not provide a Unity plugin, which means using a 3rd party tool like Prime31, and purchasing it for each platform. Been there, I'm done with that!

    Game Analytics has imperfect servers, and sometimes limited ways to view/slice the data. In addition, it takes some time to figure out how to navigate through your events. And, yet, it provides the easiest, most straight-forward one-stop Unity integration. A few lines of code, deploy to any device. Free. Done.

    Currently, I'm favoring Game Analytics, cause ... life is short.

    Gigi
     
  12. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Well, now I think my search is narrowed down to Google and GameAnalytics. Say goodbye Apsalar...

    I tried integrating the Apsalar Unity SDK and it was kind of a mess. The examples were out of date and some had components missing the link to their scripts. The instructions in the Unity package conflicted with the instructions on the website. It required these post build scripts for iOS that had to be modified by hand. It also required modification of the AndroidManifest because it added some Android activities and receivers to the build.

    Google and GameAnalytics' packages don't have these problems.

    Also, I just plain haven't been able to get Apsalar to work yet. I followed all the instructions modified everything it told me to modify. Ran a test build on Android and saw no errors in the log, but 24+ hours later I still see nothing on the Apsalar web dashboard.

    I thought about trying again and seeing if I could figure out what was wrong, but the final push to just abandon Apsalar came when I found out that GameAnalytics recently started to offer cohort analysis (which was previously something unique to Apsalar).

    So, now there are only two... I'm going to try both and then post back with my results.
     
    Last edited: Oct 10, 2014
  13. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    1,119
    Does any of these offer campaign source tracking? Like a way to know where the traffic to my game is coming from?
     
  14. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    I do remember seeing that on Apsalar's dashboard. I think they used the term "attribution" for that.

    As for the others I'm not sure.
     
  15. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    I've been checking out Google and it offers Campaign Tracking as well.
     
  16. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    But you not checking one thing, the data that is sent to the Provider DashBoard, Flurry has exactly what I needed, a load of information about devices used /firmware/users etc and it also supports Crash Reports (Not tested on Unity, but could work). Flurry has expanded to a number mobile platforms and I hope it keep advancing.
    GameAnalytics is pretty basic right now and maybe in future it be more like Flurry.

    Just my thoughts anyway.
     
  17. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Final update on this. I spent some time with both GameAnalytics and Google Analytics and I've decided to go with Google for now. Though I may come back to GameAnalytics for other projects. Both seem like very solid solutions, with a few relatively minor differences.

    Google provides a full flow graph of all events that are tracked and how users move from event to event. GameAnalytics provides funnel analysis for specific sequences of events. In this sense, it seems like GameAnalytics is great for measuring very linear progression, where Google might be better for more non-linear. So, might depend on game design, but in my case, I wanted non-linear.

    Google seems to handle Android campaign tracking pretty much out of the box. GameAnalytics requires a third-party (MobileAppTracking.com) SDK to handle Android campaign tracking. Then, it seems to be kind of a headache to get the two SDKs to work with each other. On a side note, the MobileAppTracking SDK also provides iOS campaign tracking. So, if that's important it may be worth integrating regardless of your analytics solution.
     
  18. casimps1

    casimps1

    Joined:
    Jul 28, 2012
    Posts:
    254
    Updated the original post to reflect that Apsalar just announced that they are removing cohort analysis from their free accounts.
     
  19. CanisLupus

    CanisLupus

    Joined:
    Jul 29, 2013
    Posts:
    427
    @casimps1 This thread was already very useful. :) Do you have further insights on GameAnalytics and/or Google Analytics, since some time has passed?

    Without wanting to disregard other solutions, the most used ones seem to be GameAnalytics, Google Universal Analytics, Flurry, and now Unity Analytics (formerly Playnomics).

    My analysis seems to imply that GameAnalytics, although now completely free and with no apparent usage limits (and having great presets to send information when a scene changes, FPS, etc), is limited when we want to display the value that goes with a custom event. They focus a lot on the categories that form the event ID, but the exact value that we can send with it (only floats allowed) is only used for means and sums. For example, displaying a distribution of the time players take to complete a level is impossible unless we divide the event ID in further categories, one for each range of values that "time" can take. That said, I don't know if the other platforms have this limitation. Did you have problems with any of this?

    Flurry and Unity Analytics don't seem to do this, instead allowing a dictionary of parameters to be sent along, which I find is a much more intuitive solution. But UA is still very much in beta and doesn't allow much to be done with those parameters yet. I don't know about Flurry.

    In conclusion, anything you could say about your experience would be good, if you have the time. :) I'm sorry you are the target of my questions, but honestly there aren't many threads comparing all of these analytics in Unity!

    Thank you!
     
    Gigiwoo likes this.
  20. CanisLupus

    CanisLupus

    Joined:
    Jul 29, 2013
    Posts:
    427
    I've created a thread that shows what I have researched, though it is very incomplete and might contain errors. I anyone wants to add or fix some information there, please do so. :)