Skip to content
Glassjaw
CRM strategy 7 min read

Choosing between email, push and SMS for the same message

Urgency, consent and cost decide the channel, not habit. A working rule set for picking email, push or SMS, and for capping frequency across all three at once.

Abstract cover art: concentric arcs around a bright focal point on a dark blue field

A retailer we worked with had a back-in-stock alert that went out on all three channels. Email, push and SMS, fired together, because each channel had been built by a different team at a different time and nobody had ever written down which one owned the message.

Customers who had opted into everything received three copies of the same sentence within a minute. The SMS cost money on every send. The push woke people at six in the morning. The email, which was the only one with a picture of the product, arrived third.

That is the normal state of affairs, and it is not a tooling problem. It happens because channel selection is made at build time by whoever is building, rather than by a rule the whole programme follows. Here is the rule set we put in place instead.

Start with how fast the message goes stale

The first question about any message is not which channel suits it. It is how long the message stays true.

A delivery arriving in ten minutes is worthless information in two hours. A monthly statement is equally useful today or on Thursday. A flash sale ending tonight sits somewhere between the two. Write down the message's useful life in hours, and the channel narrows itself.

  • Useful life under an hour: push or SMS, because email is read when the recipient decides to read it.
  • Useful life of a day or two: email carries it, with push as a reminder only if reach is poor.
  • Useful life of a week or more: email, always. Interrupting someone for something that can wait is how permission gets withdrawn.

This ordering does more work than any other rule we apply. Most disputes about channel are really disputes about urgency, and once urgency is stated in hours the argument usually ends.

Consent, cost and reach are three separate constraints

Teams collapse these into one idea of "can we send it", and then get surprised. They behave differently and they fail differently.

Consent is the legal and contractual question. A transactional email about an order does not need marketing consent; a promotional message on the same channel does. SMS marketing consent is usually narrower and more explicit than email consent, and in most markets it cannot be inferred from a purchase. Push permission is granted at the operating-system level and can be withdrawn without telling you.

Cost is per message on SMS and effectively zero on email and push. That changes the arithmetic of a broad send entirely. An SMS campaign to the whole base has to clear a revenue bar that an email campaign does not.

Reach is what share of the audience can actually receive the channel. Push reach is the one people overestimate, because it only counts people who installed the app, granted permission, and still have it installed. It decays quietly between reviews.

Measure reach per channel every month and hold the figures next to each other. A channel that reaches a fifth of your base is a supporting channel, whatever anyone's preference.

Each channel fails in its own way

Choosing well means knowing what happens when the choice is wrong, not just when it is right.

Email fails by not being read. The cost of a badly chosen email is an unopened message and a slight drag on engagement metrics. It is the most forgiving channel and that is precisely why it becomes the default.

Push fails by being switched off, and the switch is at the device level and close to permanent. Nobody gets a second permission prompt. A month of poorly judged notifications can cost reach that takes a year to rebuild.

SMS fails loudly. It costs money on every send, it lands in the same thread as messages from family, and an unwanted one produces complaints rather than indifference. The channel's strength and its danger are the same thing: it is almost always seen.

The asymmetry matters when you are deciding under uncertainty. If you are unsure whether a message earns an interruption, it does not, and it goes to email.

Write the rule into the message, not into the campaign

The fix we implement is a channel decision recorded as an attribute of the message type, owned centrally, not decided per campaign.

For each message type in your inventory, record four things:

  1. The useful life in hours.
  2. The primary channel, chosen from the useful life.
  3. The fallback condition, stated as a behaviour and a delay. For example: send push, and if unopened after four hours and the item is still unshipped, send email.
  4. The channels that must never carry it.

That fourth line prevents most of the damage. Being explicit that a promotional message never goes to SMS, or that a security alert never goes to marketing email, removes a whole class of judgement calls from people under deadline pressure.

Fallbacks should be sequential and conditional, never simultaneous. Sending the same content on two channels at once is not omnichannel practice, it is a failure to choose. The exception is a genuinely critical message, such as a fraud alert, where redundancy is the point.

The capability of each channel is worth revisiting when it changes. Richer messaging formats shift what the SMS slot can carry, and therefore what it is worth paying for. That is why we have been watching RCS support on iPhone more closely than the average format announcement.

Cap frequency across channels, not within them

Most platforms cap frequency per channel, because each channel's tooling was built separately. A customer with a cap of three emails, two pushes and one SMS per week can receive six interruptions and every system will report itself as compliant.

The cap has to sit above the channels. In practice that means one of two things: a central orchestration layer that all sends pass through, or a shared contact-frequency attribute on the customer profile that every platform reads and writes.

Rules that hold up in frequency capping work:

  • Count interruptions, not sends. Transactional receipts do not count; a promotional push does.
  • Weight by channel. One SMS is worth more than one email against the cap, because the interruption is larger.
  • Exempt genuine service messages explicitly, and keep that exemption list short and reviewed.
  • Apply the cap at send time against actual recent contact, not at build time against an estimate.

The last one is the part teams skip, and it is the part that works. A cap evaluated when the campaign is scheduled cannot know about the triggered message that fires an hour later.

Where this gets genuinely hard

Two problems resist the rule set. The first is that useful life is easy to state for operational messages and contested for marketing ones. A team convinced their sale is urgent will write four hours where the honest answer is four days, and no framework prevents that. A holdout on the urgent channel, comparing outcomes, settles it faster than another meeting.

The second is that preference and permission drift apart. Someone who granted push permission two years ago and now opens nothing has technically consented and effectively withdrawn. Treat sustained non-engagement on a channel as a soft opt-out, move the person to email, and ask again later through the app rather than through a notification.

Start with the message inventory. Add the four columns, fill them in for your top twenty message types, and see how many rows have the wrong primary channel.

Earlier on this topic · 1

Ready to transform your marketing?

Let's build something great.

By sending this form you agree to our privacy policy.