The main sources of mobile user traffic which AppsFlyer records are:
- Integrated Partners
- Facebook, Adwords, Snapchat, Twitter, etc.
- Owned Media
- Email and SMS campaigns, web site banners and landing pages, viral posts on social media, Push notifications or even QR codes on print, in-Store and out of home media.
Owned media is a great source of abundant (and mostly free) traffic. It's important to record and attribute it properly, to get more installs and better engagements from your new users.
To attribute owned media it's necessary to create and manage Custom Attribution Links.
In Link Management you manager custom attribution links.
1. Getting there
1.1 Log into Appsflyer.
1.2 Go to Engagement & Deep Linking > Link Management.
1.3 You can also access it by clicking Integrated Partners on the left bar, and then clicking Custom Attribution Link at the top right corner of the page
2. First time
If this is the first time you (and your team) have entered the link management screen, the following page is displayed:
Click on Add Custom Attribution Link to create your first attribution link.
3. Custom link management page
If you already have defined one or more links beforehand, you are now in the link management page.
Here you can see the details of all defined custom links, including their names, media sources, relevant app or apps, the attribution links and the last date of modification.
3.1 Editing your existing links
Click on an existing link's name to view or modify its previous setup.
Once you're finished click on
3.2 Actions Button
There are several actions you can perform per link by clicking on its Actions button:
3.2.1 View Link Details shows the saved link's short and long URLs:

Hover over the button next to the short or long URLs to copy them. You can also download the QR code image for each of the links.
We strongly recommend using the short link URL - here's why.
3.2.2 Show History provides an audit of the users that have created or modified the link, from the latest modification to the first creation.
3.2.3 Duplicate Link creates a new link with the exact same settings. If you have a common template for links and you want to easily create many links with some minor variations (e.g. links for influencers), this option is very useful. Note that you can't modify the app or OneLink selection on duplicated links.
3.2.4 The Delete option only removes the link from the Link Management table. Any existing links still redirect.
Short vs long URLs
Important!
Should you use short or long URLs?
AppsFlyer recommendation is clear - short URLs are better, for several reasons:
- Short URLs enable campaigns with limited text space, such as SMS campaigns.
- Short URLs hide the parameters and business logic of your ads, that is otherwise exposed to the user.
- Short URLs enable you to change the used parameters once on AppsFlyer's dashboard, and affect links on the fly. For example, having started an SMS campaign with several providers, you realize you didn't add the channel parameter with the name of the SMS provider. With short URLs you can simply add the parameter on the dashboard - all leads, even those who already received your message, are attributed to the new channel.
- You can keep using the QR code of a short link, even if you update the link's parameters.
4. Creating custom attribution links
4.1 Click on (if you haven't already)
4.2 Select what type of link to create, single-platform (regular app-specific) or multi-platform (OneLink).
Important!
Single or Multi-platform - that is the question.
The answer is - usually multi-platform.
As the single-platform links are app-specific, you should use them only for tests, or when all your targeted audience has the same platform, e.g. all leads have Android devices.
Otherwise, AppsFlyer recommends using multi-platform to benefit from OneLink's diagnostic, redirection and deep linking capabilities.
iOS Universal Links
Another reason to use multi-platform OneLink configuration is iOS Universal Links. Single platform configuration doesn't support iOS Universal Links. In that case, you should use multi-platform OneLink configuration with only an iOS app.
4.3 General settings
4.3.1 Name the new link with an easily recognizable name.
You can use letters, digits and spaces, but refrain from using other special characters. If the name you set is unique and valid the box displays:
4.3.2 Select the app the attribution link is intended for
4.3.2 Select the OneLink configuration the attribution link is intended for
Note
For single-platform links, team members can only select apps that are associated with them.
For multi-platform links, a team member can only select a OneLink template, when the member has access to one or more of its associated apps.
Likewise, agencies can only select apps and OneLink templates, that are owned by them or that they're partners of.
4.3.3 Short URL
The link gets an automatic shorter URL, which is very useful with SMS campaigns etc. You can customize the last part in the short URL to make it a branded link. Note you can use only letters and digits here (a-z, A-Z, 0-9). If the URL you set is unique and valid the box displays
If you use Branded Links, you can choose your branded link from the drop down menu:
Warning
The short URL becomes usable and final only when you click , upon which the short URL cannot be changed anymore.
4.4 Attribution settings
4.4.1 Set the Media Source Name
Enter your owned media source name, or use one of the predefined ones according to common use cases such as posting a link in your Blog or Social Facebook page.
Enter your owned media source name manually in the box or click one of the tabs (e.g. “Email”). The media source value is represented in the attribution link, under the pid parameter.
Note
To properly differentiate between your custom attribution links and AppsFlyer integrated partners attribution links, do not use "Facebook", "Facebook Ads", "GoogleAdwords", "Twitter" or "Organic" as your custom media source name (case insensitive). Using these names for custom attribution links may affect your attribution data's integrity as installs from your owned media would get attributed to integrated partners.
Attribution link parameter: pid
Note
4.4.2 Set Optional Attribution Parameters
You can add further attribution parameters here to enable you to later perform thorough drill-down analyses.
- Campaign - add it to compare different campaigns within the owned media source. Attribution link parameter: c
- Adset - set ad set names to compare different ad sets within specific campaigns of the media source.
Attribution link parameter: af_adset - Ad Name - set ad set names to compare different creatives within specific ad sets within specific campaigns of the owned media source.
Attribution link parameter: af_ad - Channel - set Channel names if you have more than one distribution channel for your owned media, which you wish to compare. For example, if you split your SMS messages between 2 SMS service providers, specify on the Channel parameter which provider it is. Later you can compare conversion rates to decide on the better provider.
Attribution link parameter: af_channel - 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.
Attribution link parameters: af_sub1, af_sub2, af_sub3, af_sub4, af_sub5 - Custom Parameters - similar to the subscriber parameters, you can use fields with any values, and also any names. However, these are not parsed and made available on the raw data reports, only as part of the full original URL.
Attribution link parameters - Custom
See more information about AppsFlyer's Attribution Link Structure and Parameters.
Important!
When you set parameters on the attribution link, make sure that you use consistent naming. Do not use upper and lower case names intermittently.
If you don't keep the same case in parameter names, it might cause issues with viewing data in the dashboard and raw data.
For example, if you set pid=MyMediaSource on one attribution link and pid=mymediasource on another, discrepancies in data might occur. The same goes for any other param that you set on the attribution link. If you choose a case, upper or lower, make sure you always use it.
4.4.3 Set Retargeting
Enable the Retargeting Campaign toggle button to use this link primarily for retargeting attribution, rather than for user acquisition.
Attribution link parameter: is_retargeting
4.5 Redirection settings
4.5.1 Mobile Deep Link and Redirection
To deep link your existing users straight into some activity in your app, default or otherwise, enter the URI scheme that represents the activity in this box. To learn about deep linking with AppsFlyer go to the step by step deep linking guide.
Attribution link parameter: af_dp
4.5.2 Advanced Redirection
To send your leads over to a landing page instead of directly to the app stores:
- Select Landing Page
- Paste the URL of the web page on the box
This is extremely useful when posting links to platforms where deep linking breaks, e.g. Facebook.
Attribution link parameter: af_r
You can send your leads to different landing pages, instead of the app stores, based on the platform they're using while engaging with your owned media.
1. Desktop users - Paste the URL of the landing page on the Web Deep Link URL box
2. iOS users - Select iOS Landing Page and paste the URL of the iOS landing page on the URL box to its right
3. Android users - Select Android Landing Page and paste the URL of the Android landing page on the URL box to its right
This is extremely useful when posting links to platforms where deep linking breaks, e.g. Facebook.
Attribution link parameters: af_web_dp, af_ios_url, af_android_url
Note
Multi platform links should already have values taken from the OneLink template configuration page. Fill in the above boxes only if you need new values that differ from the OneLink template.
Important!
If both deep linking and landing page redirection are set, AppsFlyer attempts deep linking first. If it fails (e.g. the app is not installed yet), the redirection to the landing page takes place.
Preventing parameter forwarding on redirections
af_r
, af_ios_url
, af_android_url
, and af_web_dp
carry over parameters from the attribution link or OneLink over to the redirected page. To prevent such parameters from being carried over the redirected page, add af_param_forwarding=false
to the attribution link.
4.6 Social media apps landing page
In iOS, if the social media app doesn't support deep linking using Universal Links, this can be overcome by implementing a social media app landing page. Doing so enables the use of OneLink with Universal Links to deep link users.
A social media app landing page can be used in the following:
- Pinterest for iOS
User experience
When using a landing page, the user experience depends on whether the app is installed or not.
The user clicks on the custom link:
- App installed: the user is deep linked into the app.
- App not installed: the user is taken to the relevant app store.
Note
The social app landing page only supports OneLink short URL.
To set up a social app landing page:
- Configure the landing page as described below.
- To fully support deep linking on both IOS and Android, add
af_dp
andaf_force_deeplink=true
to the attribution link. - Grab the generated short URL. Note that the Social media apps landing page does not work with long OneLink URLs.
- Post the OneLink short URL on the social app.
Attribution is determined by attribution settings in step 4.4.
To configure the Social apps landing page:
- Enable landing page
- Image URL: Enter an image URL including the extension. Example,
https://example.com/image.png
. Use one of the following file types:- jpeg
- jpg
- png
Note: webp format is not supported.
The recommended ratio and dimensions for the background image are:- Ratio - 1:1
- Dimensions - 320px x 320px
- Fill out the following fields and select a color for each.
- Tag: The tag usually contains the campaign topic.
- Title
- Description
- Call to action
- (Optional) Disclaimer
4.7 Advanced settings
4.7.1 Customized Lookback Window
Enabling the Customized Lookback Window button allows you to set the maximum click to install time. Installs (first launches) that take place within the lookback window are attributed to the media source. Installs that take place afterwards, are attributed as Organic.
By default the window is set to 7 days, but you may wish to set it otherwise in different cases.
Example
A regular 7 day lookback window for Email campaigns is reasonable. However, if an email contains an attractive and memorable video, it makes sense to extend its lookback window to 14 days.
More details about the click lookback window here.
Attribution link parameter: af_click_lookback
4.7.2 Cost per Install
Enabling the Cost per Install button allows you to apply a specific CPI value for each install coming from the link.
Select the cost currency and then a numeric ONLY value (float - up to 4 digits after the decimal point) representing the CPI.
Example
An SMS campaign costs $20 per 1000 messages (CPM). From your experience these campaigns achieve a 5% conversion rate, i.e. the derived CPI is $1. Setting the cost per install to 1 USD enables you to easily see the eventual ROI of the SMS campaign.
More details about measuring cost and ROI here.
Attribution link parameters: af_cost_currency, af_cost_value
4.8 Finalize the link set up by clicking
4.9 Grab the short or long link, in either text or QR code format
4.10 Test the link by sending the link to your device and clicking on it or by scanning the QR code - the result for either is the same: a click is recorded in the dashboard
Tip
Are you planning on testing custom links?
Save time by scanning the QR code directly from your mobile testing device. Scanning the QR code is the same as clicking the link.
Limitations
Important!
It is very important that you pay attention to certain length limitations during the creation of the URLS:
- Total URL length must not exceed 2000 characters
- Link Name and Media Source: must not exceed 100 characters
- The following characters are not allowed [<>;(){}`']
- Shortlink ID must not exceed 50 characters