Engagement

What is open rate, and is it still a useful metric?

Open rate is the share of delivered messages that registered an open. It was the default measure of email engagement for two decades, and it stopped being trustworthy when mail clients started fetching images on the recipient's behalf. It is still worth having, for a narrower purpose than it used to serve.

How is an open actually measured?

By loading a small image, which is the whole reason the metric is fragile.

An open is recorded when a mail client fetches a transparent pixel embedded in the HTML part of the message. There is no other mechanism, and there is no signal from a mail client that says a person read something. Bird's open and click tracking describes the instrument plainly: a pixel is injected, and an email.opened event is recorded when it is fetched.

Everything that follows is a consequence of that one design choice. Anything that fetches images produces an open, whether or not a human was involved, and anything that does not fetch images produces no open, whether or not a human read the message.

What did Apple Mail Privacy Protection change?

It made the fetch deliberate and unconditional.

Apple's own description of the feature in the iPhone User Guide is short and unambiguous about the intent:

In the Mail app, turn on Mail Privacy Protection to make it harder for senders to learn about your Mail activity. Mail Privacy Protection hides your IP address so senders can’t link it to your other online activity or determine your exact location. It also prevents senders from seeing if you’ve opened the email message they sent you.

Apple said the same thing when it announced the feature:

In the Mail app, Mail Privacy Protection stops senders from using invisible pixels to collect information about the user. The new feature helps users prevent senders from knowing when they open an email, and masks their IP address so it can’t be linked to other online activity or used to determine their location.

Note what "prevents senders from seeing if you’ve opened" means mechanically. The pixel is not blocked, which would produce no open and reveal the setting. It is fetched, for messages the person never looked at, which produces an open indistinguishable from a real one unless you look at how it was fetched.

Gmail's image proxy has a similar effect for a different reason. The result is the same: a meaningful share of recorded opens correspond to no human action.

Can the inflation be filtered out?

Partly, and knowing which part matters.

Bird marks proxied opens with is_prefetched: true and computes the dashboard open rate from unique non-prefetched opens only, leaving both figures available through the stats API. So the reported rate is not the raw one, and the gap between them is visible rather than assumed.

That filtering fixes one direction. It does nothing about the other, which the Apple Mail Privacy knowledge-base page states directly:

Filtering does not make opens exact. Recipients who block images or use text-only clients can read a message without registering an open.

So the error runs both ways. Privacy features inflate; blocked images and plain-text reading deflate. The two do not cancel, and the balance between them differs by audience: a developer newsletter and a consumer promotion have very different populations of image-blocking readers.

Is an open a signal to anyone else?

Not directly, and this is worth separating from your own reporting.

Mailbox providers do weigh engagement, and engagement-based filtering is real. But what they weigh is behaviour they can observe in their own product, not your pixel. They do not read your open rate, and your open rate does not read their signal.

Spamhaus makes a related point about the sender's side of this, which applies to opens as much as to clicks:

The fact that an email is opened or a link is clicked does not mean consent has been given.

Anti-abuse systems interact with mail too. So a fetch is not consent, not attention, and not necessarily a person.

What should I use it for?

Trends, comparisons within a single audience, and nothing that decides a person's fate.

Three uses that still hold:

  • A large relative change over time. If opens halve week over week, something happened, even if you cannot say what the true rate is.
  • A test between two variants sent to the same audience at the same time. Both arms carry the same distortion, so the difference between them is more meaningful than either number.
  • A rough floor on deliverability. Opens collapsing across every provider is a strong hint that mail is not being seen at all, which is a placement problem rather than a content one.

Two uses that do not:

  • Reporting an absolute figure as engagement. The number is not a measurement of readers and should not be presented as one.
  • Deciding whether to keep mailing one person. A per-recipient decision built on opens will retire people who read your mail with images off, which is the population most likely to be technical and least likely to complain.

For decisions that matter, clicks are the better instrument, for the reason Bird's own guide gives: an open needs an image to load and a click does not. What is click-through rate covers what that buys you and what it still cannot tell you.

Build on the same network.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor