Skip to main content
Courier records opens and clicks itself, separately from the delivery confirmation your provider sends back. That’s why a message can show 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.
Both apply to every environment in the workspace. Turning either one on or off is recorded in the . Courier adds the pixel after the email is rendered, so it works on templates built in Design Studio and on templates that use your own HTML.
Links must use absolute URLs. Courier doesn’t attach tracking to a relative URL: the email still sends, but the click doesn’t get counted.
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.
Select the button, or the link inside a text block, and turn off tracking in its settings.

Turn off open tracking for one send

Set tracking.open to false in the email channel override. The workspace setting stays as it is for every other send.
The other email override fields are listed in .

Push tracking

Every push Courier sends carries a trackingUrl in its data. Posting an event to that URL updates the message:
  • DELIVERED when the push arrives on the device.
  • CLICKED when the user taps it.
The Courier mobile SDKs post both for you once your app is wired up. shows which part of your app reports each event on iOS and Android. If you handle notifications outside the SDK’s hooks, post the event yourself:

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’s ct0.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. DELIVERED comes from your provider. OPENED and CLICKED come 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 opened or clicked.
  • 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

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.
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 .
A text message can’t carry a tracking pixel, so SMS reports delivery status but not opens or clicks.
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.
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.