# Email Marketing Metrics Explained: Formulas, Limits and What to Trust

> What each campaign rate divides by, why opens and clicks can mislead, the complaint and bounce limits that matter, and how AcelleMail counts.

- Canonical URL: https://acellesend.com/kb/articles/email-marketing-metrics-explained
- Author: Ryan Walsh, Audience & Analytics Editor
- Category: Domain Knowledge — Email marketing fundamentals — consent, deliverability, metrics, list quality, key terms
- Content type: reference · Difficulty: beginner
- Tags: Email Marketing Basics, Open Rates, Click Rates, Analytics
- Published: 2026-09-30 · Last updated: 2026-10-06
- Reading time: 12 min
- Publisher: AcelleMail Knowledge Base, https://acellesend.com/kb

---

A campaign report is a handful of counts and the rates between them. To read one well, you need to know
two things about every rate: what it divides by, and what can make the count on top wrong. This guide
goes through both, metric by metric.

This guide covers:

1. The five counts behind every report
2. Delivery: delivered and bounced
3. Engagement: opens, clicks and unsubscribes
4. Why opens and clicks can mislead
5. Complaints: the number providers watch
6. Outcomes: conversions, revenue and ROI
7. Reading a campaign report in AcelleMail
8. Which numbers to judge a campaign by

It ends with the most common mistakes and a one-screen summary.

## 1. The five counts behind every report

Every rate in a campaign report is one of five counts divided by another:

![From send to sale: 10,000 sent, 9,800 delivered, 3,920 opened, 490 clicked, 49 converted, and the five rates built from them: delivery rate, open rate, click rate, click-to-open rate and conversion rate](https://acellesend.com/plugins/acelle/landing/images/help/kb/email-marketing-metrics-explained/01-from-send-to-sale.png)

Two conventions decide whether two numbers can be compared:

- **Unique or total.** A unique count counts each person once, however many times they opened or
  clicked. A total count includes every repeat. Rates use unique counts; a total is useful only to see
  how often people came back.
- **What the rate divides by.** Most tools divide opens and clicks by *delivered*, some by *sent*. The
  same campaign can show two different open rates in two tools. Check before you compare.

## 2. Delivery: delivered and bounced

| Metric | Formula | What it tells you |
|---|---|---|
| **Delivered** | sent − bounced | How many messages the receiving servers accepted. It says nothing about inbox or spam folder. |
| **Delivery rate** | delivered ÷ sent | The share that was accepted. |
| **Bounce rate** | bounced ÷ sent | The share that was refused. Split it by type before you act on it. |
| **Hard bounce rate** | hard bounces ÷ sent | The quality of your list. On a list collected with consent and cleaned regularly, it stays close to zero. |

A **hard bounce** is permanent (the address does not exist); a **soft bounce** is temporary (a full
mailbox, a busy server). Sending services judge you on hard bounces. Amazon SES, for example, counts
"only hard bounces", asks senders to stay below 2%, puts an account under review at 5% and may pause
sending at 10% ([Amazon SES sending review
FAQ](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html)). Other services publish their own
limits.

A high delivery rate does not mean your mail reached the inbox. That second decision is covered in
[Email Deliverability Explained](https://acellesend.com/kb/articles/email-deliverability-explained); what to do about hard
bounces is in [Email List Quality Explained](https://acellesend.com/kb/articles/email-list-quality-explained).

## 3. Engagement: opens, clicks and unsubscribes

| Metric | Formula | What it tells you |
|---|---|---|
| **Open rate** | unique opens ÷ delivered | Roughly how many people saw the email. Useful for trends in your own sends, weak as an absolute (section 4). |
| **Click rate** | unique clicks ÷ delivered | How many people acted on the email. The most dependable engagement signal you have. |
| **Click-to-open rate (CTOR)** | unique clicks ÷ unique opens | How well the content persuaded the people who opened. Automatic opens push it down. |
| **Unsubscribe rate** | unsubscribes ÷ delivered | How many people decided they no longer want your mail. A jump after one campaign points at its content or its timing. |

How the counts are collected matters for what follows. An **open** is recorded when a tiny image in the
email, a tracking pixel, loads from your server. A **click** is recorded when a link first passes
through a tracking address that notes the click and then forwards the reader. In AcelleMail both are
switched on per campaign, with **Track opens** and **Track clicks** under **Advanced Settings** in the
campaign's Setup step. With either switched off, its rate stays at zero.

## 4. Why opens and clicks can mislead

Both signals depend on software behaving like a reader, and three things break that link:

![What skews opens and clicks: Apple Mail Privacy Protection makes opens too high, images turned off make opens too low, and link scanners make clicks too high](https://acellesend.com/plugins/acelle/landing/images/help/kb/email-marketing-metrics-explained/02-what-skews-opens-and-clicks.png)

**Apple Mail Privacy Protection.** With it on, Apple Mail loads the images in an email when the message
arrives: remote content "is privately downloaded in the background when you receive a message (instead
of when you view it)" ([Apple, Mail on
Mac](https://support.apple.com/guide/mail/protect-email-privacy-mlhlp1205/mac)). In Apple's words the
feature "prevents senders from seeing if you've opened the email message they sent you" ([Apple, Mail on
iPhone](https://support.apple.com/guide/iphone/use-mail-privacy-protection-iphf084865c7/ios)). Every
Apple Mail reader who turned it on counts as an open, read or not. The share varies with your audience,
so the same open rate can mean different things on two lists.

**Images turned off.** Some mail apps, and some readers, load images only when asked. Those people can
read the whole email and never count as an open. A click still counts, so a reader who clicked has read
the email whether or not an open was recorded.

**Link scanners.** Security filters in many company mail systems follow the links in incoming mail to
check them. Microsoft Defender for Office 365, for one, says "URLs are scanned prior to message
delivery" ([Microsoft](https://learn.microsoft.com/en-us/defender-office-365/safe-links-about)). A scan
can register as a click. The pattern gives it away: every link in the email clicked within seconds of
delivery, often from the same company domain.

What this means in practice:

- Judge a campaign's success by clicks and what came after them, not by opens.
- Use the open rate to compare your own sends with each other: the same list, a similar time, two
  subject lines in an A/B test.
- Look past opens when you decide who has gone quiet; clicks are the better sign of a reader who left.
  See [Email List Quality Explained](https://acellesend.com/kb/articles/email-list-quality-explained), section 6.

## 5. Complaints: the number providers watch

The **complaint rate** (also called spam rate) is complaints ÷ delivered: how many people pressed
"Report spam". It is the one engagement number mailbox providers publish limits for:

![The two rates with published limits: complaint rate limits from Gmail (below 0.1%, never 0.3%), Yahoo (below 0.3%) and Amazon SES (review from 0.1%, may pause at 0.5%), and the Amazon SES bounce rate limits (best below 2%, review from 5%, may pause at 10%)](https://acellesend.com/plugins/acelle/landing/images/help/kb/email-marketing-metrics-explained/03-health-limits.png)

- **Gmail** asks senders to "keep spam rates reported in Postmaster Tools below 0.10% and avoid ever
  reaching a spam rate of 0.30% or higher" ([Email sender
  guidelines](https://support.google.com/a/answer/81126)). It counts only mail that reached the inbox:
  the spam rate "is the percent of your messages that are delivered to engaged recipient's Inbox and
  then marked as spam by the recipient".
- **Yahoo** asks bulk senders to stay below 0.3% ([Sender best
  practices](https://senders.yahooinc.com/best-practices/)).
- **Amazon SES** puts an account under review at 0.1% and may pause sending at 0.5%, counting only "mail
  sent to domains that send complaint feedback to SES".

**Why your report shows fewer complaints than there are.** A sending platform hears about a complaint
only when the mailbox provider reports it back through a feedback loop. Gmail does not report individual
complaints at all; its spam rate is visible only in [Gmail Postmaster
Tools](https://acellesend.com/kb/articles/gmail-postmaster-tools-walkthrough). A campaign report that shows zero complaints
means none came back, not that nobody complained.

## 6. Outcomes: conversions, revenue and ROI

| Metric | Formula | What it tells you |
|---|---|---|
| **Conversion rate** | conversions ÷ delivered, or ÷ unique clicks | How many recipients did what the email asked: bought, booked, signed up. Always say which denominator you used. |
| **Revenue per email** | revenue from the campaign ÷ delivered | What each delivered email earned. Lets you compare campaigns of different sizes. |
| **Return on investment (ROI)** | (revenue − cost) ÷ cost | Whether the campaign paid for itself. |
| **List growth rate** | (new contacts − contacts lost) ÷ contacts at the start of the period | Whether the list grows faster than it loses unsubscribes, bounces and complaints. |

None of these happen in the email, so your email platform cannot see them on its own. Tag your links so
your analytics tool or shop can tell which campaign sent the visitor. In AcelleMail, switch on **Enable
UTM tracking** under **UTM tracking** in the campaign's Setup step; every link then carries the
campaign's UTM parameters. Details: [UTM Parameters in
AcelleMail](https://acellesend.com/kb/articles/setting-up-utm-parameters-for-email-campaign-tracking) and [Email Campaign
ROI](https://acellesend.com/kb/articles/email-roi-calculation-measuring-campaign-profitability).

### A worked example

The counts from section 1, with the bounces and complaints added. Illustrative numbers, not a benchmark:

| Result | Count |
|---|---|
| Sent | 10,000 |
| Bounced | 200 (150 hard, 50 soft) |
| Delivered | 9,800 |
| Unique opens | 3,920 |
| Unique clicks | 490 |
| Unsubscribes | 29 |
| Complaints | 5 |
| Orders | 49 |

| Metric | Calculation | Result |
|---|---|---|
| Delivery rate | 9,800 ÷ 10,000 | 98% |
| Bounce rate | 200 ÷ 10,000 | 2% (hard: 1.5%) |
| Open rate | 3,920 ÷ 9,800 | 40% |
| Click rate | 490 ÷ 9,800 | 5% |
| Click-to-open rate | 490 ÷ 3,920 | 12.5% |
| Unsubscribe rate | 29 ÷ 9,800 | 0.30% |
| Complaint rate | 5 ÷ 9,800 | 0.05% |
| Conversion rate (of delivered) | 49 ÷ 9,800 | 0.5% |
| Conversion rate (of clicks) | 49 ÷ 490 | 10% |

The complaint rate looks safe at 0.05%. Remember that it counts only the complaints that came back to
you.

## 7. Reading a campaign report in AcelleMail

Open **Campaigns → Email** and click a sent campaign. Its report starts with four cards:

![A campaign report's four headline cards: 1 Recipients 1,938, 2 Delivered 1,187 (61.25%), 3 Opened 469 (39.51%), 4 Clicked 47 (3.96%)](https://acellesend.com/plugins/acelle/landing/images/help/kb/email-marketing-metrics-explained/04-campaign-report.png)

1. **Recipients**: every contact on the lists or segments the campaign was sent to. That includes the
   contacts it skipped because they were not **Subscribed**, or because email verification found them
   Undeliverable, Risky or Unknown. It is not the number sent. In this example, 1,938 contacts were on
   the list and 1,207 of them were Subscribed.
2. **Delivered**: the messages your sending server accepted, 1,187 here, including any that bounce
   later. Its percentage is of **Recipients**, so it is not a delivery rate. Messages that could not be
   sent at all show as **Failed** under **Statistics breakdown**, 20 in this case. The delivery rate of
   what was actually sent is 1,187 ÷ (1,187 + 20) = 98.3%.
3. **Opened**: unique opens, as a percentage of Delivered.
4. **Clicked**: unique clicks, as a percentage of Delivered. The click-to-open rate is not shown as a
   figure of its own; here it is 47 ÷ 469 = 10%.

Further down, the **Click rate** card lists **Total clicks** next to **Unique clicks**. The rate uses
the unique count.

**The figures are saved, not live.** At the top of the report, next to "Last updated", the ↻ button
(**Refresh campaign data**) recalculates them in the background; come back a few minutes later. In the
campaign list, a campaign whose figures need updating says "No statistics or out-dated, click to
update".

**Who did what.** The **Sending logs** menu on the report (**Logs** on an A/B test) lists each contact
behind the numbers: the **Delivery log**, **Bounce log**, **Feedback log**, **Open log**, **Click log**
and **Unsubscribe log**.

**Comparing campaigns.** The campaign list shows Delivered, Open rate and Click rate for every campaign.
Type part of a name into the search box to line up similar sends:

![The campaign list searched for "Edition": four campaigns with Delivered out of every contact on their list, Open rate and Click rate side by side](https://acellesend.com/plugins/acelle/landing/images/help/kb/email-marketing-metrics-explained/05-compare-campaigns.png)

The number after the slash in the **Delivered** column is the same Recipients count as on the report:
every contact on the list.

## 8. Which numbers to judge a campaign by

- **Success: clicks and conversions.** What readers did.
- **Health: complaints, hard bounces and unsubscribes.** Whether your list and your reputation are in
  good shape. These are the numbers with limits attached (section 5).
- **Opens: trends only.** Compare within your own sends, never as an absolute.

This guide gives no "industry average" on purpose. Published averages mix audiences, countries and
counting methods, and many cannot say how much of their open rate is automatic. Your own history is the
benchmark that matters: the same kind of campaign, to the same list, over time. When you want to know
whether a change helped, change one thing at a time; see [A/B Testing Email Subject
Lines](https://acellesend.com/kb/articles/ab-testing-email-subject-lines-for-better-open-rates).

## 9. Common mistakes

| What you see | Why it is a problem | What to do |
|---|---|---|
| Your open rate compared with an "industry average" or another tool's | Counting methods and denominators differ | Compare with your own earlier campaigns |
| Recipients read as "how many we sent" | It includes every contact the campaign skipped | Use Delivered plus Failed for what was sent |
| A rising open rate celebrated | Automatic opens can rise on their own, with no new readers | Check that clicks rose too |
| Total clicks used as the click count | Repeat clicks and link scanners inflate it | Use unique clicks |
| "Zero complaints" taken at face value | Gmail does not report complaints back | Check Gmail Postmaster Tools |
| A report full of zeros right after sending | The figures are saved and not yet updated | Click ↻ next to "Last updated" |
| A conversion rate with no denominator | Of delivered and of clicks differ tenfold | Say which one you used |

## Summary

1. Every rate is one count divided by another. Know which, and use unique counts.
2. Delivered means accepted by the receiving server, not placed in the inbox.
3. Opens are skewed both ways: Apple Mail Privacy Protection adds opens, blocked images hide them. Use
   them for trends only.
4. Judge success by clicks and conversions, and watch for link scanners.
5. Keep complaints below 0.1% and hard bounces near zero. Your report sees only the complaints that come
   back to you.
6. Tag links with UTM parameters to measure what happens after the click.
7. In AcelleMail, Recipients counts every contact on the list; read rates against Delivered, and refresh
   saved figures with ↻.
8. Benchmark against your own campaigns, not against averages.

Terms used here are defined in the [Email Marketing Glossary](https://acellesend.com/kb/articles/email-marketing-glossary).

---

## Related articles

- [Read the Campaign Report: AcelleMail Analytics Tour](https://acellesend.com/kb/articles/understanding-email-analytics-and-key-metrics): AcelleMail's campaign report has 6 tabs (Overview / Insights / Links / Map / Sending logs / Email review) and 5 headline metrics. This walkthrough shows where each metric lives, what 'good' looks like, and what to do when a number's bad.
- [Open Rates + Apple MPP: What AcelleMail's Numbers Actually Mean](https://acellesend.com/kb/articles/understanding-email-open-rates-in-the-age-of-apple-mpp): Apple Mail Privacy Protection inflates 30-45% of your "opens" by pre-fetching pixels. This guide shows how to spot MPP inflation in AcelleMail (open-log IPs), what to measure instead, and how to adjust your A/B tests + reporting.
- [UTM Parameters in AcelleMail — Tracking Clicks to Your Analytics Tool](https://acellesend.com/kb/articles/setting-up-utm-parameters-for-email-campaign-tracking): Configure UTM tags once in your campaign settings — AcelleMail appends them to every link in the email automatically. This guide walks the campaign-level + global UTM settings, the post-send click report, and how the UTMs land in Google Analytics or Plausible.
- [Email Campaign ROI: Math + AcelleMail Data Points](https://acellesend.com/kb/articles/email-roi-calculation-measuring-campaign-profitability): Email ROI = (Revenue − Cost) / Cost. This guide shows the math, which AcelleMail data points feed each variable, the costs people forget to count, and a working revenue-attribution pattern using UTMs + your store.
- [Email Deliverability Explained: How Mail Reaches the Inbox](https://acellesend.com/kb/articles/email-deliverability-explained): Delivered is not the same as inboxed. What Gmail, Yahoo and Microsoft weigh before they file your email, their sender rules, and the AcelleMail settings.
