Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tracking affiliate generated app installs in iOS greater than 24 hours

I'm trying to run an affiliate project for my app and Apple's 24 hour cutoff makes it a bit difficult. I'm wondering whether there is a way to implement one's own tracking?

I first was thinking a landing page with a phone number input form. Upon submission we'd use something like Twillio to send the user the app store link via SMS and also store the phone number together with the affiliates code from the landing page URL. I then saw that Google somehow let's you track adwords in relation to app installs and thought that perhaps there might be a way that doesn't involve this phone number indirection... Anyone know how they do it?

like image 464
Hari Honor Avatar asked Aug 09 '16 14:08

Hari Honor


1 Answers

To be or not to be

The main question here is nature of your intention.

It reasons necessary accuracy / limitations you have on iOS. I see two variants.

100% Accuracy

If you need 100% accuracy, you can use SFSafariViewController - it's view is rendered by another process and it has shareable cookies between your app and Safari. It's iOS 9+ only 100% way to attribute installs. Also you can go with explicit attribution (email, phone number etc.) requested from user after app install. It might be needed if business model relies on this process (like each install is paid out to user account etc.)

You can get an idea and do implementation following this link

<100% Accuracy

If you want to provide greatest UX possible (but it's not critical) or gather analytics (but it allows some kind of deviation) you can go with some approximation techniques, like gathering IP addresses, location etc from requests to your affilate link. The flow can be following:

  1. Your landing page contains dynamically generated link
  2. Upon clicking on link, user metadata is stored (ip, location, device info - whatever can be grabbed from User-Agent or another info available to your web service)
  3. User is redirected to App Store
  4. Upon install and run, app queries your service with device info and ip.
  5. Your web service now decides on attribution. Matching algorithm can include any necessary amount of variables / conditions. Like "Same IP + Device Type + No more than 5 minutes since clicking the link".

This way you don't request any user info (email, phone number) but you're already able to track attribution. Correctness percent is subject to tuning.

Edit #1

This approach might be helpful to you, it's used to attribute login, however you can use modified for analytics.

Edit #2

If you're really wondering, how AdWords does this, you might be interested in install tracking step-by-step guide. It's explicitly stated (section "Instructions for tracking iOS app installs (first open)", p.14) that you should either use AdWords tracking code (this tutorial describes how) or setup server-server integration. So, going back to original questions:

..there might be a way that doesn't involve this phone number indirection?

Yes

Anyone know how they do it?

There are lots of techniques (as well as measurement pixel built on top of mentioned above SFSafariViewController), described in these docs:

Google SDK,
3d-party SDKs

like image 199
Petro Korienev Avatar answered Oct 15 '22 02:10

Petro Korienev