Branded links (beta)

This feature is currently in beta. If you want to be added as a beta user, contact your CSM or send an email to

This article discusses the benefits of branded links and how to set them up. It also discusses limitations and troubleshooting.

What are branded links?

As the name suggests, branded links are links that bear your brand. For example, if your brand is Great App, a branded link can be

Why use branded links?

  • Allow deep linking with your own brand - currently, if you want to use OneLink for re-attribution or re-engagement, you can only set a OneLink subdomain. Branded links perform just like OneLinks but they bear your brand and promote brand awareness.
  • Trusted links - branded links are trusted by users, browsers, and email validation systems. With branded links, users are more likely to click the link, for example when you post the link in social media. In addition, email validation systems are more likely to view emails containing branded links as valid promotion emails.
  • Promote brand awareness - On top of these, one of the biggest benefits of branded links is that your brand marks your campaigns, rather than a generic link.

Setting up branded links

See the following steps to set up branded links.

1. Prerequisites

Branded links require a OneLink domain to be mapped to. Make sure you have a Onelink configuration ready for use. Otherwise, go ahead and create one.

2. Setting a CNAME record

A CNAME is DNS record that maps one subdomain to another. To learn more, read here. You can set a CNAME with the help of one of the following:

  • An IT person in your organization.
  • Your domain hosting customer support.

In your domain hosting, set a CNAME that points from your branded link to

The OneLink subdomain is set when you create a OneLink configuration.


If your OneLink subdomain is greatapp, map your click domain to the following AppsFlyer server endpoint:

Branded link AppsFlyer server endpoint

See the following to learn how to set a CNAME in some popular domain hosting services:


CNAME usually takes a few minutes to take effect. Consider this when testing branded links. See the following section about checking CNAME.

3. Checking that the CNAME is set correctly

  1. Go to whatsmydns.
  2. Paste your branded link.
  3. Choose CNAME in the dropdown menu.
  4. Click search.

If the CNAME is set correctly, you should see something similar to the following:


If you get a series of red Xs, it could mean one of two:

  • The CNAME needs some time to take effect. Wait a few minutes and try again.
  • The CNAME is not set properly. Consult an IT person in your organization or your domain host technical support.

4. Mapping a branded link to OneLink

  1. In AppsFlyer, on the navigation menu, click Branded Links.
  2. In the branded links page, click Add branded link.
  3. Under Brand domain, enter your branded link.
  4. Under OneLink domain, select the OneLink subdomain.


  5. Click Add.

Editing or deleting branded links

To delete a mapped branded link, contact your CSM or send an email to

To edit a branded link, click the three dots on the right-hand side of the branded link and click Edit.

Editing only allows mapping the branded link to a different OneLink configuration. If you map a branded link to a different OneLink configuration, you don't need to set a new CNAME. The existing CNAME is enough.


Be careful when you edit branded links. Any change to branded link, can affect running campaigns and deep linking functionality.

Setting up deep linking using branded links

This part is intended for app developers.

Setting deep linking using branded links is supported from the following SDK versions:

  • Android 4.10.1 and above
  • iOS 4.10.1 and above

When deep linking takes place using branded links, the AppsFlyer SDK doesn't have a way to get conversion data for installs and deep linking. To address this, the app developer should add deep linking support for branded links. Adding deep linking support for branded links allows the developer to get conversion data and deep link users into the app.

The developer should use the setOneLinkCustomDomain SDK API. This API queries the branded link to get the OneLink to which it is mapped. The SDK then queries the OneLink to get conversion data.

Android iOS

This API should be used in the Android global application class, before initializing the SDK.


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, you can pass them to the API. This ensures that no matter what branded link is used, you always get the conversion data and can deep link into the app.



Associating domains for iOS Universal Links

For iOS, you also have to set up the branded link as an associated domain in Xcode. See here for instructions.

Using and testing branded links

See the following to learn how to create and test branded links. The instructions assume that:

  1. Create a custom attribution link from the OneLink configuration that is 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 subdomain. See the following example:

    Custom attribution link Branded link
  4. Use the branded link to test installs and deep linking.

Troubleshooting branded links

Below we list common issues with branded links and how to address them.

Branded link cannot be mapped to a OneLink configuration

  • Invalid domain name - when you map a branded link to a OneLink template, AppsFlyer tries to validate that the branded link has valid domain name. A valid domain name for branded links has the following format
  • The branded link is already mapped - a branded domain can only be mapped once.

Branded link is not deep linking into the app

  • Verify CNAME - make sure that you set up a CNAME to point from your branded link to AppsFlyer server.
  • Verify deep linking setting for OneLink configuration - it's possible that there is an issue with OneLink deep linking settings. Make sure to follow the instruction 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 at, deep linking might not work.

No installs measured from branded links

  • Check OneLink configuration settings - make sure that the OneLink template that is mapped 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.
  • Check that the setOneLinkCustomDomain API is implemented in the app. For more information, see here.

No re-engagement recorded from branded links

Branded links SSL/HTTP

Branded links get their SSL certificate from Let's Encrypt. AppsFlyer takes care of managing, renewing and assigning SSL certificates to branded links.

Limits on adding branded links

Let's encrypt has a rate limit of 50 new certificates per week per domain. This means that you can create 50 branded link per week. However, we don't recommend creating more than a few branded links.

Was this article helpful?