At a glance: Attribute your apps in multiple Android stores and view the data in a single app dashboard or in an app dashboard per store.
Multi-store Android attribution
- AppsFlyer attributes apps, irrespective of the app store. Meaning Google Play store and third-party Android app stores like Amazon, Opera, GetJar, Baidu, and Huawei. (AKA out-of-market stores or alternate Android app stores.)
- App owners, who market the app via multiple stores can choose between a single dashboard having the data of all stores together or a dashboard per store.
- AppsFlyer Android attribution supports all device identifier types including GAID and OAID.
- For apps marketed in China see best practices for Android attribution in the Chinese domestic market.
Single dashboard vs. dashboard per store
|Dashboard per store|
Single dashboard having the data of all stores including Google Play Store
|Each store has its own dashboard. This means you have as many dashboards as stores providing the app|
|Android package name||Use the same (identical) package name irrespective of the option selected.|
|Channel name||Nothing to set||
|Populating the install_app_store field||
|Reporting options available having install_app_store field||
Cohort and raw data reports include the field. Reach out to your CSM to enable this field.
The workflow that follows lists the activities required to set up the desired option. The tasks are divided between the marketer and developer.
For the Dashboard-per-store option repeat the tasks for each store.
Before you begin:
- Decide on the naming convention for the channel and install_app_store parameters.
- Use the naming table that follows to map the channels and stores.
- The table is used by the developer to prepare the APKs.
|Dashboard per store|
|Android package name||The identical package name for all dashboard options||If the app is already in Google Play Store use the existing package name. Example: comb.abc.def|
|Channel name||A unique value for each store.||
Not set. Leave blank.
Unique for each store. Set the value in the individual APK prepared for the store and when adding the app in AppsFlyer.
Don't set a channel for the Google Play Store APK.
|Install app store AF_STORE||A unique value identifying the store||
Unique for each store. Set in the APK through the manifest. Each store has its own APK.
|Dashboard per store|
|1||Developer||APK preparation||APK preparation|
No action required. The assumption is that the app is already active in AppsFlyer.
|Add the app in AppsFlyer.|
Prepare attribution links with the app ID combined with the channel name. Do so via the integrated partners page in the usual manner.
|4||Developer and marketer|
Single dashboard—APK preparation
The Android package name determines which dashboard will contain the attribution data. In the single dashboard method, all stores have identical Android package names. There is no concept of a channel parameter here.
The identification of the download store is by way of the AF_STORE parameter set in the SDK, as described in this section. The AF_STORE parameter isn't case sensitive. For example, ABC, abc, Abc.
To prepare the APK:
- Create a copy of the App build. Note: Don't change the Android package name.
- To identify the individual store use one of the following methods:
Manifest method: Add the following within the <application> tag of the AndroidManfest.xml to identify the store. Set the AF_STORE parameter to the app store name.
<meta-data android:name="AF_STORE" android:value="enter_store_name_here">
API method: Prepare a separate APK for each alternative app store. Call the setOutOfStore API to set the AF_STORE value. Set a unique value for each store.
- Manifest method: Add the following within the <application> tag of the AndroidManfest.xml to identify the store. Set the AF_STORE parameter to the app store name.
The value set here appears in AppsFlyer raw data install_app_store field. This field is available in:
- Cohort dashboard
- Raw data reports (Raw data reports are an AppsFlyer premium feature)
Single dashboard—attribution links
- Go to Configuration > Integrated Partners and choose the ad network.
- In the Attribution Link tab, set the Out-of-store URL parameter. This populates the
af_rmacro on the attribution link to redirect users to the correct app store landing page. For example,
&af_r=http://www.destinationurl.comThe default URL is set in the App Settings page.
- Populate the af_r macro with the store landing page URL.
- Set additional attribution link parameters.
- Out-of-store media sources make use of ID matching for attribution and the AppsFlyer Probabilistic modeling serves as a fallback method.
- Add one or more user ID placeholders to the link URL:
- Copy the attribution link and give it to the ad network partner.
Dashboard per store—APK preparation
The Android package name combined with the channel parameter set in the manifest determines which store dashboard will contain the attribution data.
To prepare a separate APK/manifest for each store:
- Add the following within the <application> tag of the AndroidManfest.xml to identify the store. Set CHANNEL parameter to the app store name.
<application>Note: Parameters are case-sensitive.
< meta-data android:name="CHANNEL" android:value="enter_store_name_here">
Dashboard per store—adding the app
Add a dashboard (app) identified by the combination of the Android package name and channel set in the APK/manifest. Example: Android package name is com.myapp and the channel name is abcstore then the unique dashboard name is com.myapp—abcstore.
To add a dashboard per store in AppsFlyer:
- Go to, My apps, click Add app.
- Select Android > In 3rd-party store.
- Android package name: The package name is exactly as it displays in the app package.
- Channel name: Unique identifier (store name) to differentiate between dashboards having the same package name. Verify that you use the same value in the APK prepared for the store.
- Contains the default URL download address that populates the af_r macro in attribution links. Enter the URL where the APK is hosted or its landing page URL.
- You can change this per attribution link when you create them.
- If you leave this field blank, you won't be able to set the default page in the future.
- Click Next.
- Follow the instructions in the interface to complete adding the app.
Testing—both dashboard options
To test non-organic installs:
- Use an Android device that does not have your app installed or register the device.
- Generate a test attribution link using Custom Media Source Configuration. Use test as the Media source name ("&pid=test").
- Add an advertising ID being GAID, OAID, or Android ID to the click URL.
Send the attribution link to yourself via email and click on it. Once redirected, do not install from the store. Instead, install the updated beta version app with AppsFlyer attribution SDK embedded and launch it.
|Dashboard per store|
To test organic installs:
- Use an Android device that does not have your app installed or that is registered.
- Install the updated beta version app with AppsFlyer attribution SDK embedded and launch it.
- Check the results:
|Dashboard per store|
|Check the overview page for a new organic install (under the “organic” media source). At present, with the single app method, there is no indication as to the origin of organic installs.||
Migrating from Dashboard per store to single dashboard
- Prepare new APKs for the stores by using the single dashboard method instructions contained in this article.
Driving users to the Amazon app store from Facebook
- Configure a URL link to the app in your Facebook app settings, under the Android section.
- Log in to Facebook as the app admin, go to https://developers.facebook.com/apps/ and choose the app.
- Go to settings and find your Android settings, or if you have not already configured Android, add the platform.
- Fill out the required details, including the Amazon app store URL specific to your app.
- In the AppsFlyer dashboard, under Integrated Partners, select Facebook, and enter the same Facebook App ID you use when recording Facebook In-Store Mobile App Install Ads with AppsFlyer.
- When setting up Advert Sets on Facebook, choose “Amazon Appstore”.
Note: This screenshot is taken from the Facebook Power Editor, and may be presented differently in FMP platforms.
Getting the data - AppsFlyer reports
You can use the following reporting methods in AppsFlyer.
- Combine multiple dashboards (apps) in a single report
- View the performance of each dashboard by breaking it down by install_app_store
- Pull API (for single app method): Pull API installs raw data does not contain the Install App Store by default. To include the column add the following to the Pull API call:
- Custom dashboard (for multiple apps method): If you use the multi-dashboard approach, use the custom dashboard to combine performance data from several apps in one place.
Referrer implementation—third-party Android app stores
- Referrer attribution is supported in relation to Google Play and the third-party stores listed here.
- No other setting or configuration is required.
- Attribution by third-party store referrer is reflected in raw data reports as follows:
- Match type: the name of the third-party store attributed. For example, huawei_referrer.
- Contributor: If the user engaged with multiple app stores before installing the app, AppsFlyer considers these engagements as contributors. The install is awarded to the last-click engagement. Example:
- A user clicks on an ad served by Google and is redirected to the Play Store. The user doesn't download the app.
- The user clicks on another ad and is redirected to the Samsung Galaxy store. The user downloads and installs the app.
- Attribution is awarded to the ad network causing the user to be redirected to the Samsung Galaxy store; Google is recognized as a contributor.
|Third-party app store||Starting from||SDK version|
|Huawei App Store||July 2020||5.4.6+, 6.1.1 +|
|Samsung Galaxy Store||December 2020||6.1.1 +|
Installs attributed to the default app
If you create an app APK with a channel setting but don't create a dashboard for it in the AppsFlyer account: Installs are attributed to the default app, usually the Google Play Store app in your account. If there is no default app no data is recorded for the app.