Custom Domains

Partners can serve the Bullseye tracking pixel from their own domain instead of the default Bullseye domain. This provides a fully whitelabel experience: the script loads from your domain, and clients see no Bullseye branding in the script URL.

Overview

When you configure a custom domain:

  • The tracking pixel script is served from your domain (e.g., track.yourdomain.com)

  • DNS verification ensures you control the domain

  • All sub-organizations under your partner account use this domain for their pixel scripts

Setting a Custom Domain

  1. Call PUT /partner/domain with your desired domain:

{
  "domain": "track.yourdomain.com"
}
  1. The domain is set and marked as pending verification. You must complete DNS verification before the domain becomes active.

DNS Verification Process

Verification requires adding two DNS records to your domain. Retrieve the required values with GET /partner/domain/verification.

Required Records

Record Type
Purpose

CNAME

Points your subdomain to Bullseye's script-serving infrastructure

TXT

Proves domain ownership

The verification response includes:

  • cnameTarget — The target for your CNAME record

  • verificationRecord — The value for your TXT record

  • instructions — Human-readable verification steps

  • dnsRecords — Array of record details (type, name, value)

Adding DNS Records

Add the records at your DNS provider (e.g., Cloudflare, Route 53, GoDaddy):

CNAME record:

  • Name: Your subdomain (e.g., track for track.yourdomain.com)

  • Type: CNAME

  • Value: The cnameTarget from the verification response

TXT record:

  • Name: The record name from the verification response (often the subdomain or _bullseye-verify.yourdomain.com)

  • Type: TXT

  • Value: The verificationRecord from the verification response

Verification Steps

  1. Add the CNAME record pointing to the provided target

  2. Add the TXT record with the provided verification value

  3. Wait for DNS propagation (see below)

  4. Call POST /partner/domain/verify to complete verification

The verify endpoint checks that both records are correctly configured. If successful, your domain is marked as verified and the tracking script will be served from it.

DNS Propagation Timeline

DNS changes can take time to propagate globally:

  • Typical — 15 minutes to 2 hours

  • Maximum — Up to 48 hours in some cases

If verification fails, wait and retry. Use a DNS lookup tool to confirm your records are visible before calling the verify endpoint.

After Verification

Once verified:

  • GET /partner/script-config returns scriptDomain with your custom domain and scriptDomainVerified: true

  • Pixel scripts for your sub-organizations use your domain in the script URL

  • Clients installing the pixel will load it from your domain

Changing or Removing the Domain

To change the domain, call PUT /partner/domain with a new domain. The previous domain is replaced and the new one must be verified.

To remove the custom domain, contact Bullseye support. After removal, the default Bullseye domain is used for script serving.

Troubleshooting

Issue
Possible cause

Verification fails

DNS records not yet propagated; incorrect record values; wrong record names

Script fails to load

CNAME not correctly configured; SSL certificate not yet provisioned

Wrong domain in script

Verification not completed; script config cached

Ensure both CNAME and TXT records are correct and propagated before calling the verify endpoint.

Last updated