Free resource · use it on this page
Channel Selection Matrix
Map every message type to the channel it belongs on, and catch mismatches before you hit send.
How to use this matrix
Most channel mistakes are not bad copy; they are the right message on the wrong surface. A loyalty balance sent as an SMS blast, a flash sale buried in a newsletter, a long announcement crammed into a push notification. Each channel has a distinct shape: how fast it gets seen, how much it can carry, what it costs per send, and how much goodwill each message spends. The matrix below encodes those shapes so you can route by message type instead of by habit.
Work it top to bottom: find your message type in the matrix, sanity-check the choice against the channel characteristics table, run one real message through the routing worksheet, then use the fit check before every send. The blank scorecard at the end is for when you are choosing tooling: fill it in with your own candidates rather than trusting anyone's comparison page, including ours. The whole page prints cleanly if you want it next to your campaign calendar.
The matrix: message type to channel
Find the row that matches what you are about to send. Best is the default, Backup covers the audience the best channel cannot reach, and Avoid is the mismatch teams make most often.
| Message type | Best channel | Backup | Avoid | Why |
|---|---|---|---|---|
| Flash sale or time-limited offer (hours, not days) | App push or SMS | Wallet lock-screen update | Email as the only channel | The offer expires before many inboxes get opened; short-fuse urgency is the one case that justifies an interruption. |
| Order, delivery, and booking confirmations | SMS or email | App push | Mixing promotions into the same stream | Customers expect and open these; keep the stream purely transactional so a marketing opt-out never cuts off essentials. |
| Loyalty balance, points, and reward progress | Wallet pass field update | In-app message | SMS | A balance is ambient state, not news; it belongs on a card the customer glances at, not in a paid interruption. |
| Appointment or reservation reminder | SMS | Email plus a wallet pass carrying date and time | Web push | No-shows are expensive enough to justify per-message cost, and the reminder has to be seen the same day. |
| Cart or signup abandonment | App push for app users | SMS without explicit marketing consent | Recovery needs room to restate the offer, and abandoners often gave you only an email address. | |
| Win-back for lapsed customers | Wallet pass update if a pass is still installed | SMS blast | Lapsed users flag spam fastest; a wallet pass survives app deletion, so it can still reach the churned. | |
| Newsletter and long-form content | None needed | Any push channel | Only email carries the depth; pushing a link nobody asked for spends notification goodwill on low urgency. | |
| Tickets, boarding passes, and entry credentials | Wallet pass | Email carrying the add-to-wallet link | An SMS link alone | At the door you need offline access and a scannable code; a pass surfaces itself at the right time and place. |
| Feature or product announcements | In-app message | Broadcast push to everyone | Relevance depends on being in the product; interrupting everyone with what only active users care about drives opt-outs. | |
| Urgent service alerts (outage, recall, closure) | Every opted-in channel at once | None | Nothing | A genuine emergency is the one message where redundancy beats channel discipline. |
Channel characteristics at a glance
When a message does not fit a row above, reason from first principles: opt-in friction, cost, depth, and how long the message survives.
| Channel | Opt-in friction | Per-message cost | Content depth | Message lifespan | Watch out for |
|---|---|---|---|---|---|
| Low: an address collected at checkout or signup | None per send; providers typically price on volume or list size | Long-form, images, multiple links | Persists in the inbox and can be found later | Spam filters and promotions tabs decide whether it is ever seen | |
| SMS | High: explicit consent required in most jurisdictions | Real carrier cost on every single message | One or two short sentences and a link | Read almost immediately, then gone | Complaint rates are unforgiving; honor quiet hours and STOP requests instantly |
| App push | App install plus an OS permission prompt | None | A headline, one line, and a deep link | Gone once dismissed | Permissions get revoked silently and uninstalls erase reach without telling you |
| Web push | One browser prompt, no app needed | None | A line and a link | Gone once dismissed | The prompt itself annoys; many visitors block it on principle |
| Wallet pass and lock screen (Apple and Google Wallet; the channel PushNotice provides) | One tap to add a pass; no app install required | None | A card front with a few fields, detail on the back, plus lock-screen update text | The pass stays in the wallet until the customer removes it | The card must stay useful as a balance, offer, or credential, or it gets deleted |
| In-app message | None; the user is already there | None | Can be rich and interactive | Shows while the session lasts | Reaches only active users, never the people you most need to win back |
Routing worksheet: run one real message through it
Pick the next message on your calendar and answer each line in writing. If two answers point at different channels, the earlier question wins.
Message
Name the specific message you are routing, not the whole campaign. One worksheet per message.
Urgency window
How long is this relevant? Minutes to hours points to push or SMS; days or more points to email or an ambient surface like a wallet card.
State or news?
A recurring status such as a balance, tier, or next visit is state and belongs on a persistent surface. A one-time event is news and can justify a notification.
Content depth
One line, a short paragraph, or long-form? Anything past a paragraph rules out SMS and push.
Consent held
List the channels this exact segment has explicitly opted into. Consent on one channel does not transfer to another.
Reachable share
Of this segment, how many actually have the app installed, a valid mobile number, or a pass added? A great channel you cannot reach is not a channel.
Cost at this volume
Per-message price times segment size, where the channel has one. Set the ceiling before you fall in love with the channel.
Chosen channel and backup
Write the primary, the fallback for the unreachable share, and the channel you are deliberately not using, with the reason.
Pre-send fit check
Run this before any send that interrupts someone. Every unchecked box is a reason to reroute, rewrite, or wait.
The first line answers why now
If the opening works equally well next week, it does not belong on an interruption channel today.
Consent is explicit for this channel
An email address is not SMS consent; an app install is not permission to push marketing.
You know this segment's recent message load
Count what they received across all channels in the past week, and set and honor your own frequency cap.
Send time respects local time zones and quiet hours
Schedule by recipient time, not office time, and keep interruptions inside waking hours.
The call to action works on the channel
Deep link for app push, tappable card for wallet, short plain URL for SMS, full layout for email.
Transactional and marketing streams are separated
Different sender, number, or topic, so a promotion opt-out never blocks an order update.
Expiring offers state the expiry inside the message
And on surfaces that persist, such as a wallet card, the offer is updated or withdrawn once it lapses.
There is a fallback for the unreachable share
Decide up front how the people without the app, number, or pass hear about it, even if the answer is they do not.
You checked the fallout from the last send on this channel
Know the opt-out, uninstall, or complaint rate from the previous comparable send before repeating it.
The segment excludes people who already converted
Nothing burns trust faster than a discount push for something bought yesterday at full price.
The message passes the screenshot test
You would be comfortable seeing it screenshotted and shared publicly with your brand name on it.
Someone previewed it on a real device
Lock screen, wallet card, inbox, and SMS thread all truncate differently from the composer.
Tool scorecard: compare your shortlist yourself
When choosing tooling, score your own candidates against neutral criteria instead of vendor comparison pages. Write a note or a 1 to 5 score in each blank cell.
| Criterion | What good looks like | Tool A | Tool B | Tool C |
|---|---|---|---|---|
| Channels covered | Supports the channels your matrix actually chose, not just the one the tool is named after | |||
| Opt-in mechanics | Few taps from interested to reachable, verified by you on a real phone | |||
| Segmentation | Targets on the fields you actually store, such as last visit, balance, or location, not just broad lists | |||
| Delivery and engagement reporting | Shows delivered, opened, and opted-out per send, and lets you export it | |||
| Pricing model | Per message, per subscriber, or flat; model the cost at three times your current volume before signing | |||
| Consent and compliance tooling | Records opt-in proof, honors opt-outs automatically, supports quiet hours | |||
| Audience ownership | You can export your list or pass holders in a usable format if you ever leave | |||
| Time to first campaign | Hours from signup to a real message on your own device, not a weeks-long implementation |
From the guide: Best Push Notification Tools (2026)
This resource accompanies the full article — worth reading before you commit to a tool.