I am using Branch for deferred deep linking and I am trying to find all referral data after installing app from play store. I have added Google Analytics Campaign Parameters to Google Play URL as recommended. like.
https://play.google.com/store/apps/details?id=&referrer=utm_source%3Dgoogle%26utm_medium%3Demail%26utm_term%3D3208%26utm_content%3D47321%26utm_campaign%3D64856
but I am getting referral details for "utm_source : google-play" and for "utm_medium : organic" which is not correct.
I have also try to get referral data by broadcasting referral details from android studio's terminal like.
adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n / --es "referrer" "utm_source=google&utm_medium=linkedin&utm_term=3208&utm_content=37413&utm_campaign=invite"
and it works well.
So plz help me out.
Alex from Branch.io here:
Branch doesn't overwrite the INSTALL_REFERRER, so these incorrect utm_source and utm_medium values are not coming from our system. Sometimes the INSTALL_REFERRER is delayed — is it possible you might have been testing multiple links with different values set in rapid succession?
Side note: Branch does also use the INSTALL_REFERRER for other purposes, so you may want to review our docs on how to use it for both Branch and your own needs.
More generally though, Branch makes the INSTALL_REFERRER obsolete. The point of the INSTALL_REFERRER was to allow you to pass values through the install process, and storing UTM parameters there is a hack to give you some basic visibility into your acquisition channels. Branch allows you to do both of these things with far more power and precision, so you really shouldn't need to be using the INSTALL_REFERRER for this at all. Check out the Branch docs pages for storing link data and setting up the Google Analytics integration for more details.
Related
I want to have referral links to get the referral code with in the application (after installation) to provide credits based on the code for both Android and iOS.
I was able to explore these options:
1. Play Install Referrer API
Where the url would look something like: https://play.google.com/store/apps/details?id=com.example.myapp&referrer=utm_source%3Dstaff-referral%26utm_content%3713491235
Where I can get the content 713491235 using the Play Install Referrer API. However the problem here is this is very specific to Android and cannot work for iOS.
2. Firebase deep linking
Where the url would look something like: https://myapp.page.link/?link=https://mywebapp.com/713491235&apn=com.example.myapp
Where I can get the url https://mywebapp.com/713491235 using the Firebase deeplink api. This seems to solve for Android and iOS, but there isn't much information on how long the deeplink is alive, meaning
What happens if I install the app using deeplink but don't open the app for few days. Will it still be available when I open the app later.
What happens if I click on the link, but do not install then are there. Instead install it later by searching on playstore and installing. Will I still be able to get the link once the app is open?
Is there a way to combine both the Play Install Referrer API and Firebase deeplink? like - https://myapp.page.link/?link=https://mywebapp.com&apn=com.example.myapp&afl=https://play.google.com/store/apps/details?id=com.example.myapp&referrer=utm_source%3Dstaff-referral%26utm_content%3713491235 so that if the app is not installed on Android, we can use the Play Install Referrer API(which looks more reliable).
And I am not able to understand the purpose of Play Install Referrer Links, if they are not converted to universal links, because often we don't know which device the url will be used on. Sharing a link specific to playstore doesn't seem to help. What exactly is the usecase of Play Install Referrer?
Because in case of Play Install Referrer API they were clearly mentioning:
Caution: The install referrer information will be available for 90
days and won't change unless the application is reinstalled. To avoid
unnecessary API calls in your app, you should invoke the API only once
during the first execution after install.
I'll answer your questions one by one - I think Firebase Dynamic Links are the better choice for you, based on your requirements.
I couldn't find anything in the documentation for this, but it seems that the link will expire roughly 1 hour from install time (as said here and here).
Android and iOS integration methods are interestingly different in Firebase - if an new iOS user taps the link, it will copy the Dynamic Links URL to the clipboard and read it when the app is opened, whereas Android calls the intent handler for the URL, which in turn calls a Firebase function that extracts the link.
This means that an iOS link, until a user copies something else, should still work - which effectively means a short lifetime, as you can't rely on your users not copying something else. For Android, though, the intent handler is the link - if a user breaks the flow, it'll no longer work.
From a technical view, you could completely create a double-link - I'm not sure whether that would be needed, though, as I'm not sure on how the Play Install Referrer API works and I assume it will use a similar method with them both being developed by Google.
The main use case of the Play Install Referrer API is to track the effectiveness of ad campaigns on a mobile app - the data received from the API is similar to the UTM parameters at the end of a URL (e.g. utm_campaign, utm_source) that tell the website owner where the user comes from. They can be used in situations where the advert knows what your device OS is - for example, an advert inside another app.
I have Adjust sdk added to my app, and someone asked me to track with it all the app downloads from the Google UAC campaign. How should I achive that? On their sdk git documentation there is nothing about that.
https://docs.adjust.com/en/google-api/#what-google-adwords-data-does-adjust-report
I have received a label ("Google UAC Android") and a key ("keyvalue")
val adjustEvent = AdjustEvent("abc123")
adjustEvent.addPartnerParameter("Google UAC Android", "keyvalue")
Adjust.trackEvent(adjustEvent)
I am not suer if i need also a token or i just use the keyvalue instead of token and not add a parameter.
In order to do this with Adjust SDK, you simply need to configure it as stated in the READEM and set up session tracking properly in you app. This will cause SDK to automatically upon your app launch tracks installs. And not really sure how Google UAC campaigns tracking works. Install tracking in SDK is essential to be set up, but attributing those installs to Google UAC campaign either goes via install referrer content (so make sure to check chapter about setting up things for install referrer API to work with your app) or this is simply automagically handled behind the scenes because Google is SAN (self attributing network) which will claim your install which was tracked by Adjust when Adjust asks Google does it belong to them.
Cheers
I have ads for my application but some users who click the ads already have my app installed.
If I visit the store after my app is already installed and click "open", the app's code is unable to read the referrer information and instead I see this message in the logcat:
12-15 18:27:27.334 32092-32092/? D/Finsky﹕ [1] 1.run: Dropped referrer for com.xxx.test because already-installed
Is there any way to read the referrer information when the app is re-openend from the store and not on first run?
The way to get referrer information for ads that link to your app if it's already installed is to use deep universal links instead. Such links do not directly go to Play Store, but rather point to your server (e.g. https://www.nimo.com) which can redirect to Play Store. The trick is that your app will declare a handler for https://www.nimo.com and treat such links (with referral) locally.
A related question has been answered here.
Some commercial solutions provide this redirection service to you, e.g. Adjust.
What are the alternative ways for us to track downloads without installing the FB Android SDK (we prefer not using SDKs due to various reasons)? Ideally, we want to route the click to our tracking server prior to sending the user to the Play Store, but could settle with adding a referrer without routing the user to our tracking server. If the latter is an option, where in the setup do we specify the referrer value?
It would appear you could also use the Google Analytics SDK to capture the Intent containing referral data.
Essentially you'd create a BroadcastReceiver (AnalyticsReceiver/CampaignTrackingReceiver) that listens for the installation event and passes and Intent with referral data after install to the app.
Valuable information regarding this method can be seen in the links below:
How to test android referral tracking?
https://support.google.com/analytics/answer/3389142?hl=en
when providing a user on a mobile, a link to an android application via a web page, it is possible for params from the url to be passed to the app being installed.
I'm guessing the answer is no - but it doesn't help to ask.
The reasoning being that it would be handy for some situations to have a generic app that pulls config information from the referrer.
This is possible only for the use case of referral tracking, using the Analytics Tracking for Mobile Apps SDK. The documentation will have more details, but the basic steps are:
Create referral-tagged market deep link URLs using this tool.
Use these links on web sites that you want to track referrals from.
When a user downloads your app using the referral link, the referral info is stored.
Upon first run of your app, use the Analytics SDK to track a 'first-run event' using trackEvent. If your app was downloaded with referral info, this event (and all future event and pageview tracking) will be tagged with the referral info.
In Analytics, you'll be able to filter these events on campaign/referral info.
I think you can change a bit the scenario of the anlytics referral tracking to pass parameters to your app during installation if you need...
You have to declare a custom receiver for com.android.vending.INSTALL_REFERRER in the custom receiver parse the url from the market.
If you want the analytics to work as well, is better if you extend the com.google.android.apps.analytics.AnalyticsReceiver and call the super.onReceive
There are two parameters that are optional in the referral the campaign term and the campaign content so I will put there the information you want to pass
I worked a bit on this and I wrote a post where I explain even how to test it : http://www.dev-articles.com/article/Analytics-referral-tracking-for-Android-447001