Skip to main content
Back to blog

The SMS Marketing Playbook 2026: Consent, Quiet Hours, 10DLC Routing, and the CTR Benchmarks That Tell You It Is Working

SMS marketing runs on a different rulebook than transactional SMS — promotional consent classes, quiet hours, 10DLC campaign registration, opt-out SLA, and a metrics surface that tells delivered from clicked. This playbook defines the marketing-as-program discipline, works through the marketing vs transactional class boundary, and maps every control to the tenant-owned surface in Devotel Orbit that enforces it.

Orbit Editorial Team

An SMS-marketing program is not a transactional SMS API pointed at a list. The transactional lane (one-time passcodes, order confirmations, appointment reminders) inherits consent from an existing business relationship and sends one message per event. The marketing lane (promos, drops, win-back offers, seasonal campaigns) has to earn opt-in per contact, respect quiet hours and frequency caps, honor STOP within seconds, register its use case under 10DLC, and prove its engagement with delivered-to-click metrics rather than raw send counts. This playbook walks through each of those disciplines in the order a new program hits them — consent first, then classification, routing, timing, and measurement — and maps every one to the tenant-configured control in Devotel Orbit that enforces it deterministically at send time.

The promotional consent model under TCPA

Under the US Telephone Consumer Protection Act, marketing texts require prior express written consent — a verifiable, signed opt-in where the contact agreed to receive promotional messages at the number they gave. That is a higher bar than the implied consent a transactional sender inherits from a purchase or an account signup, and conflating the two is the single most expensive mistake an SMS program makes: a marketing send fired at a contact whose record only proves transactional consent is the unconsented-marketing call the TCPA statutory-damages regime prices per message.

Operationally, promotional consent splits into three opt-in patterns, all of which a tenant records and Orbit's consent store holds with proof:

  • Keyword opt-in: the contact texts a keyword (JOIN, a campaign term) to your number or short code. The inbound MO message is the act — log the keyword, the handler, and the disclosure text shown at the point of capture. Consent management records the grant with consent_type: "marketing" against the number and the campaign, with the proof artifact attached.
  • Web and point-of-sale capture: a form or checkout checkbox whose disclosure names the channel, the message frequency, and the entity that will send. The form is the proof; keep the exact consent-text version on the consent record so a later "I never agreed to that" can be answered with the string the contact saw. Double opt-in — a confirmation text the contact must reply YES to before the grant activates — is not federally mandated, but it is the pattern that survives a complaint, because the proof the tenant holds is the contact's own outbound message.
  • Ported consent: an opt-in carried from a previous platform on migration. Port the proof, not just the number: a row in a suppression-safe import file that lost the original capture evidence is an unproven grant, and the first campaign it feeds inherits the exposure. Ported consent also needs a re-verification pass on the receiving side before the first send, the same way a compliance-posture quarterly review frames migrated consent coverage as a drift source rather than a one-time import.

Every one of these lands in the same place in Orbit: the tenant-owned consent store, queried at send time by the campaign gate before any message routes. The gate is the compliance handbook consent-management reference; the key discipline is that state: unknown reads differently by class — a transactional flow may decide absence-of-record implies consent, a marketing flow must block on it.

Marketing vs transactional: the class boundary that decides everything downstream

The marketing/transactional boundary is not a legal nicety; it is the routing decision every other control keys off. Transactional messages facilitate an existing relationship — OTPs, receipts, order status, appointment reminders — and run with implied consent, no quiet-hours restriction in most jurisdictions, and the default trusted-lane treatment at the carrier. Marketing messages promote, advertise, or invite a purchase — and inherit the full promotional regime: prior express written consent, quiet hours, frequency discipline, mandatory opt-out honoring, and use-case registration.

The boundary the shipped consent model draws is the same one the verify-sms-marketing distinction in consent management documents: consent_type is the class marker, marketing grants gate promo sends and promotional sends look up nothing else, and a contact whose only grant is transactional must not receive a marketing send regardless of what the list assumption says. A mixed list — one segment that includes both relationship-active customers and promo-only subscribers — needs the class filter applied before the campaign assembles, not after the carrier complains.

The operational rule: mark the class at the campaign row, not at the message author. A campaign that carries a campaign_type: marketing declaration triggers the promo gate (written consent required, quiet hours enforced, use-case registration checked); a row that declares transactional takes the implied-consent lane. In Orbit, that declaration drives the send gate before a single message is assembled — which is the discipline the SMS API and the sms-api surface expose on the developer side, and the campaigns UI exposes as a per-campaign toggle on the marketing side.

10DLC and the promotional use case: registering marketing traffic as what it is

In the US A2P ecosystem, 10DLC (10-digit long code) traffic runs registered: the brand registers, the use case registers, and the carrier applies throughput and vetting to the campaign class the registration named. The registration asks the same class question the consent model asks — is this use case marketing or transactional — and getting it wrong in either direction degrades the program. A mixed use case declared as transactional invites vetting rejection or carrier re-classification downstream; a mixed use case that honestly declares the promotional component gets the marketing-class throughput profile and the full vetting of a promo sender.

The class boundary from the previous section is the input to this registration step. A tenant whose program sends both OTPs and promos does not decide whether to register — it registers two use cases and routes each message by its campaign class so the carrier sees the traffic it was told it was vetting. The 10DLC vs short codes explainer works through when the long-code lane ends and dedicated short codes earn their premium for a high-volume marketing program; the registration mechanics and the carrier-fee layer around them are covered in the A2P SMS carrier fees explainer. Orbit's SMS channel reference exposes the campaign-type routing on the send path so a campaign_type declaration carries into registration-lane selection, not just into the local gate.

Quiet hours: the recipient-local window your quiet-hours setting already enforces

Quiet hours are the blocked span of local time during which marketing SMS must not be delivered — and the trap is that they are evaluated at the recipient, not the sender. A federal baseline in the US runs 8 AM → 9 PM recipient-local; international markets move the blocked stretch further into the day (India's DLT-registered promotional traffic completes inside a 9 AM → 9 PM corridor; Brazil and GCC markets run comparable or narrower windows). The send-time optimization and quiet-hours post is the canonical walk-through of the recipient-local math and the UTC-pinned-timer failure mode — a window stored as a UTC offset drifts an hour against the recipient's clock when daylight saving moves, and a message that waited for a legal window lands inside a blocked one.

The programmatic point for the marketing playbook: quiet hours apply to the marketing class specifically. An OTP at 2 AM recipient-local is lawful nearly everywhere; a flash-sale promo at 2 AM recipient-local is not. Route by class, and the quiet-hours rule attaches to exactly the traffic the jurisdiction means by "promotional." Orbit evaluates both the quiet-hours window and the send-time optimization pick against the recipient's local time as tenant-configured gates — set org-wide per channel, defaulted at the campaign-fallback layer, and overridable per campaign, per the quiet-hours configuration guide and the quiet-hours settings announcement.

Measuring the program: delivered, opted-out, complaint, CTR, and the geo benchmark table

A marketing program without a measurement discipline becomes a send counter — and raw sends reward exactly the behavior that erodes the contact base. The five metrics that matter, and the surface in Orbit that reports each:

  • Sent: the campaign's attempted volume. A denominator, not a result.
  • Delivered: the handset-confirmed rate. This is the figure the destination carrier's DLR stream reports back — the channel-analytics reference describes the cross-channel delivery query the Insights page draws from, and the SMS CTR dashboard surfaces delivered-rate cohorts per campaign and per geo.
  • Opted-out: opt-outs per delivered message, the early-warning indicator for frequency and content fatigue. A marketing program that trends above a fraction of a percent per campaign is feeding its exit batch.
  • Complaint: spam-report and carrier-flag rate, where the carrier or the handset reports back "unwanted." Complaints drive 10DLC re-vetting and route degradation before any single fine arrives.
  • CTR: clicks per delivered message on a tracked short link. CTR is the one that proves the channel — SMS marketing earns its budget because the open-to-click path is short, and the CTR cohort is what separates a program that is working from a list that is shrinking. The SMS CTR insights view reports clicks geo-broken and campaign-broken; the surgeon reads CTR per destination, not as a flat average.

Benchmarks: a healthy US marketing SMS program typically sees delivered rates in the high 90s, opt-out under 0.5% per campaign, complaint well under 0.1%, and CTR in the high single digits on tracked links — with the caveat that destination moves every figure. India DLT promotional corridors and GCC markets compress the allowed window, which concentrates volume into prime hours and lifts both delivered and CTR per message, while opt-out baselines hold roughly flat. A geo-broken CTR table — destination row, delivered, opt-out, complaint, CTR — is the honest benchmark, and the channel-analytics reference describes the query the geo table draws from.

Opt-out, suppression, and the dark-pattern line

Opt-out honoring is an SLA, not a courtesy. STOP, plus its carrier-standard synonyms, must convert to suppression within seconds — and suppression must be absolute: one campaign's STOP is the whole sender's STOP for the class, not a list-local flag the next campaign can accident past. The message-suppression reference documents the opt-out path and the consent-revocation pairing; the SMS pumping fraud news explainer covers the mirror threat on the inbound side, where suppression and verification are what stand between a program and a bot-inflated list.

The newer line is the EU dark-pattern regime. The UCPD — the EU's Unfair Commercial Practices Directive — and the recast shorthand "UCDAS" audit the interfaces consent flows are built of: the buried unsubscribe, the pre-ticked box, the confirm-shaming opt-out screen. The UCPD/UCDAS dark-pattern explainer separates the two instruments and names the manipulative patterns they actually prohibit in SMS and web-capture flows. The marketing-playbook discipline: an opt-in interface that needs a dark pattern to convert is a consent store whose proof will not survive a complaint, and an opt-out interface that hides the exit is a suppression liability the carrier prices at the route level. Both are tenant-owned design choices — the platform gates whatever posture the tenant builds.

Sender identity and the country playbook

The sender-ID strategy splits by market. US A2P is 10DLC-registered long codes or dedicated short codes, with the use-case registration from section three deciding the lane. India registers headers under DLT and completes promotional sends inside the narrow window. UK, EU, and GCC markets run sender-ID pre-registration where alphanumeric identity is supported, with some destinations (and virtually all promos into regulated GCC corridors) demanding the registration before the first send. The playbook is per-country: the same program that is a clean 10DLC campaign in the US is a DLT-registered header in India and a pre-registered alphanumeric ID across much of Europe, and the routing decision the platform makes has to carry the class declaration through each registration regime without dropping it. For the buyer still choosing the platform the program runs on, the best SMS marketing platforms 2026 listicle scores the suites and the API-first platforms on exactly the program disciplines above — audiences, campaign approvals, send-time optimization, quiet hours, and pricing model.

The quarterly review: the compliance posture that keeps the program lawful

The marketing program is not static. Consent records stale behind real traffic, country rule regimes move, opted-out numbers re-enter through bad imports, and a program that was compliant at launch drifts out of compliance by quarter two unless the posture is re-examined. The compliance-posture quarterly review frames the discipline: read the health score for drift, audit consent and opt-out coverage, exercise the suppression flow end to end, close with the evidence binder. For SMS marketing specifically, the quarterly pass adds two checks — re-verify that 10DLC use-case registrations still match the traffic the program actually sends (campaign class drift is the quiet 10DLC vetting failure), and re-run the geo CTR table against the current opt-out baseline so a shrinking engaged cohort gets caught while it is still a content problem, not a complaint storm.

Frequently asked questions

What is the difference between SMS marketing and transactional SMS?

Transactional SMS facilitates an existing relationship — one-time passcodes, order confirmations, appointment reminders — and sends on implied consent per event. SMS marketing promotes or advertises to a recipient list and runs under the full promotional regime: prior express written consent per contact, quiet hours, mandatory opt-out honoring registered on an SLA, 10DLC use-case registration, and frequency discipline. The two send over the same carrier pipes but inherit different consent classes and different gates.

What opt-in proof does a marketing send require under TCPA?

Prior express written consent: the contact agreed to marketing texts at the number they provided, with the agreement captured verifiably. Keyword opt-in (the contact texts JOIN), a web or point-of-sale form with full disclosure, and double opt-in (a YES-confirmation text) are the verifiable patterns; the proof artifact — the keyword log, the form's consent-text version, or the confirmation message — must live on the consent record, because "they bought something from us once" is a transactional inference that does not survive a marketing complaint.

How does 10DLC treat a marketing campaign differently from a transactional one?

Registration asks the use-case class, and the carrier vets and applies throughput to the class the registration named. A marketing use case registered as transactional invites vetting rejection or downstream re-classification; a marketing use case honestly declared gets the promo-class throughput profile and the full vetting of a promo sender. A mixed program registers both classes and routes each message by its campaign-class declaration.

Where do I set quiet hours for marketing SMS in Orbit?

Two tenant-side places: an org-wide per-channel gate covers every send on the channel, and a campaign-fallback window gives drip and journey sends a default. A campaign's own window overrides the fallback. Both evaluate recipient-local time at the recipient, and both apply to the marketing class specifically — a 2 AM recipient-local OTP is lawful nearly everywhere; a 2 AM recipient-local promo is not.

What CTR should a healthy SMS marketing program expect?

US marketing SMS programs typically see high-90s delivered, opt-out under 0.5% per campaign, complaint well under 0.1%, and CTR in the high single digits on tracked links — with per-destination variance that makes the geo-broken table (delivered, opt-out, complaint, CTR by country) the honest benchmark. India DLT corridors and GCC windows compress volume into prime hours and lift both delivered and CTR per message relative to a flatter US baseline.

How does the consent boundary decide whether a send is marketing or transactional?

The campaign class declaration marks it. A campaign_type: marketing row triggers the promo gate — written consent required, quiet hours enforced, use-case registration checked. A transactional row takes the implied-consent lane. On a mixed contact base, the class filter applies at campaign assembly: a contact whose only grant is transactional must not enter a marketing sends' audience regardless of the list assumption.

The SMS Marketing Playbook 2026: Consent, Quiet Hours, 10DLC Routing, and the CTR Benchmarks That Tell You It Is Working — Orbit by Devotel