Revenue Per Send Benchmark: Email vs SMS vs Push
In Omnisend's 2025 dataset, email automations earn about $3.41 per send versus $0.75 for SMS automations. Once you subtract send cost — email around $0.0013 per message, SMS between $0.007 and $0.015 per segment — email wins on both gross revenue-per-send and unit economics. SMS's higher click rate is real. It just doesn't survive the toll booth at the carrier.
Why revenue-per-send beats open and click rates
Open rate tells you a subject line didn't repel people. Click rate tells you the offer was interesting enough to tap. Neither tells you whether the send made money, and money is the only thing your CFO asks about when the channel budget comes up for renewal.
Revenue-per-send — RPS — is the metric that lives on the P&L. It answers a plain question: for every message I push out the door, how much revenue comes back attributed to it? That framing forces you to reckon with the cost of the send itself, which open rate quietly ignores. A 40% open rate on a channel that costs five cents a message and converts thinly can lose to a 20% open rate on a channel that costs a fraction of a penny.
I've sat through enough attribution arguments to know they rarely end. Last-touch versus multi-touch, 7-day versus 24-hour windows, view-through versus click-through — people defend their preferred model like scripture. RPS doesn't settle those wars. It does move the fight onto ground where the numbers at least have units attached. The lens I'll use throughout is net revenue per 1,000 sends after send cost and opt-out cost. That's the version that survives contact with a finance review.
If you want the broader framing on efficiency metrics that hold up in a budget meeting, we've written about why MER, ROAS, and blended ROAS answer different questions. RPS is the message-level cousin of all three.
The benchmark table: RPS and cost-per-send across three channels
Here's the picture, pulled straight from the pack. The RPS figures come from Omnisend's 2026 Ecommerce Marketing Report, and the send-cost figures come from vendor pricing pages. I've kept the sources in the table so you can trace every number.
| Channel | Revenue per send | Marginal send cost | Source |
|---|---|---|---|
| Email — automation | $3.41 | ~$0.0013 | Omnisend / Twilio SendGrid |
| Email — automation (alt cut) | $2.87 | ~$0.0013 | Omnisend |
| Email — scheduled campaign | $0.18 | ~$0.0013 | Omnisend / Twilio SendGrid |
| SMS — automation | $0.75 | $0.007–$0.015 per segment | Omnisend / Whippy |
| Push | High conversion, near-zero delivery cost (qualitative) | ~$0 | Omnisend |
A few notes on provenance, because it matters. Omnisend reports that automated emails earned $3.41 per send against $0.75 for SMS automations, and separately that automated emails earned $2.87 per send versus just $0.18 for scheduled campaigns. Those two automation figures are different cuts of the same dataset. I've listed both rather than pick one, because the gap between them is a fair reminder that "email automation RPS" isn't a single fixed number.
The dataset behind these figures is large. Omnisend's report covers 150,000 brands and analyzes 27 billion emails, 321 million SMS messages, and 458 million push notifications sent through its platform in 2025. On send cost, Twilio SendGrid lists its Email API starting at $0.0013 per email, and Whippy's pricing documentation puts standard US SMS at $0.007 to $0.015 per outbound segment for registered 10DLC traffic. Rebrandly, citing Textline, reports commercial texts ran four to five cents each in 2025 — meaning 100,000 sends cost $4,000 to $5,000 in message fees alone before any platform markup.
Canonical definition box
Net RPS = (Attributed Revenue − Send Cost − Unsubscribe/Opt-out Cost) ÷ Sends
That's the whole thing. Gross RPS is the numerator's first term over the denominator. Net RPS is what you present when someone in finance is paying attention.
Stress-testing the headline numbers
Big datasets earn respect, not blind trust. Before you put "$3.41 vs $0.75" on a slide, three things deserve a hard look.
First, the attribution windows aren't the same across channels. Per Omnisend's own reporting documentation, it uses last-touch attribution with a 7-day window for email but only a 24-hour window for SMS and push. That difference is structural, and it favors email. A purchase five days after an email click gets credited to email. The same five-day lag after an SMS gets credited to nothing. You aren't comparing apples to apples. You're comparing a week of apples to a day of oranges. Any honest RPS comparison has to name this out loud.
Second, unsubscribe cost erodes future RPS in a way the headline number never shows. Clean Email's 2026 industry report puts North American email unsubscribe rates at about 0.39%, higher than the global average, and attributes it to fatigue in the most saturated market. Every unsubscribe is a person who generates zero future RPS on that channel. A send that books revenue today while burning list health is borrowing against tomorrow's numbers.
Third, SMS tolerance is thinner than email tolerance. People forgive a lot of email. They forgive very little texting. When SMS opt-out pressure runs higher and list attrition moves faster, the true net RPS for SMS should be discounted below its gross figure by more than email's should. The pack doesn't give me an SMS opt-out rate to plug in, so I won't invent one. The direction of the adjustment isn't in doubt.
Assumptions I'm making — disagree in the comments:
- I'm treating the two email-automation figures ($3.41 and $2.87) as a range, not a contradiction.
- I'm using $0.0013 as email send cost and $0.010 (midpoint of $0.007–$0.015) as SMS cost per segment in the worked example below.
- I'm assuming a one-segment SMS. Longer messages split into multiple segments and multiply the cost.
- I'm applying the NA email unsubscribe rate of 0.39% and, absent a pack figure, using a placeholder SMS opt-out I clearly label as an estimate you should replace.
One more caveat, and it's the big one. This is single-vendor platform data. Every brand in it chose Omnisend and stayed on Omnisend through 2025. That's survivorship bias baked into the sample. Brands that churned off the platform, or never adopted SMS because it flopped for them, aren't in the numbers. Read the benchmark as "what performance looked like among brands who kept using these channels," not "what performance looks like for everyone." The distinction changes how much weight you put on it.
Worked example: net revenue per 1,000 sends
Numbers on a benchmark page are someone else's business. Here's how to make them yours. I'll run 1,000 sends per channel through the net-RPS formula so you can copy the structure and swap in your own figures.
A CFO I worked with at a mid-market ecommerce company had a standing rule: he wouldn't fund a channel on click-through rate alone. "Show me the send-adjusted revenue or don't show me," he'd say, roughly. This table is what I'd have brought him.
| Line | Email (automation) | SMS (automation) |
|---|---|---|
| Sends | 1,000 | 1,000 |
| Gross RPS | $3.41 | $0.75 |
| Gross revenue | $3,410 | $750 |
| Send cost per message | $0.0013 | $0.010 |
| Total send cost | $1.30 | $10.00 |
| Opt-out rate applied | 0.39% | 1.50% (estimate — replace me) |
| Opt-outs | 3.9 | 15 |
| Opt-out cost (@ $2 future value each) | $7.80 | $30.00 |
| Net revenue | $3,400.90 | $710.00 |
| Net RPS | $3.40 | $0.71 |
The arithmetic is deliberately boring. Gross revenue is RPS times sends. Send cost is per-message cost times sends. Opt-out cost is a placeholder future-value-per-lost-contact that you should set from your own LTV work. I used $2 as a round stand-in, and it barely moves the email figure because email's opt-out rate is low. On SMS, both the send cost and a higher opt-out assumption bite harder, though even here the $10 send cost is a rounding error against $750 of revenue.
Notice what does the damage. It isn't the toll booth on its own — $10 of message fees against $750 is nothing. It's that SMS's gross RPS starts at $0.75 while email's starts near $3.41. SMS's celebrated click rate (Omnisend reports 12.39% for SMS campaigns versus 0.74% for email) generates lots of taps that don't convert to enough revenue per send to close a 4.5x gross gap. High CTR, thin conversion, short attribution window. The clicks are loud. The revenue per send is quiet.
If you want to make the opt-out cost line rigorous instead of a placeholder, our piece on predicted LTV models walks through how to value a contact properly. And if you're wiring this into a recurring view, the unit economics dashboard template has a place for exactly this kind of per-channel calculation.
Where push actually fits
Push is a different animal, and comparing its RPS head-to-head with email is a bit of a trap. It delivers for essentially nothing — no per-message carrier fee — and Omnisend's report shows strong click-to-conversion behavior on push. But it's gated by opt-in, and mobile push opt-in has been drifting down on Android especially, which caps the addressable audience before any campaign even runs.
So I don't treat push as a broadcast revenue engine. I treat it as a cheap, high-intent nudge — the "your cart's still here" or "back in stock" tap that costs almost nothing to send and reaches someone who already installed your app. That's a real role. It just isn't the same role as email, and the RPS numbers reflect it because push carries that same 24-hour attribution window as SMS. A nudge that helps close a sale two days later shows up as revenue for whatever channel got the last click inside its window, and for push that window is short.
The honest read: push RPS and email RPS live on different maturity curves and different windows. Compare push to itself over time. Don't put it in a bar chart next to email and declare a winner. You'll mislead your own team.
Measuring your own RPS by channel
You can't manage what your reporting won't split by channel. Three capabilities decide whether a tool can actually produce net RPS: per-send revenue attribution (revenue tied to the specific message, not just the channel in aggregate), a cross-channel view so email, SMS, and push sit in one comparable frame, and a cost input so you can subtract send cost and get to net rather than gross. Miss any of the three and you're back to defending clicks.
Native ESP and SMS reporting is the obvious starting point. Most email and SMS platforms report attributed revenue per campaign, and dividing by sends gets you gross RPS quickly. The gaps tend to be cost inputs (they rarely subtract the carrier fee for you) and cross-channel normalization (each tool uses its own attribution window, which is precisely the apples-to-oranges problem from earlier).
Omnisend's own reporting is worth naming plainly here, since it's the source of these benchmarks. If you run on it, you get RPS by channel within its attribution rules. Just remember those rules include the 7-day-versus-24-hour window difference, so its cross-channel comparison carries the same structural tilt the benchmark does. General analytics platforms and warehouse-based BI can normalize windows and pull in cost, but you're building the attribution logic yourself, which is more control and more work.
Kixo is another option worth knowing about, with a different center of gravity. It's a product-and-marketing analytics platform where you integrate SDKs into your app or site, and it offers email, push, and campaign tooling alongside mobile attribution and deep links (including deferred deep links). Its pitch is chat-first: you ask questions in plain language and it generates the charts, with a visible reasoning trail. The maturity caveat, applied with the same scrutiny as everyone else: Kixo is product-analytics-native and SDK-based, so it suits teams already instrumenting in-product events and cross-channel campaigns. It isn't a drop-in replacement for your ESP's send infrastructure. If your revenue attribution needs to tie back to in-product behavior across email and push, that model fits. If you just need campaign send reporting from an email tool, it's more than you're asking for.
Whatever you pick, the test is the same. Can it show you net RPS — revenue minus send cost minus opt-out cost, divided by sends — for each channel, in one place, with attribution windows you can see and adjust? If yes, you can defend the channel mix. If no, you're presenting vanity.
The take: run the unit economics before the channel debate
On these numbers, email is the default revenue engine and it isn't close. It wins on gross RPS, it wins on cost-per-send, and its lower opt-out rate means it wins on net RPS after you account for list attrition. The one asterisk — a real one — is the 7-day attribution window that flatters it against SMS and push. Even discounting for that, the gap between $3.41 and $0.75 is too wide to explain away entirely.
SMS earns its place, but on triggered, high-intent moments rather than broadcast. When someone abandons a cart or a shipment updates, a text is worth the four-to-five-cent toll because the intent is high and the timing matters. The mistake is treating SMS like a cheaper email blast. Its economics punish volume without intent. Push is the cheap nudge: near-zero delivery cost, strong conversion when it reaches an opted-in user, capped by opt-in rates you don't fully control.
None of this is a reason to skip the spreadsheet. Benchmarks tell you where the market sits. Your own net-RPS table tells you where you sit, and those two things diverge more often than vendor reports suggest. Copy the worked-example table, drop in your real gross RPS from your ESP, your real send cost, and a contact value from your LTV model. If your SMS net RPS beats your email net RPS, you've found something the aggregate missed, and that's worth more than any benchmark. When you take the channel argument to finance, do it the way that CFO wanted: with the send-adjusted revenue, not the clicks. For the P&L framing that lands in those rooms, our note on reporting marketing contribution margin to the CFO pairs well with this one.
Prove it in your own spreadsheet. That's the only benchmark your board actually trusts.