Mobile App Installation-Source Tracking

UPDATE: We’ve solved this issue, see a few posts below on all the different options in how. Here’s a link for it, too:
http://www.mobyaffiliates.com/blog/best-app-analytics-tools/

I’ve been searching about this for awhile now, and I haven’t found anything conclusive. There seem to be a variety of options, but none are entirely clear on how it works (and even if it works).

The problem
The player is linked to the PlayStore, or the AppStore, by a certain link on a website, or via a specific facebook campaign. Both the PlayStore and AppStore provide -some- elusive functionality that sends this ‘source’ information to the app once it’s installed and run for the first time. This is also sometimes called ‘Logging referrals’.

I need to catch that information within Unity, before sending it as an event to data tracking servers.

Options
I’ve found several options, but I really can’t tell which would work or which is best, and I can really use your feedback!

Game Analytics
So far the best source of information was Game Analytics (which we already use in our games to track events):

“For Android games, this can be done automatically through Google Play’s functionality of sending out referral details for your app.”
Basically, the Play Store sends out a referral that, in theory, can be received by a script and adjusting the Android Manifest.xml. I haven’t tried this yet (the example code is not based on Unity and would require conversion), but it seems like a solid solution. I was wondering though, if anyone has more experience regarding this matter?

An introductionairy link to Mobile App Attribution which gave me some insight in possibilities not specific to Unity:
http://support.mobileapptracking.com/entries/22260809-An-Introduction-to-Mobile-App-Attribution

However, iOS is much more difficult. Game Analytics is partnered with HasOffers’ their Mobile App Tracking (MAT) platform which looks great, but it mentions implementing yet another SDK of which I have no idea if it’s compatible with Unity, and there seems to be little information regarding whether MAT could be used freely for only the referral logging functionality, or if I’m forced to use the entire package and pay their fees.

Unity Ads
At first glance, Unity Ads offers iOS Install Tracking.
https://unityads.unity3d.com/help/Documentation for Advertisers/SDK-Install-Tracking-for-iOS
But after looking closely, it’s designed for use in the showing of advertisements, and not tracking where users installed their app from. I might be incorrect in this, however, but it did confuse me a lot while searching for ‘install tracking’.

Help
I’m a bit stuck on where to proceed from here. I feel like I’m overlooking the one SDK to rule them all that’s hidden somewhere out there. I feel like I’m overlooking the ‘easy way to know how players found your game’.

Before I proceed and spend days on figuring out Game Analytics’ solution that combines the use of MAT, can anyone tell me if I’m heading in the right direction?

I’m sorry to bump this thread but it’s been awhile now and we’ve had no ourselves progress yet.

Is there really nobody who’s ever encountered this before? :0

Google Analytics provides reliable install sources through their GUA libraries for Google Play. Ref. here.
They have a separate SDK for iOS as well, which is still in Beta. Not sure whether it works correctly or not.

But this seems to be a separate SDK different from the Google Analytics Unity SDK. So how should this work with my Unity app?

@EricvG - have you solved your problem? I’ve also tried using GA’s SDK for Unity - event tracking and so forth seems to work flawlessly, however referrals/traffic source is not being tracked. I was trying to figure out a way how to gather the campaign name/tracker from Unity to no avail unfortunately, and what is worse is that referral/source information on GA reporting are all set as direct although I’ve created a few test URLs as per Google’s URL campaign creator.

Yes, we managed to solve it!

In order to track install referrels on both Android and iOS we ended up using the Mobile App Tracking SDK as found here:
http://www.mobileapptracking.com/

It’s free to use until you get up to a certain amount of installs. After that you have a tiny cost per install.
It took quite awhile to set everything up correctly though, and testing it had a lot of issues.

But, it works. Installing the SDK itself shouldn’t be much of an issue. Once it’s in your project, click on the tab ‘MobileAppTracker’ and click ‘Set up mobile app tracker’. You’ll need a script in order to start measuring the game session, for example:

/// <summary> Uses MAT to track the install referrals </summary>
public class InstallTracking : MonoBehaviour {

    /// <summary> The package name of the game as found on the MAT website </summary>
    public string packageName;
    /// <summary> The conversion key of the game as found on the MAT website </summary>
    public string conversionKey;
    /// <summary> The advertiser ID of the game as found on the MAT website </summary>
    public string advertiserId;

    /// <summary> Whether to run in debug mode. </summary>
    public bool isDebugMode;

    public float timer;

    void Update() {
        if (timer > 0) {
            timer -= Time.deltaTime;
            if (timer <= 0) {
#if UNITY_ANDROID || UNITY_IPHONE

                Debug.Log("MAT: Init");
                MATBinding.Init(advertiserId, conversionKey);
                MATBinding.SetPackageName(packageName);
                MATBinding.SetUserId(GA.API.GenericInfo.UserID);

                if (isDebugMode) {
                    Debug.Log("MAT: Debug");
                    MATBinding.SetDebugMode(true);
                    MATBinding.SetAllowDuplicates(true);
                }

#if UNITY_IPHONE
        MATBinding.SetAppleAdvertisingIdentifier(iPhone.advertisingIdentifier, iPhone.advertisingTrackingEnabled);
        MATBinding.CheckForDeferredDeeplinkWithTimeout(750); // 750 ms
#endif

                Debug.Log("MAT: MeasureSession");
                MATBinding.MeasureSession();
#endif
            }
        }
    }
}

MAT also has the ability to work together with Game Analytics. Installs are recorded by MAT and sent directly to the GA system using a Postback URL, which you can set up on the MAT webpage.
Our code uses the GA.API.GenericInfo.UserID to identify the user installing the app, so GA can link the user behind the install to GA events.

I can’t help you with all the specifics, but check out these two web pages that helped me a lot:
https://developers.mobileapptracking.com/unity-plugin/
http://support.mobileapptracking.com/entries/23440979-GameAnalytics-Integration

Good luck!

Is it working with Unity 5?

Probably. We don’t know, we’re still using 4.5.5f1 since we’re in the publishing phase of several game projects.

There is a BIG problem with using MAT (Mobile Attribution Tracking). Facebook does not support them! Facebook is purposely not working with them because of how they handle user information. If you want to track facebook campaigns for your app, use something else. It is possible to use MAT, and then install the Facebook Unity SDK alongside it. That way you can track facebook installs, but they won’t show up on the MAT overview. (Facebook SDK has some additional neat features, like giving player rewards for sharing playthrough info)

But I’ve learnt a bit more about mobile attribution tracking in general. If you want to track the installs of your apps, here are a couple of links:
http://www.mobyaffiliates.com/blog/best-app-analytics-tools/

Recently we’ve discovered App Annie. We’re about to try it out, but it claims that it needs NO SDK to be installed in your app! Much less that can go wrong that way, for sure. They say they can get all the needed data directly from the Appstore and Playstore, and you can view all the data in one dashboard overview.
https://www.appannie.com/tours/app-store-analytics/?_ref=header

Since it doesn’t need an SDK, it should work for any app (including Unity games) that are present on the online stores.
It even has a free starting license, should you just want to try it out.

In the end, though, there are so many different options out there for this feature! I’m honestly surprised I couldn’t find ANY when googling ‘Campaign Tracking for Unity’. Just search on ‘Mobile Attribution Tracking’ or ‘Mobile Analytics’ and you’ll find what you need. My main suggestion is to read up on a couple, find what suits you personally best, then try out a few in a quick prototype before using it for the real thing! Yes, it might take a bit more time, but if you’re planning on releasing a lot of apps, it’s probably best to get it right from the start.

Do you know can the referral id can be captured inside unity without the need of installing any sdk / plugin?

I was told that both google and apple provide analytics for free by default which track source to revenue, just by adding campaign parameters to play store/app store url.

1 Like

Yes, I’d also like to know if that is the case. It doesn’t appear that the MAT plugin allows you go to the referral id either, it just sends it to its own servers. Any help would be appreciated.

Any news on this ?
I need to get the install sources inforations in srcript to be able to send it to my server.