Implementing Branded Links

At a glance: Use your domain to brand OneLink links. Doing so improves campaign performance and increases brand exposure.


Branded Links

  • Branded Links let you use your brand and domain in attribution links. The links improve campaign performance because branded links:
    • Drive trust: Capitalize on your branding, ensure consistent identity, remove friction from user journeys, and improve CTR rates. 
    • Allow deep linking using your brand.
    • Are simple to implement and behave the same as OneLinks. 
    • Promote brand awareness: Your brand marks your campaigns, rather than a generic link.

Setting up Branded Links

Complete the action list. The actions are linked to a procedure, that follows after the table.  

Branded links action list
Action No.  Procedure Responsibility Remarks
1 DNS settings DNS admin

The DNS admin, usually a member of your IT team or your DNS hosting provider needs to define a CNAME and additional full domain (aka subdomain). 

2 Domain mapping Marketer Associate the full domain to a OneLink subdomain in AppsFlyer.
3 Set up Branded Links in the app Developer Make minor changes to the app code.


DNS settings

  • Branded Links are implemented by pointing a full domain to AppsFlyer servers, as depicted in the figure that follows.
  • If you are configuring the DNS yourself, the following are the instructions for setting CNAMEs in some significant providers: AWS Route53GoDaddy, HostGator, BluehostSiteGround.

Branded link points to AppsFlyer servers using CNAME


Before you begin: 

  • You need an active OneLink template.
  • Prepare the contact details of the DNS admin.

To set up and test the full domain:

  1. Retrieve the subdomain name used in AppsFlyer OneLink:
    1. In AppsFlyer, go to OneLink Templates.
    2. Select a template.
      The OneLink template displays.


  2. In the table that follows:
    1. Record the OneLink subdomain name, in the location marked 
    2. Record the name of the full domain the DNS admin must create. Use the location marked ➀. This should take the form subdomain.domain. For example,
      Parameter for DNS admin Information from the marketer
      Points to (destination) 

      Record the OneLink subdomain precisely as it appears in the OneLink template. Example: abcdef


      Full domain (host)

      The full domain. Example: The full domain is where is the domain.


      Information for the DNS admin
  3. The DNS admin needs to:
    1. Create the full domain.
    2. Set a CNAME record that points the  full domain to the
  4. Test the CNAME as follows:
    1. Go to whatsmydns.


    2. Fill in the ➀ full domain.
    3. Select CNAME.
    4. Click Search


    5. Do one of the following:

      1. If all the responses are red crosses, it means the test failed.
        - Wait an hour; it can take some time for CNAME settings to propagate.
        - Request that the DNS admin troubleshoot. 

      2. If most of the test results are a green tick mark, the CNAME pointer is functioning correctly. 
        You have successfully completed the procedure. 

Domain mapping 

To map your full domain to a OneLink subdomain:

  1. Go to Engagement & Deep Linking > Branded Links.
  2. Click Add branded link.
  3. In the Brand Domain field, enter your full domain. For example,
  4. Select the OneLink subdomain. 
  5. Click Add

Editing and deleting Branded Links

Editing enables you to change the mapping of an existing full domain to a different OneLink subdomain. There is no need to set a CNAME. 


Modifying the Branded Links of active campaigns may alter or disable link functionality.

To edit a branded link mapping:

  1.  Go to Engaging & Deep Linking > Branded Links.
  2. Select the Action command.
  3. Select Edit.

To delete a branded link mapping: 

  1. Go to Engaging & Deep Linking > Branded Links.
  2. Select the Action command.
  3. Select Delete.

Set up Branded Links in the app

  • Use the following SDK versions:
    • Android V4.10.1 and later
    • iOS V4.10.1 and later
    • User invite referral (invite a friend) requires SDK version V5.2.0 and later for both iOS and Android 

Branded Links SDK implementation considerations

  • When deep linking takes place using Branded Links, the AppsFlyer SDK can't get conversion data for installs and deep linking.
  • To overcome this, the developer uses the setOneLinkCustomDomain SDK API.
  • This API queries the branded link, gets the OneLink to which it is mapped, and finally queries the OneLink to get conversion data.
Android iOS

Use this API before initializing the SDK in the Android global application class.


public class AFApplication extends Application {

    public void onCreate() {

      AppsFlyerConversionListener conversionListener = new AppsFlyerConversionListener() {

        // implement AppsFlyerConversionListener callbacks 
        // see

      // set branded link domain
      AppsFlyerLib.getInstance().init(AF_DEV_KEY, conversionListener, this);
      AppsFlyerLib.getInstance().startTracking(this, AF_DEV_KEY);


If you have several branded links, pass them all to the AP to ensure that you always get the conversion data and can deep link into the app.



Using and testing Branded Links


Before using and testing Branded Links complete the steps in the Branded Links workflow

To create and test branded links:

  1. Create a custom attribution link using the OneLink configuration mapped to the branded link.
  2. Copy the custom attribution link to a text editor.
  3. The custom attribution link is made up of a OneLink subdomain, OneLink ID, and custom Link ID. Replace the OneLink subdomain with the Branded Link full domain. Example:
    Custom attribution link Branded link
  4. Use the branded link to test installs and deep linking.
  5. If you use raw data reports as part of the testing, the Original URL field is populated by the branded links. 

Troubleshooting, traits and limitations


Symptom Cause/solution
Branded Link cannot be mapped to a OneLink configuration
  • Invalid domain name: When mapping a Branded Link to a OneLink template, AppsFlyer tries to verify that the branded link has a valid domain name. A valid domain name has the format 
  • The Branded Link is already mapped: A full domain can only be mapped once.
Branded Link is not deep linking into the app
  • Verify CNAME: Ensure that a CNAME record points from your Branded Link to AppsFlyer.
  • Verify deep linking setting for OneLink configuration: It's possible there is an issue with the OneLink deep linking settings. Make sure to set up deep linking with OneLink.
  • OneLink mapping changed: You can edit the Branded Link and map it to a different OneLink. If the newly mapped OneLink has different deep linking settings or no deep linking settings, deep linking might not work.
No installs measured from Branded Links
  • Check OneLink configuration settings: Make sure that the OneLink subdomain used to map to the branded link is associated with the correct apps.
  • OneLink subdomain changed: If you map a branded link to a OneLink template and the OneLink subdomain changes, it might affect attribution.
  • Ensure implementation: Of setOneLinkCustomDomain API in the app. 
No re-engagements recorded from branded links

Ensure that the following are active and configured: 

Traits and limitations

Trait Yes  / No x Remarks 
Ad network access  x  
Agency access x  
Agency transparency x  
App-specific time zone N/A  
App-specific currency  N/A  
Size limitations N/A  
Rate limitation

Branded links SSL/HTTP certificates are arranged by AppsFlyer using Let's Encrypt, with a rate limit of 50 new certificates per week per domain.

Organic data  
Non-organic data  
Data freshness N/A   
Historical data  
Team member access  
Was this article helpful?