Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tracking clicks through to app installs?

What I want to do

I want to track upgrades from a lite version to paid version of a app, including a) clicks on CTA to upgrade b) conversions from clicks to actual installs c) how that cohort of users who clicked behavior is different, if at all, from users who discovered the app through other means. This is of course for an app that doesn't feature the native in app purchases.

b) is the most important.

enter image description here

Context

I've been reviewing a number of services that allow you to track clicks through to app install -

  • Distimo - http://www.distimo.com/app-analytics#conversion-tracking
  • Apsalar - https://apsalar.com/products/apscience/

  • I've seen that you can't get iOS's IDFA from mobile safari.

  • I've also seen in iOS7 you won't be able to use the MAC address as a unique identifier

As far as I got in thinking about how it works (using Apsalar as example)

  • Apsalar provides a custom URL
  • When URL fires, checks to see if a cookie exists for that device, if not a unique code is generated server side and cookie set on the device
  • On the first launch of the paid version of the app, the Apsalar SDK is installed, so the Apsalar code somehow checks to see if the cookie exits? -

Question

How does it actually work? Or what are the range of options? Of course in my case I get the devices IDFA in the lite version of the app if they click to upgrade. And check to see if the IDFA shows up later in the set of paid users. But I assume this would take a decent amount of time.

Update #1

So having got an email back form Distimo it seems like the use device fingerprinting.

Update #2

Would it be best to use identifierForVendor call to generate a unique #, that I then pass to the analytics package, so I track distinct users between lite and paid versions of the app?

like image 283
drc Avatar asked Nov 12 '22 03:11

drc


1 Answers

Answering points a) and b) only.

You can use the IDFA for the purpose of tracking the user clicks for upgrade, actual conversions and also identify distinct users between paid and lite version of your app.

Since all the activity is being done inside the app, you can simply send a HTTP request to your server with a hash of the IDFA, or you can even use the IDFA directly as it is privacy compliant to track all the users who have clicked on the upgrade button.

In your paid app, inside applicationdidfinishlaunching send HTTP request to your server with the IDFA/ hash of IDFA and set a NSUserDefault with 'IDFA' (or any other string) as the key and the IDFA value as the parameter in your app to mark that you have already sent the IDFA to your server. So whenever the app (is shut and) is launched you would need to check the value against the key ('IDFA' or whatever you set it) and incase the value matches with your IDFA, you don't need to send the message to the server.

In case the user resets his IDFA, you can send a message to your server with the old IDFA as well as the new IDFA. This would help you track the user in a better manner.

Hope this helps.

Also, could you please elaborate on point c)?

like image 116
Akshat Singhal Avatar answered Nov 15 '22 07:11

Akshat Singhal