Documentation
Sign inGet started

Open and click tracking

Open and click tracking are what turn a delivered message into the engagement numbers on the Metrics dashboard. You enable them per sending domain on the Domains page (Email → Domains), where you also add the tracking CNAME. Both are opt-in and instrument each message as it's sent.

Open tracking

When open tracking is enabled, Bird injects a transparent tracking pixel into the HTML part of your message. When a recipient's mail client fetches the pixel, Bird records an email.opened event.
Modern inboxes complicate this signal: Apple Mail Privacy Protection and Gmail's image proxy auto-fetch images on the recipient's behalf, producing opens that no human triggered. Bird flags these as prefetched (is_prefetched: true) on the open event and counts raw and non-prefetched opens separately. Your open rate is based on unique non-prefetched opens, so privacy-proxy noise doesn't inflate it. A recorded open may still be a proxy prefetch, which is why opens are a soft signal; prefer clicks for decisions that matter.

Click tracking

When click tracking is enabled, Bird rewrites the links in your HTML through a tracking redirect: the recipient clicks the rewritten URL, Bird records an email.clicked event (including the original url), and immediately redirects to the destination.
Rewritten links are served from your domain's branded tracking hostname, the tracking CNAME you configure on your sending domain. By default it is links under your sending domain: links on mail.acme.com becomes links.mail.acme.com. Tracking only runs once that CNAME has verified; until then nothing is rewritten or pixelled. Once it verifies, tracked links are served over HTTPS from your own branded hostname. Tracking readiness is reported separately from sending readiness (capabilities.tracking vs capabilities.sending on the domain resource): an unverified tracking CNAME never blocks sending, only tracking.

Per-send toggles

track_opens and track_clicks are per-send booleans on POST /v1/email/messages, and both default to true. Set either to false to skip pixel injection or link rewriting for that send, which is common for transactional mail where rewritten links are undesirable (password resets, security notifications).
Effective tracking is the AND of the per-send flag and your domain's tracking settings: a message is tracked only when the per-send flag is true, your domain's open or click tracking setting is enabled, and the tracking CNAME has verified. Those domain-level settings default to off, so even though track_opens and track_clicks default to true, opens and clicks aren't tracked until you set up a branded tracking domain and turn the setting on; a per-send true can't enable tracking on its own. A per-send false always suppresses tracking for that message. The message resource echoes the resolved values back, both in the send response and on later reads.

Next steps