Beyond Promotions: Non-Promotional SMS for E-commerce

Most e-commerce SMS programs have one move: discount. "20% off this weekend." "Flash sale ends tonight." "Your code expires in 4 hours." It works, until it doesn't — and the day it stops working tends to arrive faster than anyone expects. Opt-out rates creep up, open-to-action rates flatten, and your list, the one you paid to build, slowly trains itself to ignore you.

The fix isn't sending more discounts. It's sending texts that aren't discounts at all. Order updates, shipping notifications, "your size is back," a quick "how's it going with the order" — the messages people actually want. These carry your relationship between sales, and they keep the promotional texts landing because the channel still feels useful.

Full disclosure: I work for ReadySMS, so I have a horse in this race. But the argument here holds no matter whose platform you use.

Why non-promotional messaging matters more than the next discount

A promo-only list has a structural problem: every message asks the customer to spend money. There's no give, only take. People tolerate that for a while, then they leave — and SMS opt-outs are final in a way email unsubscribes aren't, because a STOP propagates across every campaign you'll ever run.

Non-promotional texts flip the ratio. They give the customer information they care about — where's my order, is my refund processed, did my favorite product restock. Mixed into a sending cadence, they do two things at once:

  • Keep open rates high. When some of your texts are genuinely useful, people keep reading all of them.
  • Lower the cost of each promo. A list that doesn't churn is a list you don't have to keep rebuilding with paid acquisition.

Round industry numbers put SMS response rates for opted-in lists somewhere around 30–50%. That number collapses fast on a list that's been hammered with nothing but sale alerts.

Transactional messages: the highest-trust texts you'll ever send

Order confirmations, shipping updates, delivery alerts, and "your refund is processed" texts are the workhorses of non-promotional SMS. People open them. Often they're checking their phone specifically because they're waiting on one.

A simple shipping cadence for a single order:

  1. Order confirmed — "Thanks! Order #4821 confirmed. We'll text when it ships."
  2. Shipped — "Order #4821 is on the way. Track it: [link]. Arriving Thu."
  3. Out for delivery — "Your order arrives today. Watch the door."
  4. Delivered — "Delivered! Reply if anything's off and we'll sort it."

That's four segments per order. On the Starter tier that's 4 × ($0.0084 + $0.0045) = $0.0516 per order, all in. For a store doing 1,000 orders a month, full transactional coverage runs about $52/month — trivial against the support tickets and chargebacks it prevents.

A few rules that keep these clean:

  • Keep the link short. A 175-character message with a full tracking URL can split into two segments; a shortened link keeps it to one and halves the cost.
  • Watch the emoji. A single 🚚 drops your character ceiling from 160 to 70 and can quietly double or triple your segment count. Fun, but priced.
  • Get delivery messaging right. There's compliance nuance to transactional vs. marketing content — our delivery updates compliance guide covers where the line sits.

Customer service over text, not just from it

Two-way messaging changes what an order update is. If "Delivered! Reply if anything's off" actually routes a reply to a human (or a connected inbox), you've turned a one-way notification into a support channel that customers vastly prefer to phone trees.

ReadySMS puts inbound replies into a conversations inbox, and for GoHighLevel users they land in the same place as everything else, mapped per location. A customer texting "my package never came" gets a person, not a "do-not-reply" wall.

Practical setups that work:

  • Post-delivery check-in that invites replies and routes issues to support before they become a one-star review.
  • Return/exchange status texts so customers stop emailing "where's my refund" five times.
  • AI-assisted replies in suggest mode for the repetitive questions ("where's my order," "how do I return this"), with a human approving before send. It's a newer capability — useful for triage, not a reason to remove people from the loop.

Personalized, non-salesy nudges

There's a wide band between "buy now, 30% off" and a dry shipping alert, and that's where retention lives.

  • Back-in-stock alerts. Someone wanted the item enough to ask. "The Oak Crossbody you wanted is back — [link]" is non-promotional in tone (no discount) and converts because it's relevant.
  • Replenishment reminders. Sell consumables? "You bought the 60-day refill ~58 days ago. Reorder: [link]." This is service dressed as a sale.
  • Order-anniversary or first-purchase milestones. Light-touch, easy to automate, and underused — same logic as birthday and anniversary texts: predictable, personal, low-noise.
  • Care/usage tips. A skincare brand texting "Day 14 with your serum — here's how to layer it" builds the relationship with zero ask.

The discipline here: send these because they're useful to that customer, not because the calendar said it was time for a blast.

Promotional vs. non-promotional: where each one earns its keep

Message typePrimary goalSender frequencyOpt-out risk
Discount / flash saleRevenue nowHigh (and easy to overdo)High
Abandoned cartRecover the salePer-eventMedium
Order/shipping updatesReassure, reduce ticketsPer-orderVery low
Service repliesResolve, retainOn demandVery low
Back-in-stock / replenishmentRelevant re-purchasePer-eventLow
Milestones / tipsRelationshipLowVery low

The point isn't to abandon promotions. Discounts still drive revenue — we've written about crafting them well and seen the results in a real brand's numbers. The point is that non-promotional traffic is what keeps the promotional traffic effective.

Compliance still applies — even when you're not selling

A common misread: "It's just an order update, consent doesn't matter." Transactional messages do get more latitude than marketing ones, but the moment a "shipping update" carries a "and 15% off your next order," it's a marketing message and the full ruleset applies.

What stays true across the board:

  • You need a registered A2P 10DLC campaign. Unregistered traffic gets carrier-filtered, transactional or not. ReadySMS handles brand + campaign registration in-app (roughly ~$10/mo per brand, ~$20/mo per campaign in carrier fees, approval usually 1–3 days). The e-commerce 10DLC guide walks through it.
  • STOP is honored and propagated. If someone opts out, they're out everywhere — order updates included. That's the rule, and ReadySMS enforces it automatically.
  • Quiet hours apply. "Out for delivery" at 11pm local is both annoying and TCPA exposure. Sends outside permitted local hours are held.
  • Keep your consent records straight. How you collected the number determines what you can send to it — see our consent strategy guide.

None of this makes you lawsuit-proof — compliance is ultimately the sender's responsibility — but the guardrails are the difference between a sustainable program and a deactivated number.

The practical takeaway

If your SMS program is 100% discounts, you're spending your list down. Build a base of transactional and service messaging that customers genuinely want, layer in relevant non-salesy nudges, and reserve promotions for when they'll actually land.

Concretely, this week:

  1. Wire up the four-step order/shipping cadence. It's cheap and people open it.
  2. Make sure at least one of those texts invites — and routes — a reply.
  3. Pick one personalized nudge (back-in-stock or replenishment) and automate it.
  4. Confirm your 10DLC registration and quiet-hours settings cover the new traffic.

You can model the segment cost of all of this before you send a thing on the cost calculator, and ReadySMS starts with 2,500 free credits, no card required — enough to run the transactional cadence for a few hundred orders and see whether your opt-out rate moves. My bet: it goes down.