At a glance: Connect AppsFlyer to your integrated partners enabling attribution recording and postbacks.
Partner types in the ecosystem
|Agencies||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|
|Third-party platforms||Integrated platforms, 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 third-party anti-fraud systems not part of the AppsFlyer Protect360 anti-fraud solution|
When you first begin to work with an integrated partner, set-up an account with the partner, then configure the partner in AppsFlyer. Doing so enables you to attribute ad network installs and to record post-install events.
See AppsFlyer Performance Index ranking the best mobile media sources by category and region.
To view and search for integrated partners: In AppsFlyer, go to Configuration > Integrated Partners.
|Text search||Enter text to search for a partner|
Most integrated partners aim at getting quality users for mobile marketers. Integrated partner types considered as media sources are ad networks, affiliate networks, direct publishers, programmatic advertising, and China domestic ad networks.
- The tabs available for each integrated partner depend on the partner type as shown in the table below.
- After selecting an integrated partner, its setup page opens, and the first relevant tab displays.
Partner setup page header
|Main tabs available|
Additional tabs available: Cost, ad revenue, attribution link
Includes ad networks, affiliate networks, direct publishers, programmatic advertising, China domestic ad networks, and retargeting Networks.
|Agency||N||Y||Stand-alone agencies that don't function as ad networks|
|Third-party||Y||N||Analytics or marketing automation platforms|
Partner setup tabs
To setup attribution with a partner, follow the steps below according to each tab.
Partner integrations differ in their requirements and usually contain a sub-set of all possible sections. Complete the sections listed as required.
|General settings||This section is used for connecting the partner with AppsFlyer.|
To activate an integrated partner:
|Partner ID||Some partners require connecting with AppsFlyer via a unique ID given to the advertiser by the partner. The ID is often referred to as app ID, account ID, user ID, or network ID.|
|Enable View-Through attribution||
If attribution/integration is enabled for the partner, AppsFlyer is able to send postbacks relating to user actions like installs, launches, re-engagements, and rejected events.
Rejected events are in-app events blocked by Protect360 or events found to be non-compliant by target validation. In the case of rejected events, confirm with the partner that they have enabled reject event integration with AppsFlyer.
To configure default postbacks for the partner, you need to define the source of the users that postbacks are sent for:
Permitted agencies can only select the Only events attributed to this partner option for default postbacks.
In-app event settings and In-app event postbacks
In this section, you map AppsFlyer events with the partner via postbacks. If postback sending is enabled, this includes rejected in-app events (events blocked by Protect360 or events found to be non-compliant by target validation rules).
To configure in-app events postbacks:
For more information about in-app event postbacks configuration, go here.
Attribution link tab
In this tab you can create attribution links for your app, to share with the partner. Send the attribution link over to the partner to attribute specific campaigns, ad sets or even single ads.
- For all SRNs, such as Facebook, Apple search ads, Google Ads, Snapchat etc. this tab is not functional, as they are not using external attribution links.
- AppsFlyer doesn't save your generated partner's attribution links.
Attribution link parameters
Adding parameters to the attribution link enables you to later perform thorough drill-down analyses. Parameters that are already defined on the attribution link can be edited by adding them and their new values here.
Select which parameters you want to add to the attribution link.
|Name||Description||Attribution link parameter|
|Campaign||Compare different campaigns running with the media source.||c|
|Adset||Compare different ad sets within specific campaigns of the media source.||af_adset|
|Ad Name||Compare different creatives within specific ad sets within specific campaigns of the media source.||af_ad|
|Site ID and Sub Site ID||Set Site ID 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.||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.||af_sub1, af_sub2, af_sub3, af_sub4, af_sub5|
You can add any other parameter to the attribution link by typing it in a new parameter box. You can use all AppsFlyer available URL parameters.
When enabled, AppsFlyer recognizes a link as a retargeting attribution link, rather than a user acquisition link, by adding the
&is_retargeting=true to the attribution link.
Attribution link parameter: is_retargeting
The following setup below is displayed when retargeting is enabled.
Standard Link vs. OneLink
Select standard attribution 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 recording 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.
Attribution link parameter: af_dp
Learn more about deep linking solutions.
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.
Attribution 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.
You can customize this value to 1-23 hours or 1-30 days.
Attribution link parameter: af_click_lookback
Learn more about click lookback window.
Click attribution link
This is the attribution link that contains all the setup information you have set for it.
As AppsFlyer doesn't save partner's attribution 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.
Attribution link parameter: af_viewthrough_lookback
Learn mores about view-through attribution.
Impressions attribution link
The impression attribution link contains similar attribution data to the click recording 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.
- Cost data is reported by integrated partners on the click or by Cost API.
- The best practice is to implement Cost API.
- Cost API includes clicks and impressions reports.
Enabling cost data by API
To enable the cost API:
- In the integrated partner Cost tab, enable Get Cost Data.
The credentials required to connect to the partner display.
- Get the required credentials from the partner dashboard or as directed in the AppsFlyer user interface.
- Complete the credential fields.
- If the partner cost configuration has Site ID mapping, select the desired site ID configuration from the dropdown.
- Click Save Cost.
- Click Test Connection.
- If the message:
- API connection verified displays, you have successfully completed the procedure. API is active. AppsFlyer collects data from the partner 6 times a day, on average once every four hours.
- Invalid Credentials displays, check the credentials and repeat the procedure.
- Something went wrong displays, try again later.
Site ID mapping
When reporting cost data, some partner integrations allow you to select how the site ID field populates. This means you can configure the site ID so that it matches the AppsFlyer site ID macros as they are in the attribution link.
- By default, site ID mapping is aligned with the AppsFlyer macros in the attribution link.
- If the attribution link you use has different macros than the site ID mapping options, site ID data will not populate correctly.
To select a site ID configuration method:
- In the integrated partner Cost tab, go to Site ID mapping, and select a configuration from the dropdown menu.
- Click Save Cost.
The change will take effect from the next day UTC. For example, if site ID mapping occurs on Monday, it will be reflected in data from Tuesday UTC.
Cost data sync status
The cost tab shows the status of your cost integration and the last time AppsFlyer pulled matching cost data. This is relevant for networks that support getting cost data via API.
Last successful data pull
The cost tab shows the last time cost data has been pulled. 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. In the Cost tab, the message Last successful sync 2 hours ago is displayed in the same day you stop running campaigns with ad network A. Two weeks later, the Cost tab displays 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. The Cost tab displays 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
If you act as a publisher displaying ads in your app, the ad revenue function enables you to attributes ad revenue to the media source that brought the user. Learn more about ad revenue attribution.
Enable ad revenue attribution
- Check to see which method, aggregate or user-level attribution, the partner supports.
- Follow the appropriate method in the ad revenue integration guide.
Ad revenue API status messages
|Active||The connection is live and pulling data.|
|No data found to pull.||The connection was successful. The partner did not have any data related to this app.|
|Partner API not responding. Contact AppsFlyer support.||The partner's server is not responding to AppsFlyer.|
|Invalid credentials. Enter updated credentials.|
|Something went wrong. Contact AppsFlyer support.||There is a technical problem. Contact AppsFlyer support.|
|Partner data not yet ready. If the problem persists, contact AppsFlyer support.|
|Data is being processed and will be available soon.||We are currently processing the data received from the partner. The data will be available in the dashboards and reports.|
|Data was never successfully pulled||If this status persists for a further hour contact AppsFlyer support.|
- Enable the partner to perform various actions and to access your data according to the available permissions.
- You don't have to have attribution integration enabled with a partner to grant them permissions.
- Ad network set up by an agency: When partner setup is performed by an agency, the advertiser can't view either the ad network activation status nor the permissions granted.
- If your relationship with the partner is agency only, disregard the Ad Network Permissions section and set the Agency Permissions section.
Ad network permissions
To grant permissions to an ad network:
- Enable Ad Network Permissions.
- The app appears on the ad network's dashboard.
- Permissions are granted only to the specified ad network.
- The ad network admin can see basic data about the app.
- Grant permissions to ad network team members:
- [Default] The ad network admin has access to your app by default.
- To grant specific team members permissions, you need to add them using their email addresses.
To add a team member:
- Click Add team member.
- Enter the email of the ad network team member.
- Click Add.
- Select additional permissions to grant to the ad network:
Capability granted. The partner can ...
Allow to configure integration
Change integration parameters
In-app event postbacks
- Create, define, and change postbacks settings.
- Caution! When this permission and Allow to configure integration are enabled simultaneously: the ad network has access to all attribution events. This includes organic traffic and non-organic traffic from all media sources.
Allow access to your retention report
Access the app retention report.
They will see only data that relates to their sessions.
Allow access to your aggregate loyal users data
Access their own loyal users metric.
Allow access to your aggregate in-app events data
- Access to in-app event data (the partner has access to all in-app events data, not only to the events mapped in the postback configuration).
- Access ad monetization data which may include ad monetization events from other media sources.
Allow access to your aggregate revenue data
- Access in-app and ad revenue data attributed to users brought by the ad network. Note: This permission does not directly identify the ad revenue partner. However, if you have set the monetization event name to include the partner name, you may inadvertently disclose the identity of the monetization network.
Allow spend ingestion
- Access the Ad Spend Ingestion window.
- The Ad Spend Ingestion window displays only the apps they have permission for.
- Send ad spend files for ingestion.
Allow access to your Protect360 dashboard & raw data via API
- Access their Protect360 and raw data.
- Protect360 needs to be enabled in the app.
- When you grant permission to agencies, they can grant permission to manage your apps to the ad networks they work with. It’s the same as granting permissions to ad networks.
- If you work with an ad network, and your agency also works with this ad network, both of you can edit the ad network team members permission to view the app’s dashboard.
- If you see new ad network team members or missing team members that you didn’t add or remove, it’s possible that your agency added or removed them.
- Caution: Agency installs occurring while the control is disabled are not attributed to the agency and don't show up on the agency's dashboard and data. Learn more about agency activation.
To grant permissions to an agency:
- Enable Agency permissions.
- Select the permissions to grant to the agency:
Permission Capability granted. The agency can... Allow access to your Protect360 dashboard
- The agency can access your Protect360 dashboard.
- Protect360 needs to be enabled in the app.
Allow access to your retention and cohort reports Retention/cohort data created by the users brought by the agency only. Allow access to aggregate organic data. Allow access to raw-data reports.
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:
- This partner only: send only events from the agency's own brought traffic to the app.
- All media sources, including organic: send events from all sources of your traffic, including other media sources, agencies, and organic users.
- Allow to send event revenue: Enable to permit the agency to send events including their monetary value.
- SDK Event Name: Click Add event and pick the event from the drop-down menu.
Make sure to select specific events you want to grant the agency permission to.
Learn more about working with agencies.
Partner setup page footer
- Back to list - return to the Integrated Partners list using the filtering options selected previously.
- Status message - current status of the tab 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.
- Before running campaigns with a newly added partner, test the integration.
- 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 the app for basic SDK integration for organic and non-organic installs.
Test attribution links
Regular ad networks, which consist of 99.5% of all integrated ad networks, use AppsFlyer attribution links. Similarly for owned media attribution, which is performed by using AppsFlyer custom attribution links.
Since correct attribution depends on the parameters on their attribution links, perform tests before you start any new campaign with a regular ad network or a custom attribution link.
To test attribution links:
- Create an attribution link.
- Send the new attribution link to your registered 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 AppsFlyer 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.
Test self-reporting networks
SRNs such as Facebook, Apple Search Ads, Google Ads, Snapchat, etc., do not rely on external attribution links for attribution purposes. Instead, SRNs receive queries from AppsFlyer, attribute themselves, and return the answer. Therefore, it is not feasible to test the integration separately from the network's system as with regular ad networks. You must test integration with every additional SRN you start working with.
To test SRN integration:
- Perform the full SRN setup on AppsFlyer according to the specific partner's setup guide: Facebook, Google Ads, Twitter, Apple Search Ads, Snapchat.
- 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 adset 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.