Implementing Branded Domains

At a glance: Advertisers using OneLink links can brand them with their own domain. This improves campaign performance and increases brand exposure.


Branded Domains

  • Branded Domains are used to brand attribution links with your brand and domain. For example, as illustrated in the preceding figure:
    • OneLink:
    • Brand
    • Subdomain: For example, click
    • Implement Branded Domains and use your full domain, with the attribution link being
  • Branded Domains improve campaign performance because they:
    • 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, instead of a generic link.
    • Enable emails to avoid being flagged as spam due to the link not matching the sender email.

Principles of implementation

Branded Domains are implemented by associating a full domain defined in your Domain Name System (DNS) with a OneLink subdomain. This is done by using standard settings in your DNS and setting up a Branded Domain in AppsFlyer. In addition, you will need to make some minor changes in your app to support Branded Domains . 

You will need the assistance of the DNS admin, usually a member of your IT team or your DNS hosting provider and the app developer. 

Multiple full domains can be associated with a single OneLink subdomain. This means you can have multiple brands using the same OneLink subdomain. 

Setting up Branded Domains

Complete the action list to set up a Branded Domain. 

Branded Domains action list
  Responsibility Action Remarks
1 Marketer assisted by the DNS admin Set up a Branded Link in AppsFlyer The DNS admin, usually a member of your IT team or your DNS hosting provider, needs to define the full domain (aka host) and set a CNAME record as described in the procedure.
2 Developer Set up Branded Domainks in the app Make minor changes to the app code.
3 Marketer Using and testing Branded Domains  
As needed Marketer Editing and deleting Branded Domains  


Set up a Branded Domain in AppsFlyer

Setting up a Branded Domain consists of associating a full domain set in your DNS with a OneLink subdomain in AppsFlyer as depicted in the following figure. 

Branded Domain pointing to AppsFlyer servers


Before you begin:

  • Choose a full domain name, for example, where is your brand.
    • The subdomain, for example, click, can also be customized.
  • Request that the DNS admin create the full domain (aka host). 
  • Request that the DNS admin set a CNAME record such that the full domain (Brand domain) points to the specified URL (aka AppsFlyer host). This is depicted in the figure Branded Link pointing to AppsFlyer servers (above). 

To map your full domain to a OneLink subdomain:

  1. Go to Engagement & Deep Linking > Branded Domains.
  2. Click Add Branded Domain.
  3. In the Brand Domain field, enter your full domain as set in your DNS. For example,
    Do not place a period after the domain. 
  4. Select the OneLink subdomain from the list that displays. 
  5. Click Verify.
    The DNS settings status displays. See troubleshooting in the event of an error.

To verify that a Branded Domain is operational: 

  1. Go to Engagement & Deep Linking > Branded Domains.
  2. Select the branded link.
    The edit window opens.
  3. Click Verify.
    The DNS settings status display. Both should have a green checkmark to confirm that they are correctly set in the DNS. If either has a red checkmark, contact your DNS admin.
    Note: Your DNS records MUST enable to create a certificate for your domain (CAA). 

Set up Branded Domains 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 Domains SDK implementation considerations

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

Ensure that you update the intent-filter of the manifest to include your brand domain by setting the android:host.

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().start(this, AF_DEV_KEY);


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



Using and testing Branded Domains


Before using and testing, Branded Domains complete the steps in the Branded Domains workflow

To create and test branded domains:

  1. Create a custom attribution link using the OneLink template mapped to the branded domain.
  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 Domain full domain. Example:
    Custom attribution link Branded Domain
  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. 

Editing and deleting Branded Domains

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 Domain of active campaigns may alter or disable link functionality.

To edit a branded domain mapping:

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

To delete a branded domain mapping: 

  • Reach out to your CSM you can't do it yourself or contact

Troubleshooting, traits, and limitations


Symptom Cause/solution
Branded Domain cannot be mapped to a OneLink template
  • Invalid domain name: When mapping a Branded Domain 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 Domain is already mapped: A full domain can only be mapped once.
Branded Domain is not deep linking into the app
  • Verify that the Branded Domain is operational
  • Verify CNAME: Ensure that a CNAME record points from your Branded Domain to AppsFlyer.
  • Verify deep linking setting for OneLink template: 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 Domain 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 Domains
  • Check OneLink template settings: Make sure that the OneLink subdomain used to map to the branded domain is associated with the correct apps.
  • OneLink subdomain changed: If you map a branded domain 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 domains

Ensure that the following are active and configured: 

During Branded Domain setup, Domain doesn't exist message displays

  1. Contact your DNS admin and ask them to investigate.
  2. Wait for the DNS admin to confirm that the domain is registered. 
  3. Click Reverify.

During Branded Domain setup, AppsFlyer CNAME not found message displays

  1. Request that the DNS admin set a CNAME record such that the full domain (Brand domain) points to the specified URL (aka AppsFlyer host). This is depicted in the figure Branded Link pointing to AppsFlyer servers in this section. 
  2. Wait for the DNS admin to confirm that the CNAME is active.

Traits and limitations

Trait Yes  / No x Remarks 
Ad network access  x  
Agency access x Agencies cannot access the Branded Domains section to create Branded Domains. However, they can create OneLinks custom links using a Branded Domain subdomain.
Agency transparency x  
App-specific time zone N/A  
App-specific currency  N/A  
Character limitation N/A When entering your branded domain, the last character cannot be a period (".").
Size limitations N/A  
Rate limitation

Branded Domain 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?