At a glance: Learn about self-reporting networks (SRNs)—attribution, deep linking, iOS implications, and FAQ.
SRNs integrated with AppsFlyer
|Apple Search Ads|
|Google Marketing Platform|
|Tencent Social Ads|
|TikTok for Business|
|Yahoo (Oath: Ad Platforms / Yahoo Gemini)|
|Yahoo! Search Ads|
Note: SRNs have user-level data use and retention restrictions.
Unlike non-SRNs (ad networks), which use attribution links to report events to AppsFlyer, SRNs self-attribute using the device ID when notified of an install by AppsFlyer.
AppsFlyer attribution for both SRNs and non-SRNs is based on:
- Last-touch and multi-touch methodologies.
- AppsFlyer standard attribution logic to sequence the relevant impression and click data.
How does attribution work with SRNs?
SRNs report events, such as new installs and in-app events, to AppsFlyer in the following way:
- Using APIs to communicate with attribution and measurement providers.
- When third-party attribution providers detect an install, they query the network using the advertising ID.
- Reporting details of any relevant ad clicks or impressions.
After AppsFlyer performs the attribution, in-app postbacks are sent to the SRN for the duration of the partner data retention period.
How does attribution work with advanced—SRNs?
Advanced SRNs attribute the same way as SRNs. However, advanced SRNs can also attribute engagements when there’s no device ID (IDFA)—using the Aggregated Advanced Privacy framework.
Potential app users see and interact with multiple ads before they install an app. In general, attribution providers offer advertisers last-touch attribution—this attributes an install to the last click made before the actual install.
When an app is first launched:
- AppsFlyer checks that:
- The app is set to receive traffic from SRNs.
- The user has an advertising ID.
- If both conditions are true, AppsFlyer queries SRNs using the advertising ID.
- AppsFlyer performs attribution after considering SRN claims.
Install attribution examples
Example A: Assisted attribution
Monday: Network A reports a user click.
Tuesday: Network B reports a video engagement.
Wednesday: Network C reports a click on a playable ad and, 30 minutes later, there is an install.
AppsFlyer attributes the install to Network C and gives Networks A and B credit for assisting with the install.
AppsFlyer gives advertisers assist data (unattributed engagements that occur before an install). This lets advertisers customize their multi-touch or fractional attribution models. See this short explanation.
Example B: Last click attribution
Network D (SRN) reports a click a few minutes before Network C.
Network C uses standard attribution integration.
AppsFlyer attributes the install to Network C as they had the last click.
Attribution windows include lookback and view-through. Some SRNs charge advertisers for an install based on Cost per Impression (CPM) and Cost per Action (CPA)—these are based on clicks or impressions that occur within a 1-28 day period.
AppsFlyer attributes install, activity, Effective Cost per Install (eCPI), and Effective Cost per Action (eCPA) based on an advertiser’s preferred attribution methodology and lookback windows.
Advertisers may have to pay for installs based on SRN attribution lookback windows and view-through models.
- Advertisers expect the AppsFlyer third-party universal attribution methodology to optimize and allocate their ad spend.
- Why? Because AppsFlyer reports actual eCPI and eCPA based on advertiser-defined terms.
- SRNs may benefit in the short term as they often define their own payment terms. But, advertisers correct this by using third-party attribution providers.
Deep linking with SRNs
For users to open your app when the link is clicked, you just need to set up App Links/Universal Links/URI scheme. However, to perform deep or deferred deep linking to a specific page or activity in your app, SRNs use their own methods—without involving AppsFlyer's deep linking method.
So how can you deep link your users and get the relevant data from SRNs?
Direct deep linking
When a user device performs deep linking, direct deep linking with SRNs is done without calling the AppsFlyer deep linking method. In the example below, existing users clicking an ad are redirected to the activity directly using Facebook's methods, while new users get the same experience using AppsFlyer's conversion data. Learn how Meta ads uses OneLink for deep linking
Jill, the mobile marketer of "greatapp", decides to run a deep linking campaign on Meta ads, targeted at general audiences. The campaign redirects any clicking users to a "bonus" activity.
Jack, the mobile developer, adds this logic after getting the conversion data:
- Is it Facebook-originated ("is_fb=true")?
- If true, get the value of the ad group parameter.
- If the value contains the word "bonus", send the user to the "bonus" activity.
Deferred deep linking
In contrast to deep linking, deferred deep linking with SRNs is possible using the AppsFlyer GCD API.
AppsFlyer receives the conversion data and makes it available to the app on the first launch.
New users that install after clicking on a deep linking/retargeting campaign on an SRN can be redirected within the app upon launch, by using the conversion data.
However, with SRNs, the regular AppsFlyer deep linking parameters are not present as part of the deep link data. To use this data within the app, the developer needs to employ further logic based on available parameters, such as campaign, ad set, or single ad names.
Note: For Meta ads, deferred deep linking via GCD is available for Android apps using the Google Install Referrer mechanism. It isn't available for iOS apps.
Most SRNs support SKAdNetwork and have the necessary integration with AppsFlyer.
iOS 14.5 SRN attribution
Starting iOS 14.5, when users give ATT consent in both the advertiser and publisher apps (dual consent), SRN installs, which are recorded in the SKAdNetwork dashboard, are also shown in the traditional dashboards.
- The traditional dashboard shows a reduction in installs attributed to SRNs. When considering SRN performance, use the SKAdNetwork dashboard. Overall expect a decrease in SRN attributions of installs, with a matching increase in organic installs. However, for advanced SRNs, the impact is lower since they also attribute engagements when there’s no device ID.
- The SKAdNetwork dashboard updates with a lag of 48-72 hours after installs.
- Installs brought by Apple Search Ads (ASA) aren't attributed in the SKAdNetwork dashboard.
Sending event postbacks to SRNs
SRNs receiving event postbacks rely on including the device ID in the postback. This enables SRNs to self-attribute reported user actions. Many iOS 14 users are non-consenting, meaning they don't allow access to their device ID (IDFA). In this case, you should expect:
- A decrease in the number of event postbacks sent to SRNs
- Discrepancies in the number of event postbacks between SRNs and AppsFlyer—who log all events.
- If there's no IDFA, postbacks for installs, app opens, or in-app events aren't sent to SRNs (except for this scenario in Google ads). However, some advanced SRNs get aggregated postbacks also when there's no IDFA.
- Click ad networks are not affected, as they use their own transaction IDs, and not device IDs, to self-attribute event postback information.
How does retargeting work with SRNs?
Retargeting clicks from non-SRNs are easily identifiable by the existence of the
is_retargeting=true parameter in the retargeting attribution link.
With SRNs, there is no similar indication. Instead, to enable attributing re-engagements from SRNs, AppsFlyer uses another logic:
- On the App Settings page, turn on Enable retargeting.
- In the Active Integrations page, select the SRN, and turn on Retargeting.
- With each app launch, AppsFlyer queries the SRN about recent engagements of the device ID with campaign ads for the app.
- If the SRN responds back with engagement details, AppsFlyer validates the engagement is within the lookback window and beyond the minimum time between re-engagements.
- Validated engagements are recorded as re-engagements and attributed to the SRN.
What is SRN mistargeting?
SRN campaigns should target a specific audience, but this doesn't always happen: Non-users in user-acquisition campaigns and existing users in retargeting campaigns.
If one SRN is used to run both user acquisition and retargeting campaigns, this can lead to user mistargeting. As a result, you pay for unintended traffic.
Scenario: An SRN in the AppsFlyer platform is enabled for a user-acquisition campaign.
- After each app launch, AppsFlyer queries the SRN to check if the advertising ID (user) had a recent engagement.
- If yes,
- SRN replies with the campaign name.
- AppsFlyer determines if it was the first launch (or not) and attributes accordingly:
First launch: A new install is attributed to the campaign.
Second or later launch: A retargeting event is attributed to the campaign.
Conclusion: It is wasteful to get retargeting events from a user acquisition campaign.
Is mistargeting a problem?
AppsFlyer data analysts checked Meta ads user acquisition campaigns during a given month.
- Retargeting was enabled.
- In 30% of campaigns, at least 15% of targeted users were existing app users.
- In 5% of campaigns, at least 40% were existing app users.
- Conclusion: In SRN user-acquisition campaigns, 1 in 10 targeted users is already an existing user.
Solving the mistargeting problem
Basic solution: Don't include existing app users in a user acquisition campaign.
- SRN will only target potential new users.
- Maximizes new user acquisition results for the same budget.
- Periodically (and manually) update the campaign, for example, once a month.
- However, time gaps mean that existing users may be targeted in user-acquisition campaigns during the first month after they install an app.
Audiences, an AppsFlyer premium feature, lets you automatically send, on a daily basis, any segment of your user base to dozens of ad networks.
AppsFlyer research shows that solving mistargeting can have a dramatic impact on your marketing and user acquisition efforts.
Why is the Original URL field empty in raw data reports?
Click is performed in the SRN environment but without an AppsFlyer attribution link. Therefore, the click's associated Original URL data is not available to AppsFlyer.
Dashboard doesn't show SRN clicks and impressions
Can agencies configure SRN campaigns?
Does AppsFlyer send postbacks for missing advertising IDs (IDFA/GAID)?
- As part of the integration for remarketing measurement with Google Ads, when a non-consented iOS user opens the app or performs an in-app event, AppsFlyer sends the
gbraidand event info to Google Ads (for the
On Android, when there’s no device ID but the referrer value contains a
gclid(for installs) or a re-engagement event contains a deep link with the
gclidparameter, AppsFlyer sends the
gclidand event info to Google Ads.
gbraidparameter: An aggregated identifier generated by Google that identifies a group of devices and is referenced by the deep link.
gclidparameter): A parameter passed in the URL with ad clicks, that identifies the campaign and other click attributes that are associated with the ad. This is used for ad tracking and campaign attribution.