Key takeaway
An open rate is the share of delivered messages that registered an open. There's no average worth copying: each published figure measures a different set of senders, window, denominator, and share of Apple Mail fetching images with nobody present since 2021. I read opens as a trend line on one list and never as a verdict, and I run the campaign on a click or a conversion. Your own trailing median by campaign type is what predicts yours.
What the average email campaign open rate is.
Every published all-industry average was computed on a different population by a different rule, so no two of them were ever going to agree. The spread is mechanical. Any average you borrow belongs to whoever computed it, and the only number that says anything about your next campaign is the one your own sending produced last month. I've watched a team spend a week hunting for the subject-line change that lifted their opens by four points, when what had actually changed was who was on the list: a conference import had landed the Friday before, and brand-new contacts open the way brand-new contacts always do. Nothing about the email had improved.
That breaks on day one. A sender with no history has nothing to average, and the answer still isn't somebody else's table. It's the direction of travel across the first six sends, which is the procedure further down this page.
How an open rate is calculated, and what counts as an open.
The formula is opens divided by messages delivered, expressed as a percentage. Delivered, not sent: a message that bounced never reached a mailbox, so leaving it in the denominator measures your list hygiene and your engagement in the same figure. Take a campaign with 10,000 delivered messages and 2,400 unique opens, and the open rate is 24%. Those are worked numbers for the sake of the arithmetic, not a target.
Two platforms can report two different rates for the identical campaign, because they disagree about both halves of the fraction:
- Delivered: sent minus hard and soft bounces, so a platform dividing by sent always reports a lower rate than one dividing by delivered.
- Unique opens: one per recipient however many times they open the message, which is what most reporting screens show by default.
- Total opens: every open event, repeats and pre-fetches included, which is the larger number and the one that flatters a report.
All three definitions assume an open event means a person looked at the message, and that assumption stopped holding in 2021.
Why Apple Mail Privacy Protection broke the number.
Apple Mail Privacy Protection loads the remote images in a message before the recipient has done anything. Apple's description is that Mail downloads remote content in the background by default, regardless of whether you engage with the email, and routes the request through two separate relays, so the sender learns neither the recipient's IP address nor the moment of a real open. The pixel still fires. It just stopped being evidence that a person was there.
A pixel that fires without a reader isn't a measurement of readers. Every open figure computed since then mixes genuine opens with pre-fetched ones, in a proportion that moves with the share of Apple Mail on the list, so a B2B list read mostly in Outlook on a laptop and a consumer list where half the addresses sit in Apple Mail can post the same headline figure and be describing two different things. It's also why a list can appear to improve after an OS update, when what changed is how many devices have the feature switched on.
The temptation from there is to throw the metric away. Open rate still moves when the subject line, the sender name, or the send time changes, and inside one list over a stable window it's a usable relative signal. What it stopped being is an absolute one you can hold against another sender's number. Apple Mail wasn't the last mediated inbox either. Gmail's AI-generated summaries let a reader learn what a message says without opening it, and I now check that noise against authentication and reputation the same way I used to check Apple Mail's share of a list.
Build your own baseline instead of borrowing an average.
A baseline is what your own sending does when nothing unusual is happening, and it's the only figure comparable to what you send next week. Set it up as a standing query your agent reruns after every send, rather than an afternoon of exporting. It survives every future change in how the industry counts opens, because it's computed the same way every time, by the same platform, on the same list. Five steps, and the second one moves the number more than the other four together.
- Take a rolling window of your last six to twelve campaigns rather than reading a single send as a trend.
- Split broadcast from triggered and automated mail before you average anything, because they go to two different populations and behave like it.
- Use the median across campaigns rather than the mean, so one newsletter to a freshly re-engaged segment doesn't drag the whole picture up with it.
- Segment by mail client wherever your platform exposes it, so the Apple Mail share of your list is visible rather than baked invisibly into one number.
- Re-baseline after anything that changes who's on the list, including a bulk import, a sunset policy, or a new acquisition channel.
What you get is a number comparable to your own next send and to nothing else, which is exactly the job. A baseline isn't a benchmark and it can't tell you whether you're good, only whether you're different from yourself, which is the question a campaign report is actually being asked. A brand-new list is the exception. There's nothing yet to average, so the first six sends are the baseline.
You need a metric that feeds back into your strategy. We built our app to track sales directly so it can "improve its recommendations over time, because we measure revenue per email, per store", as I detailed on Developer Podcast. This creates a baseline unique to your shop.
The numbers mailbox providers publish thresholds for.
Gmail and Yahoo both publish what a bulk sender has to do to keep being delivered, and open rate appears in neither document. Complaint rate, authentication, and unsubscribe handling do, with hard numbers attached to the first of them. I'd read the complaint rate before the open rate every week for that reason alone: one has a published ceiling and the other has an audience of you. That reframe is worth more than any benchmark table: the metrics that decide whether your next campaign reaches an inbox are documented, and open rate isn't one of them. It makes sense from their side of the wire, too. A mailbox provider can see what its own users report as spam and whether your mail is authenticated, and has no reason to care what your tracking pixel thinks happened afterwards.
| Requirement | Yahoo | |
|---|---|---|
| Spam complaint rate | Bulk senders (more than 5,000 messages a day to Gmail) held below 0.30% in Postmaster Tools, under 0.10% recommended. | Below 0.3%. |
| Authentication | SPF and DKIM on the sending domain plus a DMARC record, required for bulk mail. | Same: SPF, DKIM, and DMARC required for bulk mail. |
| One-click unsubscribe | RFC 8058 header pair on marketing mail. | RFC 8058 header pair, plus unsubscribe requests processed within two days. |
Meeting all three is a floor rather than a strategy. A list that clears every one of them can still be sending mail nobody wants, and when that happens the complaint rate moves before the open rate does. Watch the complaint rate weekly at bulk volumes, because it's the one number on this page with a published line under it and a real consequence for crossing it.
What to check when the open rate drops.
A fall in opens is a symptom with four common causes. Delivery, campaign type, complaints, and client mix are a single pass for an agent that can read all four at once, and four separate screens for a person clicking through them in whatever order they guessed at, which is what costs the week. Start with delivery. If delivered messages fell alongside opens, this isn't an engagement problem at all: something bounced or was blocked, and the bounce log will say which. A hard bounce rate that climbed from a fraction of a percent to several percent between two sends usually means the list picked up addresses that were never valid, and the open rate is only reporting the consequence.
Next, look at what you sent. A broadcast to the whole list after a month of triggered mail reads as a collapse and is only a different population arriving in the same report, which is the mistake the second baseline step exists to prevent. Then check complaints and unsubscribes against the thresholds above, because both move before anything else does when the content or the sending frequency has gone wrong.
Measurement comes last, and it's the check most people run first. A drop that shows in opens while clicks, replies, and orders hold steady is usually a change in how opens are counted or in who's opening on which client, not a change in how the campaign performed. The case this order misses is a reputation problem that hasn't reached the bounce log yet, which shows up as opens sagging at one mailbox provider while the others hold.
Which metric to run the campaign on.
Click rate is clicks divided by delivered messages, and it sits closer to the reader than an open does, because a click means something in the message got chosen rather than fetched. Click-to-open rate is clicks divided by opens, so it inherits the open-rate problem in its denominator and deserves the same caution as the number underneath it. Worth saying plainly, because click-to-open is the metric most often offered as the replacement for open rate, and it's only half free of the thing it replaces.
Pick two and report those. One tied to money: conversions, revenue per recipient, or replies if you're sending to a B2B list where the reply is the conversion. One tied to list health: complaint rate and unsubscribe rate, which is where a mailbox provider is looking anyway. Open rate keeps a job after that, as a test signal for subject lines and send times inside a single list, which is the one comparison it's still good at.
None of that survives a small list. Under a few thousand recipients, weekly click numbers swing on a handful of people, and no amount of choosing a better metric fixes it. The answer is a longer window, monthly rather than weekly, and the patience to leave a test running until enough people have been through it to mean anything.
Open rates do not pay the bills. Revenue per email sent is a better target. I made this point on QA Selling Online when discussing how our "highest performing email type is incredibly simple email" that just recommends products. The financial return is "the highest across all the SmartrMail using those product recommendation emails" we offer.
Ask your own numbers instead of somebody else's.
The dashboard-first platform you're on today was built for a person clicking buttons, so an agent reaches only what somebody wrapped in an API. Nitrosend is an AI-native email platform: MCP-first, every capability an API endpoint and an MCP tool before it's a screen. Three numbers run this page: a baseline, a median by campaign type, and the complaint rate. That's one question for your agent, or three exports by hand. Send your first campaigns on the free tier and ask it what they did.
A simple product layout often beats a complex newsletter. The emails generating the most money for us are just items suggested from what a customer has "bought, added to card or liked", a dynamic I covered on QA Selling Online. They are "by far the best performing emails on our platform" when you measure actual sales.
Go deeper
Sources
- Apple, Mail Privacy Protection and Privacy: Mail downloads remote content in the background regardless of engagement, and routes the request through two separate relays.
- Google, Email sender guidelines: the 5,000-a-day bulk sender definition, the 0.30% spam-rate limit and 0.10% recommendation, SPF, DKIM, and DMARC, and one-click unsubscribe.
- Yahoo Sender Hub, best practices: the 0.3% spam-rate line, Yahoo's authentication requirements, and processing unsubscribe requests within two days.
Common questions
Published averages for campaign email don't converge on a single point, because each figure measures a different set of senders over a different window, with different rules about what counts as an open and what sits in the denominator. Rather than picking one to copy, compute your own trailing median across the last six to twelve campaigns, split by campaign type.
Good against what. Measured against your own last six sends of the same campaign type, 20% is up, down, or flat, and that comparison is worth acting on. Measured against another platform's industry table it says almost nothing, because that table was computed on other people's lists, with a different share of Apple Mail and possibly a different denominator.
Unique opens credit a recipient once, no matter how often they come back to the same message, and that's the figure most platforms put on the summary screen. Total opens tally every fire of the tracking pixel, so repeat views and automatic pre-fetches both add to the count and it runs higher. Check which one your platform reports before you compare its figure to anything.
Apple Mail downloads the remote content in a message in the background by default, whether or not the recipient engages with it, and routes the request through relays that hide the recipient's IP address. The tracking pixel fires anyway, so an open event stopped being evidence that a person read the message, and a reported open count now includes messages nobody opened.
Divide opens by messages delivered, then multiply by 100. Delivered rather than sent, because a bounced message never reached a mailbox and counting it drags the rate down for a reason that has nothing to do with engagement. Decide whether you're using unique or total opens, and use the same one every time.
Prune inactive contacts, but not on open data alone. With pre-fetching in play, a contact with no recorded opens may be reading every message in a client that never loads the pixel, and one with plenty of opens may never have looked. Use clicks, replies, and orders to decide who's genuinely inactive.
Industry explains less of the difference than three other things: whether the mail is broadcast or triggered, how recently the contacts were acquired, and what share of the list opens in Apple Mail. Two senders in the same industry with different answers to those will report very different rates, and both will be right.
Report one revenue metric and one list-health metric: conversions or replies on one side, complaint rate and unsubscribe rate on the other. Complaint rate is the one with a published threshold behind it, since Gmail and Yahoo both tell bulk senders where the line sits. Keep open rate as a subject-line and send-time test signal.