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
- Call PUT
/partner/domainwith your desired domain:
{
"domain": "track.yourdomain.com"
}- 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 recordverificationRecord- The value for your TXT recordinstructions- Human-readable verification stepsdnsRecords- 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.,
trackfortrack.yourdomain.com) - Type: CNAME
- Value: The
cnameTargetfrom 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
verificationRecordfrom the verification response
Verification Steps
- Add the CNAME record pointing to the provided target
- Add the TXT record with the provided verification value
- Wait for DNS propagation (see below)
- Call POST
/partner/domain/verifyto 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-configreturnsscriptDomainwith your custom domain andscriptDomainVerified: 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.