Here's a thing every DTC operator has done and pretended not to notice: you build a Facebook retargeting audience of people who abandoned a cart, you set a budget, and you pay — again — to reach a person who already handed you their email and phone number on your own site. You paid the first time to acquire them. Now you're paying a second time to talk to someone you already have contact details for.

Full disclosure: I work for Ready, an SMS platform. So I have an angle here. But the math I'm about to walk through doesn't require you to switch anything — it just asks you to look at what a recovered cart actually costs on each channel, side by side. The numbers are lopsided enough that I'd write this post even if I sold ad software.

The two things you're actually comparing

Paid social retargeting and owned SMS both try to do the same job: get an abandoning shopper to come back and finish. But they charge for completely different units.

  • Paid social charges for a chance to be seen. You pay per impression (or per click), and an impression is not a read. The person might be scrolling past your ad on the toilet at 11pm with the sound off.
  • SMS charges for a delivered message. You pay per segment sent, and a delivered text lands in the same inbox they use for their mom and their bank. Open rates on opted-in SMS run high — often cited around 90%+, and I'd treat that as a rough approximation, but it's a different universe from a display impression.

So the honest comparison isn't cost-per-impression vs cost-per-segment. It's cost per recovered cart. Let's build both.

The paid-social side: what a retargeted cart really costs

Numbers vary wildly by vertical, but let's use figures that won't get me laughed out of a DTC Slack:

  • Retargeting CPM: ~$12 (cheap end for warm audiences; often higher)
  • Click-through rate on a retargeting ad: ~1%
  • That makes your cost-per-click roughly $1.20–$1.40
  • Landing-to-purchase conversion on a returning abandoner: ~10% (generous)

Run it forward for a 5,000-person abandoned-cart audience over a week:

StepNumber
Impressions to reach the audience ~5x25,000
CPM cost (25,000 ÷ 1,000 × $12)$300
Clicks at 1% CTR250
Purchases at 10% conversion25
Cost per recovered cart$12.00

Twenty-five carts recovered for $300. Effective cost-per-recovery: $12 each. And a big chunk of that "audience" never saw the ad at all — you paid for the impressions regardless.

The SMS side: same shoppers, delivered

Now the same 5,000 abandoners, except this time they opted in to texts at checkout or via a popup, so you can legally message them. (That consent piece matters and I'll come back to it.)

On Ready's Standard tier, an outbound segment is $0.02 plus a $0.0045 carrier pass-through billed transparently and separately — $0.0245 all-in per segment.

A tight cart-recovery text — "Hey Sam, you left the merino crew in your cart. Here's 10% for the next 2 hours: [link]" — comes in around 130 characters, one segment. Say you send two messages in the sequence (initial + a next-day nudge). That's 2 segments per contact.

StepNumber
Contacts5,000
Segments each (2-text sequence)2
Total segments10,000
All-in cost (10,000 × $0.0245)$245
Delivered & read (rough, ~90%)~4,500 people
Purchases at even a modest 5% of readers225
Cost per recovered cart~$1.09

Even if you gut every assumption — cut the conversion rate in half, assume worse deliverability — SMS lands at a cost-per-recovery an order of magnitude below the ad. And unlike the ad spend, the $245 buys you delivery to specific known people, not a probabilistic chance to appear in a feed.

There's an honest caveat baked in here: the SMS conversions include the discount you handed out. If that 10% off eats into an already-thin margin on small orders, your real recovery cost is higher than $1.09. I wrote about exactly that floor in the welcome-discount margin math — worth reading before you set the offer.

The part paid social can't give you: the list is yours

The $12-per-cart ad number is bad enough. But the deeper problem with paid social is that you rent the audience and never own it.

  • The retargeting audience decays. iOS privacy changes, cookie loss, and Meta's own match rates mean a chunk of your "5,000 abandoners" quietly become unreachable.
  • The moment you stop paying, the channel goes dark. There's no residual asset.
  • You're bidding against everyone else for the same eyeballs, so your CPM drifts up over time whether or not you get better.

An SMS list is a first-party asset you keep. Once someone opts in, you can reach them next week for the cost of a segment, and the week after, with no auction. The per-contact value of an owned SMS list is real enough that I'd point you to the owned-list value breakdown rather than repeat it here — the short version is that a texting subscriber tends to be worth several times an email one, provided you don't burn them out.

Which is the trap on the other side.

Where SMS actually costs you: fatigue, not CPM

Paid social's cost lives in the auction. SMS's real cost lives in your own bad judgment. Because sending is so cheap, the temptation is to blast — and every text past the point of usefulness costs you unsubscribes, which permanently shrink the asset you just paid to build.

  • The 4th text in a 7-day window is roughly where ecommerce unsub rates start to double — see the frequency-fatigue data.
  • There's a real revenue-per-send peak, past which each additional message earns less than it costs you in churn. That curve is here.

So the SMS advantage isn't "it's cheap, send more." It's "it's cheap and it lands, so send the right people the right thing and stop." Discipline is the whole game.

The compliance line you can't skip

The $1.09-per-cart math only holds if you have SMS consent. This is the one place paid social is genuinely easier — Facebook doesn't require the shopper to opt in to be shown an ad. Texting does.

That means:

  • You need explicit opt-in with the right disclosure at checkout or in the popup — not a pre-checked box, not a "we might text you" buried in the ToS.
  • STOP has to be honored automatically and propagate so an opted-out contact can't be messaged from another campaign. Ready handles this at the platform level, but the obligation is ultimately yours.
  • Registered 10DLC routes matter, or carriers filter your traffic and your "delivered" number collapses. If you haven't set that up, start with the 10DLC-for-ecommerce explainer.

None of this is a dealbreaker — it's an afternoon of setup — but pretending SMS is a free-for-all is how brands end up with TCPA exposure at $500–$1,500 per text. The cheap channel gets expensive fast if you skip the consent path.

When paid social is still the right tool

I'm not going to tell you to zero out your ad budget. Retargeting has one job SMS structurally can't do: reach people who never gave you their contact info. The cold and mid-funnel shopper who bounced without opting in isn't in your SMS list — you can't text a stranger. Paid social is how you find and warm those people in the first place.

The clean division of labor:

  • Paid social: acquire and warm people you don't yet have permission to contact.
  • Owned SMS: recover, retain, and re-engage the people who already raised their hand.

Using a $1.40 click to re-reach someone whose phone number is already in your database is the specific waste worth cutting. That's the swap — not "ads bad, texts good," but "stop paying the auction for people you already own."

The practical takeaway

Run your own version of the two tables above with your real CPM, your real conversion rate, and your real order margin. Most stores I've seen land somewhere between a 5x and 10x gap in cost-per-recovered-cart, favoring SMS — but the point is to do it with your numbers, not mine. If you want a faster path, our ecommerce SMS ROI calculator post walks through the inputs.

If the math checks out for you, Ready's pricing is on the product page — $0.02/segment plus the $0.0045 carrier pass-through, itemized so you can see exactly where the money goes, with 2,500 free credits to test before you put a card down. Sign up here if you want to send the first sequence this week.

The shopper already told you who they are. You don't have to pay the auction to talk to them again.