The new iTunes connect has analytics features now. You can specify the provider (pid) id and campaign id (cid) in the url. e.g.
https://itunes.apple.com/fr/app/candy-crush-saga/id553834731?mt=8&pid=1234&cid=My_Campaign
Can you pass those values into the app for various purposes?
I could not find anything that points to that, even after checking:
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
ref:
http://www.applift.com/blog/new-era-attribution-analytics.html
If you'd like to build your own fingerprinting mechanism to handle all of this deep linking like we have at branch.io, I can give you some instructions how! One side note as I read it in the accepted answer comments is that the INSTALL_REFERRER in Google Play is often very slow (> 1s delay) to launch after install, so if you're depending your user experience on this, your users in are in for a bumpy ride.
Here's how we built fingerprinting on iOS:
Configure a server endpoint (something like
yoursite.com/redirect
) to accomplish two things:When the user opens the app, send back that set of parameters, as read from the app to a new endpoint (something like
yoursite.com/completematch
).If there's a match, you can pass back the parameters.
If you want to get savvy, you can drop a cookie on
yoursite.com
and save the match to the IDFA received from the app. Ideally, you'd only do this if you redirect into the app immediately so you're 100% sure of the match. Then if that same user ever clicks on the link again and installs the app, you don't have to use fingerprinting as you can just use the cookie-IDFA pair. We've got hundreds of millions of these at Branch so fingerprinting is more of a fallback mechanism at this point.Unfortunately these params are not passed into the app. They are only used for iTunes Connect stats.
Here are the two common workarounds:
Using a fingerprint to implement deferred deep link and passing the params through that link (Tapstream can do this).
Using a provider like Tune/MobileAppTracking to match the link using the ID for advertising (IDFA).
I wrote a blog post to explain the details: https://attributionapp.com/blog/lets-solve-ios-attribution-methods/
I will edit this response in the future if Apple changes their API. If you let Apple know what you want to build and why passing in the params is a better policy they might change their minds faster: https://developer.apple.com/contact/