Skip to documentation

Domains

Open and click tracking

Measure opens and clicks through a tracking subdomain served by your own installation.

How it works

Opensend tracks opens and clicks itself; Amazon SES only delivers the message. When tracking is on, Opensend rewrites the HTML links in each email and adds a tracking pixel. The links and pixel point at your domain's tracking subdomain, which forwards to your installation.

Turn it on

  1. Open the domain and go to the Configuration tab.
  2. Under Enable tracking metrics, click Configure.
  3. In Configure tracking, keep or change the Tracking subdomain (default links, so links become links.<your domain>), and turn on Click tracking, Open tracking, or both.
  4. Click Save, then add the Tracking CNAME shown on the page at your DNS provider and verify the domain.

The CNAME points at the hostname of your installation's public URL. Until it verifies, tracked links use the installation's own hostname, and a domain that is otherwise ready can already send.

Serve the tracking host

A CNAME alone gives the tracking host neither a TLS certificate nor a route. Before you verify it, make sure your proxy terminates HTTPS for the tracking hostname and forwards /t/* to the Convex HTTP site on port 3211. The optional Caddy add-on does this for every verified tracking host. See reverse proxy and TLS.

What is tracked

html
<a href="https://example.com/account">Tracked account link</a>
<a href="https://example.com/private" ses:no-track>Untracked link</a>
  • HTTP and HTTPS links in HTML a and area tags are rewritten. Plain text, mailto: links, fragments, unsubscribe links, and links with ses:no-track or rel="unsubscribe" are left alone.
  • Every open and click adds an event, including repeats, and fires email.opened or email.clicked.
  • An email with several recipients shares one tracking token, so events are counted per message, not per recipient. Link scanners and mail prefetching can create events too.
  • An email can carry up to 1,000 tracked links and 128 KiB of destination URLs; more fails the send before it reaches SES. Each email accepts up to 120 tracking hits a minute; more return 429 without an event.
  • Tracking links stop working when the email's content expires after 30 days, and when BETTER_AUTH_SECRET is changed.