Email Click-to-Open Rate (CTOR) & Campaign ROI Calculator

Calculate email CTR and CTOR side by side, plus revenue per recipient and the cost of sending to an unengaged list.

Include repeat clicks from the same person — used for CTR only if selected below

Your ESP cost per send — used to estimate list decay cost

16 % CTOR

CTR 4% — open rate 25%.

Email metrics
MetricValue
Open rate25%
CTR4%
CTOR16%
Revenue per recipient$0.20
Revenue per click$5.00
List decay cost$7.50
Result: CTOR 16%

Embed Email Click-to-Open Rate (CTOR) & Campaign ROI Calculator

Paste this into your page's HTML. The calculator runs inside the frame, and a small link back to ToolsNode stays at the bottom.

Why CTR and CTOR point at two different problems

CTR (click-through rate) divides clicks by every email delivered — it's dragged down by anyone who never opened at all, mixing a weak subject line together with weak email content into one number. CTOR (click-to-open rate) divides clicks only by the people who actually opened, isolating whether the content, once seen, was compelling enough to click. A low CTOR alongside a healthy open rate points squarely at the email body and offer, not the subject line.

Why CTOR always uses unique opens, never total opens

An email tracking pixel can register the same recipient opening multiple times, but CTOR needs a stable denominator — the number of distinct people who opened — to stay a meaningful percentage. Using total opens (which can exceed unique opens) or total clicks against unique opens can push CTOR mathematically above 100%, which defeats the point of it being a rate at all.

What "list decay cost" is actually measuring

Every email sent to a subscriber costs something in delivery infrastructure, regardless of whether they open it — "list decay cost" here means the send cost spent reaching subscribers who didn't even open this specific campaign, a proxy for money spent with zero chance of return on that particular send. It compounds every campaign a stale, disengaged segment stays on the list without being re-engaged or removed.

How to use this calculator

  1. Enter delivered emails, unique opens and clicks.
  2. Choose whether CTR uses unique or total clicks.
  3. See CTR, CTOR, revenue per recipient and list decay cost.
CTOR always uses unique clicks and unique opens
CTOR is defined against unique opens specifically, so it stays 0-100% and reflects the share of openers who clicked — CTR can use either unique or total clicks depending on what you're measuring.
List decay cost = send cost x unopened count
This is send cost spent on subscribers who didn't open this specific campaign — a proxy for wasted spend on a disengaged segment, not a universal metric with one standard definition.

Questions

My CTR dropped but CTOR stayed the same — what does that actually mean?

It means fewer people opened the email, but of the people who did open it, the same share clicked — pointing squarely at the subject line, sender name, or send time (deliverability/open problems), not the email's content or offer. If CTOR had dropped along with CTR, that would instead point at the content itself losing effectiveness with an engaged audience.

Why can CTR use either unique or total clicks, but CTOR always uses unique?

CTOR is defined as a rate against unique openers — using total clicks there would let CTOR exceed 100% whenever people click multiple links, making the metric meaningless as a percentage. CTR against total clicks is still meaningful (it captures overall engagement volume, including people clicking more than once), which is why some platforms report it that way for a different kind of signal.

Is a high CTOR always good news?

Usually, but not unconditionally — a high CTOR on a very small open count (a tiny, hyper-engaged remaining audience after heavy list decay) can mask a shrinking list that's losing reach overall, even while the rate itself looks great. Read CTOR alongside open rate and raw delivered count, not in isolation.

What's a reasonable way to think about 'list decay cost' if I don't have exact send-cost numbers?

Even a rough per-email cost estimate (total ESP bill ÷ total emails sent in a period) is useful directionally — the point isn't precision, it's making the wasted spend on a disengaged segment visible as a real dollar figure instead of an abstract percentage, which tends to make a list-cleaning decision easier to justify internally.