OPENED before DELIVERED, or without it.
What each channel reports
A
0 in an Opened or Clicked column means “not measured”, not “nobody read it”, on any channel that can’t report that event.
Turn on email tracking
Open and click tracking for email are two workspace settings in :- Email-open tracking adds a tracking pixel to every email.
- Click-through tracking rewrites every link in an email to pass through Courier’s redirect first.
Turn tracking off for one link
With click-through tracking on, you can still leave individual links untracked. Deep links into a mobile app are the usual case, since a redirect can stop the operating system from opening the app.- Design Studio
- HTML
- Elemental
Select the button, or the link inside a text block, and turn off tracking in its settings.
Turn off open tracking for one send
Settracking.open to false in the email channel override. The workspace setting stays as it is for every other send.
Push tracking
Every push Courier sends carries atrackingUrl in its data. Posting an event to that URL updates the message:
DELIVEREDwhen the push arrives on the device.CLICKEDwhen the user taps it.
Inbox tracking
The Courier client SDKs report opened, read, and clicked events from the inbox as users interact with it, so inbox messages fill in their own engagement without any setup. When a template sends to both email and the inbox, opening the email marks the inbox message as read. This uses the email’s tracking pixel, so it needs open tracking on. Reading the inbox message doesn’t mark the email as opened.Where tracked events show up
Every message keeps any
metadata you sent with it, including utm (source, medium, campaign, term, content), tags, and trace_id. It comes back on the message and on every webhook event, so you can join engagement to your own campaign data.
Custom tracking domain
Tracked links go through Courier’sct0.app domain by default. A custom tracking domain, such as tracking.acme-corp.com, puts your own domain in every link instead. Recipients see a domain they recognize, and some spam filters treat it more kindly than a shared tracking domain.
A custom tracking domain is available on the Business and Enterprise plans. Setup is done with Courier support.
1
Send Courier your subdomain
Email support the subdomain you want to use, for example
tracking.acme-corp.com.2
Add the DNS records
Courier sends you two records to add at your DNS provider:
- A certificate validation record, so Courier can serve HTTPS on your subdomain.
- A CNAME that points your subdomain at Courier’s tracking infrastructure:
3
Wait for activation
Once the records propagate, Courier support turns the domain on for your workspace. From then on, every tracked link in every email uses it.
4
Verify
Send yourself an email with a link in it and hover over the link. It should point at your subdomain, not
ct0.app.Why open rates are unreliable
Open tracking depends on the pixel loading. Inbox security scanners and Apple Mail Privacy Protection load images automatically, which records an open before anyone reads the email, or when no one does. A scanner can even load the pixel on an email that later bounced. Email clients that block images, common in corporate mail, don’t load the pixel, so those opens go unrecorded.Limits & behavior
- Tracking is separate from delivery.
DELIVEREDcomes from your provider.OPENEDandCLICKEDcome from Courier. Either can arrive without the other. - Only the first open and first click are timestamped on the message. Later opens and clicks don’t change
openedorclicked. - Push and inbox engagement comes from the SDKs. It’s reported regardless of the email tracking settings.
- The tracking domain is workspace-wide. It applies to every tracked link in the workspace, across every template and tenant.
FAQ
Why are my open rates higher than expected?
Why are my open rates higher than expected?
Inbox scanners and Apple Mail Privacy Protection load the tracking pixel automatically, and Courier records that as an open. Weigh clicks more heavily when you judge engagement.
Why does a message show OPENED but not DELIVERED?
Why does a message show OPENED but not DELIVERED?
Opens come from Courier’s pixel and delivery comes from your provider, independently. Either the provider hasn’t confirmed delivery yet, or delivery tracking isn’t set up for it. See .
Why don't my SMS messages have an open rate?
Why don't my SMS messages have an open rate?
A text message can’t carry a tracking pixel, so SMS reports delivery status but not opens or clicks.
Why aren't clicks on my push notifications showing up?
Why aren't clicks on my push notifications showing up?
The Courier mobile SDK reports push clicks. If your app handles notifications without the SDK’s hooks, post
CLICKED to the message’s trackingUrl yourself.How do I stop Courier from rewriting a deep link?
How do I stop Courier from rewriting a deep link?
Turn off tracking on that link: in Design Studio’s link settings, with
data-courier-link-tracking="false" in HTML, or with disable_tracking in Elemental.Do I need a custom tracking domain?
Do I need a custom tracking domain?
ct0.app works out of the box, with no custom domain required. A custom domain helps if you want your own brand in every link, or if your recipients’ filters are wary of shared tracking domains.