Home/Email Marketing/Email marketing conversion rate, and why it isn't one number

Email marketing conversion rate, and why it isn't one number.

Three choices decide your number, and none of them happen inside your email platform.

VerifiedBy George Hartley, Co-founder·Updated August 30, 2026

Key takeaway

An email marketing conversion rate is the share of the people you emailed who did the one thing the email asked for. It isn't a single number: the same 300 orders read as 0.3% of addresses mailed or 7.5% of people who clicked, depending on the denominator, the action counted, and a lookback window that defaults to 90 days. So a published benchmark can't judge your campaign. I'd fix the denominator first, tag every link identically, and hold a slice back.

What an email marketing conversion rate measures.

An email marketing conversion rate is the share of the people you emailed who went on to do the one thing the email asked for: an order, a booking, a signup, or a demo request. It's the only email metric measured after the reader has left the email, which is why it's the only one that can be wrong in ways your sending platform never sees. And it isn't one number. It never was.

Three choices decide it, and every sender makes them differently: which action counts, what sits under the division line, and how long after the click the action still gets credit. Two teams can run the same campaign to the same list and report rates that differ by an order of magnitude, with nobody making a mistake.

I keep meeting one version of this. A team reports a conversion rate that climbed all quarter, and nobody can point at the campaign that did it, because nothing about the campaigns changed. What changed was the analytics property. Somebody added a second event to the list of things that count as a conversion, and the whole series moved under everyone's feet.

A rate computed on somebody else's denominator, over somebody else's customers, inside somebody else's crediting window, isn't a thing your campaign can be measured against. What you can build instead is a number that's honest about your own list.

Total revenue share tells you more than individual campaign metrics. We built our dashboard to highlight this exact percentage. I used a typical baseline on In the Ring with SUMO Heavy: a store making 18% of its revenue from email can "test, implement new things and try and increase that number" over time.

The denominator decides the number.

Here's the arithmetic, with figures picked to be easy rather than typical. A campaign goes out to 100,000 addresses, 97,000 of them are delivered, 4,000 people click, and 300 place an order. That single campaign produces four defensible conversion rates, and every one of them is correct.

Four candidates for the divisor:

  1. Sent: every address the campaign was released to, bounces included, which is the most conservative divisor and the one that moves when list hygiene changes.
  2. Delivered: the messages a mailbox provider accepted, which is what most platforms report and what most written formulas on this topic mean.
  3. Opened: the messages that registered an open, which sounds like the most relevant divisor and is the one you can't use.
  4. Clicked: the people who reached the landing page, which measures the page rather than the email and is the right divisor when the page is what you're testing.

Run the same 300 orders over each of those and the answer ranges from 0.3% of the addresses mailed to 7.5% of the people who clicked. So a conversion rate with no denominator attached is a number with no unit on it. State the divisor in the same sentence as the rate, every time, and most of the arguments about whose number is right stop happening.

Picking one makes your own campaigns comparable to each other, which is most of the value on offer. It doesn't make them comparable to anybody else's, and the reason for that sits in a system your email platform doesn't own.

You need to look at your total sales volume to understand your email performance. The raw dollar amount matters less than the proportion of your overall revenue. An optimization strategy discussed on SaaS District starts with finding out if you are "getting 8% of our sales through email" and using that baseline to squeeze the number up.

Opens stopped being a denominator you can use.

Apple Mail loads a message's remote content before the reader gets to it. Apple's own description of Mail Privacy Protection is that it downloads remote content in the background by default, whether or not you engage with the email, and routes the request through two separate relays so the sender sees neither the moment of a real open nor the recipient's IP address.

An open event that fires without a person is fine as a directional signal. It's useless as a divisor, because the share of those events that came from a human is different for every list, moves with the mix of mail clients on it, and can't be seen from outside the sending platform.

None of that is a reason to stop looking at opens. They still move when a subject line, a sender name, or a send time changes, so they stay useful inside one list and across one team's own sends. What they stopped being is arithmetic anyone can build a rate on.

Your analytics tool counts the conversion, not your email.

The order happens on your website. Your email platform never sees it and has no way to see it, because the reader left. Something else, almost always a web analytics property, decides that this order belongs to that email, and it decides it from three settings most marketers never open.

Three settings, and each one changes the number:

  1. Campaign parameters: the tags on the link that tell the analytics tool where a visit came from, and Google's campaign URL guidance is to always set utm_source, utm_medium, and utm_campaign.
  2. The channel rule: a visit is filed under email only when its source or medium matches the tool's own pattern, and in Google Analytics the default channel group rules are fixed and can't be edited.
  3. The lookback window: how long after a click a purchase still counts, which in Google Analytics has a default lookback window of 90 days for most key events, with 30 and 60 available.

Then there's the part that quietly costs the most. An untagged click often can't be identified as email at all. Under the default referrer policy, a cross-origin request sends the origin only, not the path and not the query string, so the destination learns that somebody arrived from a mail host and nothing else. Links opened in webmail frequently send no referrer at all.

The conversion still happened. The revenue is still real. It lands in direct traffic, where nobody attributes it to anything, and the campaign looks like it did nothing.

Getting all three settings right makes your own numbers internally consistent, which is worth doing this week. It still doesn't make them comparable to a published benchmark, because that benchmark was computed under three different settings on somebody else's stack.

Tagging is a property of the send, not a thing somebody remembers.

In most stacks, campaign parameters get pasted into links by whoever builds the campaign. A naming convention lives in a document, somebody follows it, and the reports line up. That works while one person sends four campaigns a month.

A tag that depends on somebody remembering it fails silently, and it fails worst exactly when volume rises. Nothing errors. No send is blocked, no alert fires, and the link works perfectly: the reader clicks, the reader converts, and the revenue is filed under direct traffic. Three months later the quarterly review concludes that email underperforms, and what gets proposed is a new subject-line strategy.

The version that survives is the one where the parameters are applied by the system on every send, and can be checked while the campaign is still editable. That's a capability question rather than a discipline question. An agent bolted onto a dashboard-first platform inherits the dashboard's questions: it can build the campaign a human would have built, and it still can't be asked something the screens were never designed to answer. Nitrosend is MCP-first, so "show me every link in tomorrow's send with no campaign source" is a question you can actually ask, and the answer arrives while there's still time to act on it. Every capability is an API endpoint and an MCP tool before it's a screen.

Perfect tagging tells you where a conversion came from. It doesn't tell you whether the email caused it, and those are two different questions with two different answers.

Build the number, then hold a slice back.

A conversion rate rises when you mail fewer, better addresses and falls when you mail deeper into the list, with nothing about the email changing. That's list depth showing up in the number rather than a signal about the email, and it's why a bare rate makes a poor series. Nothing you do to the arithmetic fixes it. What fixes it is holding a random slice of the audience back, so every rate you report has a group beside it that got no email and converted anyway.

Five steps, in order:

  1. Pick one action per campaign type and write it down. A conversion that changes definition between sends isn't a series.
  2. Fix the denominator and put it in the report's title, so nobody has to ask which one it is.
  3. Tag every link the same way on every send, so the channel rule files them together.
  4. Hold back a random slice of each segment, big enough to read, and mail it nothing.
  5. Compare the mailed group with the held-back group after the same window, and report the difference rather than the raw rate.

The gap between those two groups is the number a business decision can be made on. The raw rate is the number you report to somebody who has already decided the answer.

A holdout costs you the sends it withholds, so on a small list or a rare campaign type it takes months to read, and the honest answer is that it isn't worth running there. Put it on the recurring flows, where volume accumulates on its own, and accept a raw trailing baseline on everything else.

What actually moves conversions, in order.

The levers that move a conversion rate aren't equal in weight, and treating them as equals is how a quarter disappears.

First, the offer and who gets it. Relevance decides more than everything below it combined, and it's the only item here that can't be repaired in the template. A segment that genuinely wanted the thing will convert on a plain-text email with one link in it. A segment that didn't won't convert on anything, and every hour spent on the design of that email is an hour spent making a no arrive more beautifully. The lift from getting it right is large enough to notice: personalized content has been shown to pull in seven times the revenue of a generic send, a gap no amount of template polish closes.

Second, the landing page matching the email. The most common failure I see is an email that promises one thing and a page that opens on another: a different headline, a different offer, or a form asking for six fields when the email implied one click. Readers don't reconcile the two. They leave, and the click still looks like a success in every report you have.

Third, one action per email. Two calls to action split the click, and a reader who can't choose picks neither.

Everything else sits below those three, named once and not expanded: subject line, send time, and template design. Subject lines move opens, which is a different metric with a different denominator, and treating them as conversion levers is how a team spends a quarter on the top of the funnel while the landing page stays broken.

This ordering is a starting prior for a sender with no test history, not a law. Tag every send the same way and hold a slice back, and your own ordering falls out of the sends themselves: something you can check before the next campaign goes out rather than reconstruct from a quarter of reports, and it beats any ranking including this one.

List growth dictates your ceiling for future sales. A high performing store converts at 1%. That leaves 99 out of 100 people leaving empty handed. The funnel math is simple on QA Selling Online: a decent pop up will "capture 6% of that traffic into your email funnel" and give you a second chance at the sale.

Fix the half that happens before the send.

Most conversion numbers are assembled by hand out of a sending dashboard, an analytics property, and a spreadsheet, held together by tagging that depends on somebody's memory. Your analytics property still counts the conversion and nothing on the sending side can do that for you. Everything upstream can change: Nitrosend runs the whole stack from one agent command, so a campaign, its links, its segments, and its parameters are one thing you inspect before the send. Start free and check your next campaign's tagging before it goes out.

The work starts before you draft a subject line. A great site conversion rate sits at 1%. We see stores push that number higher by capturing the traffic that bounces. The math is straightforward on SaaS District: you can shift that baseline to 3% or 4% "just by properly and aggressively collecting emails."

Sources

Common questions

What is a good email conversion rate?

There isn't a single figure that carries across senders, because a conversion rate depends on which action you count, what you divide by, and how long after the click you still give credit. Change any one of the three and the same campaign reports a different number. The comparison that works is your own last several sends of the same campaign type, measured the same way each time.

How do I calculate email conversion rate?

Divide the number of people who completed the action by the number of messages delivered, then multiply by 100. Name the denominator in the same breath, because delivered, opened, and clicked all produce different rates from the same campaign. Clicked measures your landing page. Delivered measures the campaign as a whole, and it's what most written formulas on this topic mean.

What's the difference between click-through rate and conversion rate?

Click-through rate measures the email: how many people the subject line, the copy, and the button persuaded to leave. Conversion rate measures what happened after they left, on a page your email platform can't see. A campaign can have a strong click rate and almost no conversions, and that gap is a landing-page problem rather than an email one.

Why is my conversion rate low when my open rate is high?

Three candidates, in the order worth checking. The landing page doesn't match what the email promised, so people arrive and leave. The offer is wrong for that segment, and a high open rate only tells you the subject line worked. Or the links carry no campaign parameters, so the conversions land in direct traffic and never get counted as email at all.

Can I recover email conversions that already landed in direct traffic?

Not retroactively. A visit that arrived with no campaign parameters on it left no record that the click came from an email, so no report can reassign it later. What you can do is bound the damage. Tag every link from today, then set a tagged month beside an untagged one and read the difference as a rough size for how much of your direct traffic was email all along. Treat the older numbers as a floor rather than a measurement.

How long after someone clicks does a conversion still count?

That's the lookback window, and it's a setting rather than a fact about your customers. Google Analytics defaults to 90 days for most key events, with 30 and 60 available. Sessions themselves <a href="https://support.google.com/analytics/answer/9191807" rel="nofollow noopener">time out after 30 minutes</a> of inactivity by default. Changing either one changes every historical comparison you have.

Should I measure conversion rate per email or per campaign?

Both, for different jobs, and never mixed in one chart. Per send is how you diagnose, because it tells you which subject line, page, or offer moved. Per campaign type is how you read a trend, because it smooths out the size effects that make one send look better than the last. Keep them on separate axes.

Is a holdout group worth it on a small list?

Often not, campaign by campaign. A send that reaches a few hundred people leaves a held-back slice of perhaps fifty, and one or two orders either way sits well inside the noise, so you'd be waiting months of sends before the comparison meant anything. Put the holdout on a recurring flow, which keeps gathering recipients between reads, and judge one-off campaigns against your own trailing average instead.

Start with the free tier

Simple pricing. Unlimited contacts.

Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.

Free
$0
forever
  • Emails 8,000then 500/mo
  • Email types Transactional & Marketing
  • AI actions 20/mo
  • Contacts Free & Unlimited
  • Brands 3 · Custom domain 1
  • Seats 1
  • Commercial recipients / rolling 24h 100
  • Email validation Prepaid only
Start free
Ultra
$100
per month
  • Emails 125,000/month
  • AI actions 5,000/mo
  • Brands 10 · Domains 10
  • Seats 10
  • Frontier AI Included
  • Dedicated IP Available
  • Commercial recipients / rolling 24h 62,500
  • Email validation Prepaid only
Get started
Enterprise
$300
per month
  • AI actions Unlimited
  • Unlimited brands & domains Included
  • SSO / SAML Included
  • 99.9% SLA Included
  • Commercial recipients / rolling 24h Contracted
  • Email validation Prepaid only
Get started

Plan limits are ceilings, not guaranteed immediate send headroom; only mature, clean volume sent through that exact sender can raise its capacity.

Free forever. No credit card required. See full comparison →