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.
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.
We will be sending, via SMS, a link to some of our clients that links them to the Google Playstore or Appstore to download our app.
If the user already has our app installed, the link prompts a "Open with ABC app?" message when clicked.
We want to use a single link, meaning it should somehow automatically pick up device type. Meaning if the user doesn't have our app installed, it appropriately redirects them to the app or playstore.
Our devs are insisting that using a single link is impossible, just trying to make sure this is really the case as I don't recall a lot of apps sending 2 separate links to download from.
Our devs are insisting that using a single link is impossible
I think your devs are trying to avoid work :P
https://firebase.google.com/docs/dynamic-links
What I am trying to achieve is the following:
1. Get the referrer details when the app was installed.
2. Do I get the details of the referer if the user never opened the app?
This is what I want to do with the app:
Put the APK on mydomain.com. When I buying traffic to send to the app I will send it to mydomain.com?referrer=123.
Add the APK to Google Play.
When users will (hopefully) install the app, I would like to know more about how they go there. i.e. Referrer.
In Google Play it is INSTALL_REFERRER (https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-implement) and on mydomain.com I suppose it will be utilising it like so: http://developer.android.com/training/app-indexing/deep-linking.html#adding-filters.
FB on the other hand said that intentAndroid is deprecated and to use Linking instead.
How do I go about that?
Thank you!
I am adding an install referrer to a Play Store link.
If that link is launched from an Android device then I get the referrer data and everything works well.
But, when using the same link from desktop and choosing Web to Device installation to an Android device, the referrer value is not passed at all.
Is that the expected behavior? If so, Is there any other way to pass a parameter through an Web to Device install?
***** EDIT *****
Ok, it seems like this is the normal behavior according to Google Analytics Docs.
Google Play Campaign Measurement does not currently support web-to-device installs initiated from the web Play Store.
So my updated question is:
Is there any other way or a workaround to make it happen?
One workaround I've seen used is sending the link via SMS. On the desktop, the website visitor sees a "Text Me The App" form where they can enter their phone number and click "Send Link". They receive a link on their phone and open it there.
The link could be an intermediary page that redirects the user either to Google Play or to the iOS app store. So the same link can work on both platforms.
There are of course caveats with this approach: SMS sending fees, infrastructure needed for processing the submitted form data, privacy concerns (user is entering their phone number. Have fun doing this in EU :-) ). User's device needs to have a phone number so it can receive messages.
One commercial offering I've found that does this is https://docs.branch.io/pages/web/text-me-the-app/
Facebook ads has a feature that it can knows how many apps are installed from advertising in facebook https://developers.facebook.com/docs/ads-for-apps/mobile-app-ads#advanced
I know google provide referrer/campaign feature to detect which campaigns, websites, and other apps are referring users to Google Play Store to download my app https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#overview . But when I see facebook sdk(android) source code, it doesn't use google campaign mesurement, so which technique it use to measure app installs? And can My app knows if it is installed from advertising in facebook or not(with google campaign, my app can catch the intent after installing and get referrer information to know utm_source)
I did a research on this back in Q4/2015 and have found no way to manually track Facebook install ads in Google Analytics, because Facebook overrides the referrer field, which you'd read from INSTALL_REFERRER intent.
The only official info on this I was able to find is this question on FB help page
We do not support install tracking for web apps not hosted on facebook.com, but you could try using URL tags in order to track specific landing destinations within your app through a third-party analytics platform. Learn more here: https://www.facebook.com/business/help/1016122818401732/?ref=u2u
As an alternative, you can register your app with the Facebook SDK and measure your app installations that way. You can find out how to do that in this developer's guide: https://developers.facebook.com/docs/app-ads/measuring/?ref=u2u
As stated in the first paragraph, there are Facebook's measaurement partners, offering solutions for automating the measurement and pairing the data with your campaigns.
These partners have exclusive access to FB data and are able to track your installs (and generally any in-app activity) from ads.
In theory, if you're the app developer, you can try filling some arbitrary data (not UTM tags) into your ads' url_tags and check if it gets propagated to your app upon install (or deeplinking). If you're able to read the data in the app, you should be able to manually track the event in Google Analytics. But to use this in practice would mean tagging each ad with some unique value and then pairing it with app event. Which is basically what measurement partners do, but way more difficult, because you don't have the data they have.
Facebook analytic provide that type to show how munch your application install that for use this link and follow steps..
here you have to must register your application on facebook devloper and impliment facebook sdk on your application.
For install check set below code on onResume method with particulate Activity class.
#Override
protected void onResume() {
super.onResume();
//For event in update your app install count..
AppEventsLogger.activateApp(this);
}
Facebook event page in you can get count after some time on app installation.
follow below screenshot