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.
Context
I've been reviewing a number of services that allow you to track clicks through to app install -
Apsalar - https://apsalar.com/products/apscience/
I've seen that you can't get iOS's IDFA from mobile safari.
As far as I got in thinking about how it works (using Apsalar as example)
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?
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)?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With