Branded Domains: Brand Singular Links with Your Own Domain

Branded Domains lets you replace the standard company.sng.link tracking link domain with your own domain or subdomain — for example, link.yourbrand.com. The result is a fully branded, trusted link experience with no loss of Singular attribution power.

Looking for vanity links? If you want short, human-readable paths on a branded domain — for example, go.yourbrand.com/summer-sale — see Vanity Links: Custom Short Link Domains for Singular Tracking Links.


Why Use a Branded Domain?

  • Strengthen your brand: Keep every touchpoint fully on-brand, from ad click to app open.
  • Boost user trust: Branded domains increase credibility and click-through rates.
  • Increase engagement: Clean, recognizable URLs perform better in social, email, and SMS campaigns.
  • Maintain full analytics: You get the same Singular attribution data — just with your brand in the URL.

Domain Requirements

  • Must be a subdomain of a domain you own (e.g., link.mybrand.com). Root domains (e.g., mybrand.com) are not supported.
  • Must be a domain you can update DNS records for.
  • The subdomain must not already be in use (e.g., pointing to another service).
  • Special characters (such as -, $, !) are not supported in the subdomain label.
  • Multi-level subdomains like x.y.mybrand.com are supported.

CAA DNS Records: If your domain has a CAA (Certification Authority Authorization) DNS record, make sure it includes amazon.com as an allowed CA. Singular uses AWS Certificate Manager to provision SSL certificates for your branded domain. If amazon.com is missing from the CAA record, certificate provisioning will fail and the domain will not become Active.

Example of a correct CAA record value: 0 issue "amazon.com"


Step 1: Create and Configure Your Domain

Manage your branded domains in the Singular platform under Attribution > Manage Links > Manage Domains.

  1. Create the Domain: Click Create Links Domain. Select Branded as the domain type and enter your desired subdomain (e.g., link.mybrand.com). Click Save.
  2. Configure DNS: After saving, the domain status shows as Pending DNS Configuration. Click the dropdown to reveal your CNAME records.

    Provide the following values to your IT team to add to your DNS settings:
    DNS Record Type Host / Name Target / Value
    CNAME (shown in Singular dashboard — specific to your domain) (shown in Singular dashboard)

    Note: DNS propagation can take up to 24–48 hours. Do not click Validate until your IT team confirms the records are in place.

  3. Validate: Once DNS is updated, click Validate in the Singular dashboard. Singular will verify the CNAME and begin Creating Certificate automatically via AWS ACM. This SSL provisioning step can take additional time.

Domain Status Lifecycle

Status Meaning
Pending DNS Configuration CNAME records have been generated. Waiting for your IT team to add them to DNS.
Pending Validation DNS records have been added. Click Validate to trigger verification.
Creating Certificate DNS validated. Singular is provisioning the SSL certificate (automated, may take some time).
● Active Setup complete. Your branded domain is live and can be selected when creating tracking links.
Error An issue occurred. Contact your Customer Success Manager or Singular Support.

Step 2: Update Your App Integration

To ensure proper deep linking and attribution with your branded domain, you must update your app and SDK configuration. This tells the app to recognize your custom domain when a link is opened.

1. Update App Capabilities

iOS — Add the domain to Associated Domains:

In Xcode, go to Project Settings > Signing & Capabilities > Associated Domains and add your branded domain:

applinks:link.mybrand.com
Xcode Associated Domains capability showing applinks entry for the branded domain

Android — Add an intent filter to AndroidManifest.xml:

Add a new <intent-filter> block for your branded domain alongside your existing sng.link entry:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" />
    <data android:scheme="https" />
    <data android:host="link.mybrand.com" />
    <data android:host="example.sng.link" />
    <data android:pathPrefix="/A" />
    <data android:pathPrefix="/B" />
    <data android:pathPrefix="/E" />
    <data android:pathPrefix="/F" />
</intent-filter>

Keep your existing sng.link domain in the intent filter as well. Removing it may break existing tracking links that use the standard domain.

2. Update SDK Initialization

Register your branded domain in the SingularConfig object before initializing the SDK. This enables the SDK to handle deep links and deferred deep links arriving from your branded domain.

Android iOS Unity React Native Flutter Cordova
// Kotlin
val config = SingularConfig(apiKey, secretKey)
    .withBrandedDomains(listOf("link.mybrand.com"))

Singular.init(context, config)

// Java
SingularConfig config = new SingularConfig(apiKey, secretKey)
    .withBrandedDomains(Arrays.asList("link.mybrand.com"));

Singular.init(context, config);

Multiple branded domains: If you have more than one branded domain (e.g., one per region), you can pass multiple values in the array: ["link.mybrand.com", "go.mybrand.de"].


Step 3: Go Live

Once the domain status changes to ● Active, your branded domain is ready. It will appear as a selectable option in the Link Management domain dropdown when you create new tracking links.

All new links created with the branded domain will use the structure:

https://link.mybrand.com/[APP_ID]/[LINK_ID]?[PARAMETERS]

Existing links are not migrated automatically. Links previously created with your sng.link subdomain continue to work and are not changed. Only newly created links will use the branded domain.


Troubleshooting

DNS validation keeps failing
  • Confirm your IT team added the CNAME record exactly as shown in the Singular dashboard (Host/Name and Target values).
  • Allow up to 48 hours for DNS propagation before retrying validation.
  • Use a tool like MXToolbox to verify the CNAME is resolving correctly.
  • If your domain has a CAA record, make sure it includes amazon.com. Missing this entry will block SSL certificate creation.
Domain is validated but stuck in "Creating Certificate"

SSL certificate provisioning is automated and usually completes within a few hours. If the status has not changed after 24 hours:

  • Check if your domain has a CAA DNS record that excludes amazon.com. This is the most common cause of prolonged certificate creation failure.
  • Contact Singular Support or your Customer Success Manager for manual investigation.
Deep links are not opening the app
  • iOS: Make sure applinks:link.mybrand.com is listed under Associated Domains in Xcode. Without this, iOS Universal Links will not work for your branded domain.
  • Android: Confirm the intent filter in AndroidManifest.xml includes your branded domain host and that your app's SHA256 fingerprint is configured in Singular's App Settings.
  • Ensure brandedDomains is set in your SingularConfig before Singular.init() is called.
  • See the full deep link troubleshooting guide: My deep link doesn't open my app.
My branded domain is Active, but I don't see it in the Link creation dropdown

Refresh the Manage Links page. If the domain still doesn't appear, check that:

  • The domain status is Active (not "Creating Certificate" or "Error").
  • You are logged into the correct Singular account/organization.
  • Contact Singular Support if the issue persists.

Frequently Asked Questions

Can I use a root domain (e.g., mybrand.com) instead of a subdomain?

No. Root domains (e.g., mybrand.com) are not supported. You must use a subdomain (e.g., link.mybrand.com or go.mybrand.com).

Can I have multiple branded domains?

Yes. You can configure multiple branded domains — for example, one per region or product line. Each domain goes through the same DNS and validation process. Register all active branded domains in your SDK config's brandedDomains array.

Will existing tracking links break if I add a branded domain?

No. Adding a branded domain does not affect existing links. All previously created links using your sng.link subdomain will continue to work normally. Only new links you create after the branded domain is Active will use it (when selected).

Do branded domains affect attribution accuracy?

No. Branded domains are purely a cosmetic/branding layer over Singular's standard tracking link infrastructure. All attribution, deep linking, and reporting features work identically.

Is HTTPS required?

Yes. Singular automatically provisions an SSL certificate for your branded domain, so all branded links are served over HTTPS. You do not need to provide or manage a certificate yourself.


Need Help?

If you encounter issues during DNS validation, certificate provisioning, or SDK setup, contact your Customer Success Manager or reach out to Singular Support.