# Apple Mail Privacy & open tracking

If your open rates look surprisingly high — or jumped at some point without any change on your side — you're seeing the effect of mail privacy features, most prominently Apple Mail Privacy Protection. Understanding what an "open" actually measures now is essential to reading your metrics honestly.

## What changed

Open tracking works by embedding a tiny invisible image in each message; when the recipient's mail client loads the image, an open is recorded. Apple Mail Privacy Protection breaks the link between that image load and a human reading the message: for recipients who use it (most Apple Mail users have it enabled), Apple's servers pre-fetch the message's images on the recipient's behalf — often shortly after delivery, whether or not the message is ever read. Each prefetch registers as an open. Gmail's image proxy adds similar machine-driven noise.

The result: a meaningful share of recorded opens are generated by machines, not people. Raw open counts overstate real engagement, and the gap varies with how many of your recipients use Apple Mail — so two audiences with identical real engagement can show very different raw open rates.

## Genuine opens vs machine opens

The useful distinction is between **non-prefetched opens** — the image was loaded in a way consistent with a human opening the message — and **machine opens**, where a privacy proxy fetched it automatically. Bird detects prefetches and keeps the two apart: each open event carries an `is_prefetched` flag, and the open rate shown in the dashboard is computed from non-prefetched opens only, so privacy-proxy noise doesn't inflate the headline number. The raw counts remain available alongside the filtered ones for anyone who wants both views; the [open and click tracking guide](/docs/guides/email/open-click-tracking) defines exactly how each figure is computed.

This filtering makes Bird's open rate a more honest number than a raw count, but it doesn't make opens a precise measurement. Detection is conservative, not perfect — and the inverse problem also exists: recipients with images blocked or text-only clients read your mail without ever registering an open.

## How to read engagement now

Treat opens as a **soft signal**: good for spotting trends and large relative differences, unreliable as an absolute measure or for per-recipient decisions.

- **Lean on clicks, replies, and conversions.** A click requires a deliberate human action, which makes it the more trustworthy engagement signal — and replies and downstream conversions are stronger still. When you compare campaigns or judge whether content lands, weight these over opens.
- **Compare like with like.** Open rates are still useful relatively — this month vs last month, variant A vs variant B — as long as the audience mix is similar, since the same share of machine noise affects both sides.
- **Don't prune your list on opens alone.** Deciding someone is "inactive" because they never registered an open misclassifies text-only and image-blocking readers. Use absence of clicks over a long window as the pruning signal instead.

## Next steps

- [Open and click tracking](/docs/guides/email/open-click-tracking): how opens and clicks are instrumented and how the rates are computed
- [Events and webhooks](/docs/guides/email/events) — the per-recipient event definitions, including the `is_prefetched` flag on open events