As a mobile apps marketer, you plan to start working with a new ad network. You set up your account with the new ad network, but now you MUST take care of tracking the ad network's installs and post-install events. In the bad old days, this would have required weeks of development and testing time. Back then, you would have to integrate the network's SDK into your own app's code to be able to track its installs and in-app events.
Today, using AppsFlyer's SDK and dashboard you can set mobile traffic tracking with any of AppsFlyer's 4000+ integrated partners in mere minutes!
This guide brings the ins and outs of setting up mobile tracking of these integrated partners for your apps.
To see the full list of integrated partners, click here.
To setup the integration tab, click here.
As of March 2019, for both advertisers and agencies, every partner integration requires an initial manual activation. Partner integrations, which produced conversions during Dec 2018 - Feb 2019, are automatically enabled. For more info, click here.
Integrated Partners List
Enter the Integrated Partners list by clicking the first link under Configuration on the left bar:
Here you can:
- See and select any of the visible partners on the list
- Free search any partner using the search box on the top
- Refine your searches by filtering the integrated partners type/s
Integrated Partners Types
- Most of AppsFlyer's integrated partners aim at getting quality users for mobile marketers. Integrated partners types considered as media sources are Ad networks, affiliate networks, direct publishers, programmatic advertising and China domestic ad networks
- Use their expertise to get high quality users from other ad networks
- Marketing Partners
- Similar to agencies, marketing partners excel in working with specific ad networks, and include Facebook marketing partners, Apple Search Ads marketing partners and Twitter official ads partners
- Retargeting Networks
- Ad networks specializing in running retargeting campaigns
- 3rd Party Platforms
- Integrated platforms, which are used for BI related purposes, including Analytics or Marketing automation platforms
- TV Attribution
- Partners enabling more accurate attribution of new installs to aired TV ads
- Fraud Detection
- External 3rd party anti-fraud systems, which are external to AppsFlyer's Protect360 anti-fraud solution
You can check the box/es of integrated partners types to filter results of only these types. Press Clear All to clear all previous selections and see all types of integrated partners in the list.
Active Partners Filter
You can view only your active configurations in the Integrated Partners list by checking the Filter By Partner Status box. An active configuration is an integrated partner, which is either enabled for attribution, or that had at least a single tracking link click in the last 7 days.
Available Tabs per Partner Type
When you select and click an integrated partner box, its setup window opens on the first tab that is available for the partner. There are up to 5 available setup tabs per partner, according to the partner type:
|Partner Type||Integration Tab||Tracking Link Tab||Cost Tab||Ad Revenue Tab||Permissions Tab||Notes|
|Media sources||Y||Y||Y||Y||Y||Including Ad networks, affiliate networks, direct publishers, programmatic advertising, China domestic ad networks, and Retargeting Networks.
For SRNs the tracking link tab is empty
|Agencies||N||N||N||N||Y||Stand-alone agencies that don't function as ad networks|
|3rd Party||Y||N||N||N||N||Analytics or Marketing automation platforms|
The very first thing you need to start working with any integrated partner, is to activate it.
On the Integration tab, set the Activate Partner toggle to ON to:
- Enable setup of the integration tab's parameters
- Allow for installs and events to be attributed to the partner
- Permit the partner to receive postbacks
The Activate Partner toggle must not be used in order to pause or turn off campaign tracking!
Toggling off the button disables the partner integration and may cause irreversible damage to your active campaigns.
For more details, FAQs and use cases about partner activation please click here.
Partner Setup Tabs
Follow the general steps below to setup tracking with the partner.
Regardless of the partner setup tab you are in, the Partner header is always present at the top of the page. It enables you to:
- Verify you're at the correct partner's setup page
- Request AppsFlyer to help you connect with the partner's representatives
- Learn about the specific partner's setup instructions, if there are any
Partner Tab Footer
The Partner tab footer is always at the bottom of the partner setup window. It enables you to:
- Back to list - Return to the Integrated Partners list with your previous active filtering
- Status message - current status of the tab's data (e.g., saving, saved , error, there are unsaved changes)
- Discard Changes - Undo the last changes without saving
- Save - save the last setup changes of the current tab only
The Integration Tab is divided into different sections. Note that partner integrations differ in their requirements and usually contain a sub-set of all possible sections described below.
This section is used for connecting the partner with AppsFlyer. Relevant messages for the advertiser regarding the specific partner also appear here.
See Partner Activation paragraph above for details.
Some partners require connecting with AppsFlyer via a unique ID given to the advertiser by the partner. This ID may be called app ID, account ID, user ID, network ID etc.
Enable View-Through attribution
Toggle this to ON if you wish to attribute view-through installs from the partner.
For SRNs this displays the view-through lookback window slider on this tab.
For non-SRNs this slider is available on the tracking link tab (described below), even if it's not enabled. However, in this case AppsFlyer disregards any set value on the view-through slider.
If attribution/integration is enabled for the partner, AppsFlyer can send automatic postbacks to it following user installs, launches, re-engagements and rejected installs. Use this section to define the source of the users that postbacks are sent for.
Select the event source "Only events attributed to this partner" for partner attributed users only. Select "Events attributed to any partner or organic" to have your entire user base available to be reported to the partner.
In-App Events Settings
In this section you can map your AppsFlyer events with the partner via postbacks.
- Set the Partner ID again here, if required
- Toggle In-App Event Postbacks to ON
- Select the Sending Option for all SDK defined events.
- Only events attributed to this partner for events coming only from users attributed to this partner
- Events attributed to any partner or organic to have your entire user base available to be reported to the partner
- Click Add Event to add an SDK Event to the list
- Fill in the following parameters:
|SDK Event Name||The name of the event, as received by AppsFlyer either from the SDK integrated in your app, or from server to server events.
Tip - don't see the event you want in the list? Make sure to activate the event on a device with a non-organic installation and recheck.
|Partner Event Identifier||The unique name or ID of each event as defined on the partner's side. There are several options here:
Text field - get the corresponding event ID from the partner.
Drop down box - select the most suitable pre-defined event for your event. Some integrations have the CUSTOM value, which enables sending your SDK event as is to the partner.
|Send Revenue||When unchecked - AppsFlyer only sends the event itself without the event value.
When checked - AppsFlyer sends all the parameters including the revenue value (if exists in the event).
The SDK event name can either be selected or typed in.
Typed values are permitted to have white spaces before or after the name of the event, in which case they are underlined. Type in spaces ONLY if the event name is being sent from the SDK with the same spaces.
If the In-App Events Postback section doesn't exist in the Integration tab, it means that the partner has not yet set up in-app event tracking with AppsFlyer in its preliminary configuration. The partner can contact AppsFlyer's Partners team to finish the integration.
- To prevent advertisers from sharing too much information with 3rd party Analytics platforms unintentionally, we have removed the Send all events option for Analytics platforms, as of March 2019. Analytic platforms configured prior to this still retain this setup option.
Tracking Link Tab
Note that AppsFlyer DOES NOT save your generated partner's tracking links.
For all SRNs, such as Facebook, Apple search ads, Google Ads, Snapchat etc. this tab is not functional, as they are not using external tracking links.
Tracking Link Parameters
This tab is divided into different sections:
In this section, select which parameters you want to add to the tracking link.
Adding parameters to the tracking link here enables you to later perform thorough drill-down analyses. Parameters that are already defined on the tracking link can be edited by adding them and their new values here.
- Campaign - add it to compare different campaigns running with the media source.
Tracking link parameter: c
- Adset - set ad set names to compare different ad sets within specific campaigns of the media source.
Tracking link parameter: af_adset
- Ad Name - set ad names to compare different creatives within specific ad sets within specific campaigns of the media source.
Tracking link parameter: af_ad
- Site ID and Sub Site ID - set Site ID parameter to attribute installs to specific publishers. If there are many publishers, we advise on limiting the number of used site IDs and using the sub site ID parameter, to avoid exceeding the site ID limitations.
Tracking link parameters: af_siteid and af_sub_siteid
- Subscriber Parameters - use any of the 5 subscriber parameters to insert useful values. Note that these parameters get parsed and appear in the raw data report, which makes them very handy for performing data aggregation or filtering.
Tracking link parameters: af_sub1, af_sub2, af_sub3, af_sub4, af_sub5
You can add any other parameter to the tracking link simply by typing it in a new parameter box. You can find all AppsFlyer available URL parameters here: AppsFlyer's Tracking Link Structure and Parameters
When enabled, AppsFlyer recognizes a link as a retargeting tracking link, rather than a user acquisition link, by adding the
&is_retargeting=true to the click tracking link. Note that retargeting is currently only supported for click-through and not view-through attribution.
Tracking link parameter: is_retargeting
The following setup below is displayed when retargeting is enabled.
Standard Link vs. OneLink
Select standard tracking link option if:
- You don't need to deep link with the URL or
- Plan to use only URI schemes for deep linking
Select Use OneLink for:
- Using a single link for both Android and iOS apps or
- Deep linking using Universal or app links
Note that selecting OneLink changes the click tracking link from app specific to a OneLink URL.
Deep Link URL
Use this field if the link is meant to deep link users to any specific activity within your app.
Tracking link parameter: af_dp
You can find more information about AppsFlyer's deep linking solution in this guide.
Set the time period following the re-engagement, where the user's in-app events are attributed to the retargeting media source. You can set the value in days (1-90), hours (up to 23), or even lifetime.
Tracking link parameter: af_reengagement_window
This slider allows you to set the maximum time from click to install. Only installs (first launches) that take place within the lookback window may be attributed to the partner.
Tracking link parameter: af_click_lookback
More details about the click lookback window here.
Click Tracking Link
This is the tracking link that contains all the setup information you have set for it.
As AppsFlyer doesn't save partner's tracking links, copy the generated link and send it to the partner to be activated when your leads click on a corresponding ad.
View-Through Attribution Lookback Window
This slider allows you to set the maximum time from impression to install. Only installs (first launches) that take place within this lookback window, following an ad impression, are attributed to the partner, providing there was no other relevant ad click.
You can customize this value to 1-23 hours or 1-7 days.
Tracking link parameter: af_viewthrough_lookback
More details about the view-through attribution here.
Impressions Tracking Link
The impression tracking link contains similar attribution data to the click tracking link (besides the different lookback window). Send it to the partner to be activated when a corresponding ad is watched, usually for 1 second or more.
The cost tab allows you to enrich your attribution data with your ad spend costs from the partner, if supported by the partner.
Getting the cost data also gets you the clicks and impressions data, with some partners.
Getting Cost Data
Networks, that support cost data, either provide a special API or have the install cost data on the click URL.
While click networks supply the cost data automatically, API networks require some setup, as the example below demonstrates:
Toggle ON the Get Cost Data button to display the partner's required setup for cost data. Follow the specific instructions on the partner's cost section.
For example, in the capture above the partner requires setting up information about the user's unique API key with the partner.
For the full list of partners supporting cost data go here.
In some cases cost data is automatically included by the partner with every tracking link. In these cases a message is displayed as in the example below:
For the full list of partners supporting cost data go here.
Cost Data Sync Status
The cost tab shows the status of your cost integration and the last time AppsFlyer managed to pull matching cost data. This is relevant for networks that support getting cost data via API.
The table below describes five different status messages, and what to do if you see them in the cost tab.
|Status Message||Description||What to Do|
|Partner API is responding and returning data.||
With sync message:
Cost Data was never successfully pulled
One of the following is possible:
No Matching Data
AppsFlyer queries this app's active campaigns with the Partner API, but the partner API isn't returning any data for these campaigns.
This might happen if you change the campaign ID while it is still running.
If you rely on cost data, do not change the IDs of campaigns while they are still active and running.
Also, make sure you entered the API credentials for the correct app, and that the network is passing the correct campaign IDs on the tracking link.
Partner API is not responding
The ad network cost data API is either down or experiencing issues.
Wait for the network API to become responsive.
|Cost API credentials are incorrect. AppsFlyer in unable to pull cost data.||
Make sure that the cost API key is correct.
Last Successful Data Pull
The cost tab shows the last time cost data has been pulled yet. If cost data has never been pulled, the sync message shows Cost Data was never successfully pulled.
Scenario 1 - Stopped Campaigns
AppsFlyer pulls cost for several campaigns that you run with ad network A. You look in the cost tab and you see the message Last successful sync 2 hours ago. The same day you stop running campaigns with ad network A. Two weeks later, you look in the cost tab of ad network A. You then see the message Last successful sync 14 days ago.
Scenario 2 - Ad Network API Issues
AppsFlyer pulls cost for several campaigns that you run with ad network B. You look in the cost tab and you see the message Last successful sync 2 hours ago. Ad network B then experiences issues with their API. It takes them a few hours to fix it. When you look in the cost tab you see the message Last successful sync 8 hours ago.
OAuth networks (Google, Facebook) allow you to sync several accounts for pulling cost data. For each synced account, AppsFlyer shows the status of cost integration and the last time AppsFlyer managed to pull matching cost data.
Ad Revenue Tab
This section is relevant only if you are acting as a publisher, displaying ads of the partner to your users. As such, you would certainly like to measure the engagement of your users acquired from different sources, to find the most profitable sources for you.
Set the Get Ad Revenue Data toggle to display the partner's required setup for revenue data. Follow the specific instructions on the partner's ad revenue section. For example, in the capture below the partner requires a simple login to its system.
To learn more about ad revenue (AKA Ad monetization) tracking go here.
In this tab, you can select the permissions to grant to the partner, whether the partner acts as an ad network, agency or even both. Note that even if attribution is disabled for the partner, the permissions tab is active and you can grant control to the partner.
In case you're working with the partner as an agency only disregard the Ad Network Permissions section and go straight to the Agency Permissions section.
Ad Network Permissions
Toggle on Ad Network Permissions to configure the ad network permissions.
Grant Permissions to Ad Network Team Members
Before you can grant permissions to ad networks, you need to give its members access to manage your app. The ad network admin has access by default.
- Click Add team member
- Enter the email of the ad network team member
- Click Add
- Repeat the process to add more team members if you need to
Once you give access to ad network team members, decide what permissions you want to grant them.
Use these toggles to give the ad network permissions to handle its own configuration for your app:
- Allow to configure integration - permit the partner to setup the integration tab (except in-app event postbacks)
- Allow to configure in-app event postbacks - permit the partner to setup in-app event postbacks mapping to itself on the integration tab
- Allow access to your retention report - only to the partner's own retention data
- Allow access to your Protect360 dashboard - only to the partner's own Protect360 data, and providing the feature is enabled for the advertiser
Learn more about granting ad network permissions.
Use these toggles with agency partners to give them permissions to handle their own configuration for your app:
- Main toggle - Setting this to ON:
1. Reveals the agency permissions options
2. Enables the agency to get attributed with installs for the app
3. Enables the agency to see Facebook and Twitter promoted data
Warning - Agency installs occurring while the toggle is OFF are not attributed to the agency and don't show up on the agency's dashboard and data(more details).
- Allow access to your retention report - retention data created by the users brought by the agency only(more details).
- Allow access to aggregate organic data
- Allow to configure in-app event postbacks - permit the agency to setup in-app event postbacks mapping to itself on the integration tab
- Events Sharing Permissions - select your preferred option here:
a) Only events attributed to this partner - send only events from agency's own brought traffic to the app
b) Events attributed to any partner or organic - send events from all sources of your traffic, including other media sources, agencies and organic users.
Learn more about working with agencies.
Why Test Integrated Partners?
AppsFlyer's dashboard enables you to easily start tracking campaigns with thousands of partners, which have integrated with AppsFlyer's systems.
Nevertheless, we highly recommend testing any new partner you start working with, prior to increasing your campaign budgets.
Mistakes are most likely to occur during setup. Testing in advance avoids the risk of spending considerable resources, only to discover your attribution data is missing or erroneous.
Make sure to first test your app's basic SDK integration for organic and non-organic installs.
Testing Tracking Links
Regular ad networks, which make up 99.5% of all integrated ad networks, rely on AppsFlyer's tracking links for attribution purposes. The same goes for owned media tracking, which is performed by using AppsFlyer's custom tracking links.
Since correct attribution depends on the parameters on their tracking links, it is a good idea to perform tests before you start any new campaign with a regular ad networks or a custom tracking link.
After you finish creating a tracking link for a new partner or campaign:
- Send the new tracking link to your whitelisted test device (via email or QR code)
- Click on the link - make sure you are redirected to the app store
- Install the app
- Launch the app
- Check if the install appears on the dashboard under the partner's media source name
- Drill down to the campaign level (by selecting the partner in the Media source filter on the top of the overview page) to check the install appears under the correct campaign name
- If necessary, continue to drill down and check the ad set and single ad levels too
Testing Self-Reporting Networks
SRNs, including Facebook, Apple Search Ads, Google Ads, Snapchat etc., do not rely on using external tracking links for attribution purposes. Instead, SRNs receive queries from AppsFlyer, attribute themselves and return the answer.
Therefore, with SRNs it is impossible to test the integration separately from the network's system as with regular ad networks.
However, it is very important to test your integration with any new SRN you start working with.
How is this carried out?
- Perform the full SRN setup on AppsFlyer
- If necessary, consult the specific partner's setup guide, e.g., Facebook, Google Ads, Twitter, Apple Search Ads, Snapchat etc.
- Run a new low-budget campaign with the SRN partner
- When the partner's dashboard shows new installs check if they appear on AppsFlyer's dashboard under the partner's media source name
- Drill down to the campaign level (by selecting the partner in the Media Source Filter at the top of the Overview page) to check the install appears under the correct campaign name
- If necessary, continue to drill down and check the ad set and single ad levels too
If all is well you can start running new high-budget campaigns with the partner. Also, there's no need to repeat this test with new campaigns.
Advanced Testing with Raw Data
Raw data is where you may find the hidden gems of your marketing efforts. Therefore, if your AppsFlyer account includes access to raw data, it should also take a part in your partner tests:
- After performing the test mentioned above go to the Export Data page
- Make sure the tested media source is selected
- Allow up to 15 minutes from the install and then download the Raw Data Installation Report
- Check the install records from the partner exist and include parameters such as the media source, campaign name, touch time and type, device ID (IDFA or Advertising ID), agency name (called "Partner" in the report) etc.