Tracking
Brand pixel and click-tracking URLs in delivered email under your own domain.
Overview
Tracking domains let you brand the open- and click-tracking URLs in your outbound email under a domain you control (e.g. track.example.com) instead of an unMTA-owned hostname. Recipients see your brand in the URLs that show up in their browser bar and link previews, which improves trust, deliverability, and analytics attribution.
A tracking domain is a subdomain you point at unMTA via a single CNAME record. Once verified, unMTA terminates HTTPS for that hostname automatically (no certificate to manage on your side) and rewrites tracking links in delivered email to use it.
Each tracking domain belongs to a single cluster. You can run multiple tracking domains in the same cluster and mark one as the default, which is used for any message that doesn't override the tracking host explicitly.
How It Works
When you add a tracking domain, unMTA issues a unique verification target — a hostname like v-deadbeef.track.unmta.net. You add a single CNAME record at your DNS provider pointing your tracking subdomain at that target. The same record proves ownership and routes live tracking traffic.
Behind the scenes, when a recipient opens a tracking URL on track.example.com, the request lands on unMTA's edge, which:
- Looks up the hostname against the verified tracking domains registered to your cluster
- Terminates TLS using a certificate it provisions and renews automatically
- Records the open or click event and serves the appropriate response
There's nothing for you to install, run, or rotate.
Adding a Tracking Domain
- Navigate to the Tracking Domains page from the sidebar
- Click the Add tracking domain button
- Enter your tracking subdomain (e.g.,
track.example.com) - Optionally toggle Set as default to make this the cluster's default tracking domain once verified
- Click Add tracking domain
You'll be redirected to the tracking domain detail page showing the CNAME record you need to configure.
Tracking Domain Requirements
- Must be a valid subdomain — at least three labels (e.g.
track.example.com), not an apex domain - Cannot be an IP address
- Cannot use reserved TLDs:
localhost,local,test,invalid,example,localdomain - Must be unique within your cluster (the same name can exist in different clusters)
Tracking subdomains can be anything you control — common choices are
track.example.com, links.example.com, or email.example.com. Pick
something short and stable since it will appear in every link your recipients
see.
DNS Record Setup
After adding a tracking domain, you'll see a single CNAME record on the detail page:
| Record | Name | Value |
|---|---|---|
| CNAME | track.example.com | v-deadbeef.track.unmta.net (yours) |
Click the copy button next to the target value to copy it to your clipboard.
Provider-Specific Instructions
- Log in to your Cloudflare dashboard
- Select your domain
- Go to DNS → Records
- Click Add record
- Configure the record:
- Type: CNAME
- Name: The subdomain portion (e.g.,
track) - Target: Paste the verification target from your tracking domain detail page
- Proxy status: DNS only (grey cloud — do not proxy through Cloudflare)
- TTL: Auto
- Click Save
The CNAME record must be DNS only (grey cloud). If Cloudflare's orange-cloud proxy is enabled, verification will fail and live tracking traffic will be intercepted.
- Open the Route 53 console
- Select Hosted zones and click your domain
- Click Create record
- Configure the record:
- Record name: The subdomain portion (e.g.,
track) - Record type: CNAME
- Value: Paste the verification target
- TTL: 300 (or your preference)
- Record name: The subdomain portion (e.g.,
- Click Create records
The general steps for adding a CNAME record are similar across DNS providers:
- Log in to your DNS provider's management console
- Navigate to your domain's DNS settings
- Add a new CNAME record:
- Type: CNAME
- Name/Host: The subdomain portion (e.g.,
track) - Value/Target: The verification target from your tracking domain detail page
- TTL: Use the default or set to 3600 (1 hour)
- Save your changes
Most providers automatically append your domain to the record name. Enter only the subdomain portion (e.g., track) rather than the full track.example.com.
DNS changes can take up to 48 hours to propagate, though most updates appear within a few minutes to a few hours.
Verifying a Tracking Domain
Once you've added the CNAME record:
- Go to your tracking domain's detail page
- Click the Verify Now button
unMTA walks the CNAME chain from your domain and confirms it ends at the issued verification target. Once it does, the status flips to Active and the domain is ready for use.
If verification fails, double-check the CNAME record is in place and pointing at the correct target — DNS propagation can take time, and any proxy layer (such as Cloudflare's orange-cloud proxy) will prevent the chain from resolving.
Ongoing Monitoring
Active tracking domains are automatically re-checked once every 24 hours to make sure the CNAME still resolves correctly. If the record changes or disappears:
- First failed check: You'll receive a warning email. The domain stays active to give you time to fix the issue.
- Second consecutive failed check: The domain is downgraded to Pending status and you'll receive a notification. Tracking links in already-delivered mail will stop working until the CNAME is restored and the domain is verified again.
This two-strike policy prevents brief DNS issues from immediately disrupting tracking while still catching persistent problems.
Tracking Domain Status
Tracking domains have two possible statuses:
| Status | Meaning |
|---|---|
| Pending | CNAME not yet verified. Tracking links cannot be served from this domain. |
| Active | CNAME verified and the domain is serving tracking traffic. |
Default Tracking Domain
Each cluster can have at most one default tracking domain. The default is used to rewrite tracking URLs in any outbound message that doesn't specify a tracking host explicitly.
To set the default:
- Go to the tracking domain's detail page (the domain must be Active)
- Click Set as default
Setting a domain as default automatically clears the flag from any other tracking domain in the same cluster. To remove the default entirely (so messages fall back to the unMTA-owned hostname), open the current default and click Unset as default — it's fine to have no default configured.
Only verified (active) tracking domains can be set as default. Pending domains can be added to your cluster but won't accept the default flag until they're verified.
Managing Tracking Domains
Viewing Tracking Domain Details
Click any tracking domain in the list to view its detail page, which shows:
- Current verification status and default flag
- The CNAME record with copy button
- A Verify Now button while pending
- A Set/Unset as default button while active
Deleting a Tracking Domain
To delete a tracking domain:
- Go to the tracking domain's detail page
- Click the menu button and select Delete tracking domain
- Confirm the deletion
Deleting a tracking domain is immediate and irreversible. Tracking links in any already-delivered mail that pointed at this domain will stop working — recipients will see broken links if they click them.
API Reference
For programmatic tracking domain management, see the Tracking API documentation.