Suede SMS Programs
Suede SMS designs consent-aware message programs for commerce, mobile, and SaaS
use cases where immediacy can earn its interruption cost. It combines sequence
logic, sender identity, cadence, carrier constraints, and measurement without
claiming legal certification or sending messages.
Before Starting
Check for product marketing context first:
If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
1. Business Type
- B2C ecom / DTC, B2B SaaS, mobile app, services, fintech
- Order volume or list size (SMS economics depend on scale)
- Geographic mix (US, EU, both — compliance differs dramatically)
2. Current State
- Existing SMS program (platform, list size, opt-in rate, opt-out rate, revenue/send)
- Email program (SMS works best as a layer on top, not a replacement)
- Phone number type: short code, toll-free, long code (10DLC)
- Sequences already running (so a new flow does not double-tap the same contact)
3. Compliance Posture
- US: A2P 10DLC registration complete? (Required since 2022 — without it, your messages get filtered)
- Opt-in mechanism in use? (Checkbox, keyword opt-in, double opt-in)
- Privacy policy + terms include SMS disclosures?
4. Goal
- Drive revenue (promotional, cart recovery, post-purchase)
- Drive activation (welcome, onboarding, milestone nudges)
- Transactional (order updates, auth codes, alerts)
When SMS Beats Email
SMS is not "another email." Use it where the channel's properties win:
| Use Case |
SMS or Email? |
Why |
| Abandoned cart recovery |
SMS first |
98% open rate within 3 min vs 20% for email in 24h |
| Order/shipping updates |
SMS |
Customers want it now, on their phone |
| Flash sale / limited drop |
SMS |
Urgency channel; immediate read |
| Auth codes / 2FA |
SMS (or app) |
Latency-sensitive, must arrive in seconds |
| Welcome series |
Email primary, SMS layer |
Email carries the long-form content |
| Educational nurture |
Email |
Too much text for SMS, costs add up |
| Newsletter |
Email |
Wrong channel for SMS |
| Win-back lapsed customers |
Both |
SMS for the strong nudge, email for the offer detail |
| Post-purchase upsell |
SMS |
High open rate, ride the purchase momentum |
General rule: SMS earns the right to interrupt because of opt-in. Use it for messages that genuinely benefit from immediacy. If it could wait 24 hours, send it via email.
Compliance — Read First
Compliance is the foundation, not an afterthought. A single TCPA class-action settlement runs $5M–$40M. The basics:
US — TCPA (Telephone Consumer Protection Act)
- Express written consent required for marketing SMS. Implied consent doesn't count.
- Clear disclosure at opt-in must include: program name, frequency expectation ("up to 4 msgs/month"), STOP/HELP instructions, "Msg & data rates may apply," link to terms.
- Honor STOP/UNSUBSCRIBE within seconds, every time, no exceptions, on every keyword variant (STOP, END, CANCEL, UNSUBSCRIBE, QUIT).
- Honor HELP with a response containing brand name + STOP info + support contact.
- Quiet hours: no marketing sends before 8am or after 9pm in the recipient's local time. Carrier rules and state laws (e.g., Florida, Oklahoma, Washington) are stricter than federal — default to 9am–8pm recipient-local.
- Keep written consent records with timestamp, opt-in source, and exact disclosure text shown. Auditable.
US — A2P 10DLC Registration (required since 2022)
Application-to-Person 10-digit long codes must be registered through The Campaign Registry (TCR) via your SMS platform. Without registration:
- Throughput is throttled (or zero)
- Carriers filter your messages
- You'll see "delivered" status but recipients won't get them
Registration covers: brand identity verification, campaign use case (marketing, account notification, OTP, etc.), sample messages, opt-in mechanism, opt-out language. Sample message text from registration must match what you actually send.
EU/UK — GDPR-derived consent
- Explicit opt-in required (no pre-checked boxes)
- Right to withdraw consent must be as easy as giving it
- Data subject access requests apply to SMS records
- ePrivacy Directive layered on top of GDPR
Canada — CASL
- Express consent + sender identification + unsubscribe in every message
- Implied consent allowed for existing business relationships within 24 months
- Penalties up to CAD $10M per violation
For full compliance details, edge cases, opt-in copy templates, and STOP/HELP response templates: see references/compliance.md.
Phone Number Types (US)
| Type |
Throughput |
Cost |
Use Case |
Trust |
| Short code (5-6 digit) |
100+ msg/sec |
$500–$1,000/mo + setup |
High-volume marketing |
Highest (carrier-vetted) |
| Toll-free (1-8XX) |
~3 msg/sec |
$10–$30/mo |
Mid-volume, B2C support |
Medium-high (carrier-verified) |
| 10DLC (regular long code) |
1–250 msg/sec |
$2–$10/mo |
SMB, conversational, transactional |
Medium (requires A2P 10DLC reg) |
Rule of thumb: list <10K = 10DLC. List 10K–100K = toll-free. List 100K+ = short code.
Core Principles
1. Every send has a real cost
SMS isn't free. At $0.0075–$0.04 per send + carrier fees, a 100K send costs $750–$4,000. This forces relevance — you can't "blast." Segment hard.
2. Opt-in is your most valuable asset
Opt-in rate from email → SMS is typically 5–25%. A high-quality SMS list of 10K beats a low-quality list of 100K. Optimize opt-in quality, not volume.
3. Each message must justify itself
The recipient gave you their phone number. Every send should pass: "would I be glad I got this text?" If no, don't send.
4. Brevity + clarity
160 GSM-7 characters = 1 SMS segment. 161+ chars = 2 segments (you're billed for 2). Emojis force UCS-2 encoding (70 chars per segment). Plan for segment count.
5. One CTA, one link
Short links are mandatory (klvy.co, txt.attn.tv, branded short domain). Track UTM params on every link.
6. Sender identity, every send
"From [Brand]:" or branded short code at the start of every message. Even on automated flows. Recipients can't see "from" address — they need it inline.
SMS Sequence Types
Welcome / Opt-In Confirmation (immediate)
Send 1: Confirmation + reward (immediate)
From Acme: Thanks for joining! Here's 10% off: ACME10. Use at checkout: acme.co/sale. Reply STOP to opt out.
Optional Send 2 (24h later): Reminder + best-seller showcase
Abandoned Cart (highest-ROI flow for ecom)
- Send 1 (30 min after abandon): "Forget something? Your cart's still here: [short link]"
- Send 2 (4 hours later): Soft urgency + social proof
- Send 3 (24 hours later, optional): Discount offer (only if margin allows)
Note: Discount on first message trains customers to abandon. Reserve discount for Send 2 or 3.
Browse Abandonment
- Send 1 (1 hour after browse): Product + "Thinking it over?" + link
Post-Purchase
- Send 1 (immediate): Order confirmation + delivery ETA (transactional, separate consent OK)
- Send 2 (after delivery + 2 days): "How are you liking [product]?" + review prompt + cross-sell
Win-Back (lapsed)
- Send 1 (60–90 days after last purchase): "We miss you" + curated picks
- Send 2 (14 days later): Discount offer
- Send 3 (final, 14 days later): Opt-out warning + last chance
Promotional / Campaign Sends
- Flash sales, drops, launches, BFCM
- 1–2 sends max per campaign
- Stack against email send schedule to avoid same-day double-tap
Transactional (separate compliance bucket)
- Order updates, shipping, delivery, auth codes, account alerts
- Generally OK without separate marketing consent if directly related to a transaction the user initiated
- Still subject to A2P 10DLC registration in US
For full sequence templates with copy and timing: see references/sequence-templates.md.
SMS Copy Guidelines
Structure
- Sender ID ("From Acme:" or brand short code) — required
- Hook — first 5 words decide if they read on
- Value — what's in it for them, specifically
- CTA + short link — single action, single URL
- Compliance footer — "Reply STOP to opt out" (required on opt-in confirmation and at least quarterly thereafter; carrier-recommended on every promotional message)
Length
- 160 chars (GSM-7) = 1 segment. Aim here.
- 70 chars (UCS-2) if you use emojis, accented characters, or curly quotes — you'll pay for more segments.
- 161–306 chars = 2 segments (concatenated SMS). Acceptable for richer messages, but you're paying double per send.
- MMS (image + up to 1,600 chars) = 3–5× the SMS cost. Use sparingly for high-impact moments.
Voice
- Conversational, not corporate. SMS feels personal — write like you're texting a friend.
- No subject line, no formatting, no marketing-speak.
- Emojis are fine in moderation (one per message, situationally).
- ALL CAPS reads as shouting. Avoid except for explicit codes (e.g., "Use ACME10").
Never ship these strings — they are the SMS defaults a model reaches for unprompted, and several are expensive too, since a leading emoji flips the message to UCS-2 and halves the segment to 70 characters. Replace each with the specific thing: the product they left, the amount off, the date it ends.
- "Don't miss out!" / "Hurry, ends soon!" / "LAST CHANCE" / "Time is running out"
- "Hey [Name]! 👋" / "Hey friend!" / "Psst..." / "We miss you 😢" / "It's been a while!"
- "Exclusive offer just for you" / "You've been selected" / "Tap here" with no statement of what is on the other side
- Flame, siren, alarm-clock, or party-popper emoji as the opener
Personalization
- First name token if available (boosts CTR ~20%)
- Recent product/category browse-based
- Location-based offers (where applicable)
Platform Selection
Evaluation examples, not guaranteed integrations — this pack ships no SMS connectors. Before recommending one, verify vendor
documentation, authenticated access, per-message cost, carrier support, consent storage, quiet hours, STOP/HELP behavior, and send limits.
| Platform |
Best For |
Cost Tier |
Verify Before Use |
| Klaviyo SMS |
DTC ecom already on Klaviyo email |
$$ |
Store integration, consent, attribution |
| Postscript |
DTC Shopify ecom, deep integration |
$$ |
Store integration, consent, attribution |
| Attentive |
Mid-market+ ecom, full-service |
$$$ |
Store integration, consent, attribution |
| Twilio / Plivo |
Custom builds, transactional, devs |
$ (raw API) |
Number registration, throughput, callbacks |
| Brevo SMS |
EU-focused, email + SMS combo |
$ |
Regional coverage, orchestration, suppression |
| SimpleTexting |
SMB, simple needs, ease of use |
$ |
Regional coverage, consent record |
| Customer.io |
Behavior-based automation + SMS |
$$ |
Regional coverage, orchestration, suppression |
| AudienceTap |
Specialized DTC capture |
$ |
Capture method, consent record, carrier coverage |
Quick picks:
- Already on Klaviyo for email + DTC/ecom → Klaviyo SMS (no second platform to learn)
- Shopify ecom, want deeper SMS-specific features → Postscript
- Building custom SMS into a product → Twilio
- B2B SaaS doing transactional/auth → Twilio or Customer.io
For platform deep-dives (features, pricing, integration paths, A2P registration): see references/platforms.md.
Measurement
Key Metrics
| Metric |
What it tells you |
Healthy range (ecom DTC) |
| Opt-in rate |
Top of funnel health |
5–25% of email subscribers |
| CTR |
Message relevance |
8–15% (vs ~3% email) |
| Conversion rate (per send) |
Revenue impact |
1–5% per promotional send |
| Revenue per send (RPS) |
Channel economics |
$0.20–$2.00 |
| Opt-out rate per send |
Audience fatigue |
<2% per send, <0.5% for promotional |
| Cost per send |
Channel cost discipline |
$0.0075–$0.04 |
| List growth rate |
Audience momentum |
5–15%/month early, 1–3% steady-state |
What to track in analytics
- UTM tag every link:
utm_source=sms&utm_medium=sms&utm_campaign=[campaign-name]
- Conversion attribution: SMS-driven sessions, last-click revenue, assisted conversions
- LTV impact: SMS subscribers vs email-only subscribers (typically 1.5–3× LTV for SMS opt-ins)
What to A/B test
- Send time (afternoon vs evening, local time)
- Copy length (short SMS vs MMS with image)
- Discount amount and trigger (immediate vs delayed)
- Personalization tokens (with first name vs without)
- CTA copy ("Shop now" vs "See it" vs "Last chance")
Output Format
When the user asks for an SMS plan, return these six sections, in this order, with these headings:
- Compliance check: Are they registered for A2P 10DLC (if US)? Is the opt-in mechanism compliant? Flag blockers first.
- Strategy: Which SMS flows to build first, ranked by ROI for their business model.
- Sequence designs: For each priority flow, one block per message, in this exact shape:
Trigger: [event that fires this message]
Delay: [time after the trigger]
Copy: (NN chars, N segments, GSM-7|UCS-2)
[the message exactly as it would send, sender ID and compliance footer included]
CTA link: [short link + UTM params]
Segment: [who receives this, who is excluded]
Compliance footer: [STOP language present / not required here, and why]
- Platform recommendation: Based on stack, list size, and complexity.
- Measurement plan: KPIs, benchmarks, A/B test queue.
- Compliance footer: Required disclosures, STOP/HELP response templates.
Keep recommendations specific. Don't say "send an SMS at the right time" — say "send 30 min after cart abandon, 4 hours later if no purchase, 24 hours later with discount."
Pre-delivery self-check
Run this on the messages you just drafted, not on the user's program — section 1 above audits the program, and nothing else checks the copy. Any failure means the plan is not deliverable: name the failing item and fix it before presenting.
Common Mistakes
- Treating SMS like email — sending daily promotional blasts. Opt-out rates spike, list dies.
- Not tracking conversions — you can't justify channel ROI without attribution.
- No throttling on bulk sends — burst sends trigger carrier filtering. Use platform throttling.
Boundaries
- Do not send or schedule messages, import or purchase lists, register numbers,
change carrier settings, or mutate consent records without verified live
state and explicit approval.
- Do not treat this skill as legal advice or claim compliance. Require
documented consent, sender identification, quiet-hour, opt-out, suppression,
and jurisdiction review before activation.
- Do not invent consent, delivery, revenue, or attribution data, and do not
place personal phone numbers in drafts or reports.
Routing
- Use
suede-emails for the email side of a coordinated lifecycle program.
- Use
suede-site-alchemy for phone-number capture experiences.
- Use
suede-churn-prevention for approved win-back strategy.
- Use
suede-analytics to define delivery, response, and revenue measurement.
- Use
suede-ab-testing to design the send-time, copy-length, and offer tests queued in the measurement plan.
- Use
suede-deslop before any message goes to a real recipient.
- From those skills, route SMS sequence design, copy, and consent-aware cadence back to
suede-sms.
1---2name: suede-sms3description: Suede-owned SMS and MMS marketing discipline. Use when evaluating SMS as a channel, designing consent-aware sequences, drafting messages, setting cadence, comparing number types or platforms, or defining measurement — TCPA consent, A2P 10DLC, quiet hours, cart-recovery and win-back texts. NOT FOR: email campaigns (use suede-emails), phone capture UX (use suede-site-alchemy), or legal certification — this skill does not give legal advice and never sends, schedules, imports, or registers.4---56# Suede SMS Programs78Suede SMS designs consent-aware message programs for commerce, mobile, and SaaS9use cases where immediacy can earn its interruption cost. It combines sequence10logic, sender identity, cadence, carrier constraints, and measurement without11claiming legal certification or sending messages.1213## Before Starting1415**Check for product marketing context first:**16If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.1718Gather this context (ask if not provided):1920### 1. Business Type21- B2C ecom / DTC, B2B SaaS, mobile app, services, fintech22- Order volume or list size (SMS economics depend on scale)23- Geographic mix (US, EU, both — compliance differs dramatically)2425### 2. Current State26- Existing SMS program (platform, list size, opt-in rate, opt-out rate, revenue/send)27- Email program (SMS works best as a layer on top, not a replacement)28- Phone number type: short code, toll-free, long code (10DLC)29- Sequences already running (so a new flow does not double-tap the same contact)3031### 3. Compliance Posture32- US: A2P 10DLC registration complete? (Required since 2022 — without it, your messages get filtered)33- Opt-in mechanism in use? (Checkbox, keyword opt-in, double opt-in)34- Privacy policy + terms include SMS disclosures?3536### 4. Goal37- Drive revenue (promotional, cart recovery, post-purchase)38- Drive activation (welcome, onboarding, milestone nudges)39- Transactional (order updates, auth codes, alerts)4041---4243## When SMS Beats Email4445SMS is not "another email." Use it where the channel's properties win:4647| Use Case | SMS or Email? | Why |48|----------|---------------|-----|49| Abandoned cart recovery | **SMS first** | 98% open rate within 3 min vs 20% for email in 24h |50| Order/shipping updates | **SMS** | Customers want it now, on their phone |51| Flash sale / limited drop | **SMS** | Urgency channel; immediate read |52| Auth codes / 2FA | **SMS** (or app) | Latency-sensitive, must arrive in seconds |53| Welcome series | **Email primary, SMS layer** | Email carries the long-form content |54| Educational nurture | **Email** | Too much text for SMS, costs add up |55| Newsletter | **Email** | Wrong channel for SMS |56| Win-back lapsed customers | **Both** | SMS for the strong nudge, email for the offer detail |57| Post-purchase upsell | **SMS** | High open rate, ride the purchase momentum |5859**General rule**: SMS earns the right to interrupt because of opt-in. Use it for messages that genuinely benefit from immediacy. If it could wait 24 hours, send it via email.6061---6263## Compliance — Read First6465**Compliance is the foundation, not an afterthought.** A single TCPA class-action settlement runs $5M–$40M. The basics:6667### US — TCPA (Telephone Consumer Protection Act)68691. **Express written consent** required for marketing SMS. Implied consent doesn't count.702. **Clear disclosure at opt-in** must include: program name, frequency expectation ("up to 4 msgs/month"), STOP/HELP instructions, "Msg & data rates may apply," link to terms.713. **Honor STOP/UNSUBSCRIBE within seconds**, every time, no exceptions, on every keyword variant (STOP, END, CANCEL, UNSUBSCRIBE, QUIT).724. **Honor HELP** with a response containing brand name + STOP info + support contact.735. **Quiet hours**: no marketing sends before 8am or after 9pm in the recipient's local time. Carrier rules and state laws (e.g., Florida, Oklahoma, Washington) are stricter than federal — default to 9am–8pm recipient-local.746. **Keep written consent records** with timestamp, opt-in source, and exact disclosure text shown. Auditable.7576### US — A2P 10DLC Registration (required since 2022)7778Application-to-Person 10-digit long codes must be registered through The Campaign Registry (TCR) via your SMS platform. Without registration:79- Throughput is throttled (or zero)80- Carriers filter your messages81- You'll see "delivered" status but recipients won't get them8283**Registration covers**: brand identity verification, campaign use case (marketing, account notification, OTP, etc.), sample messages, opt-in mechanism, opt-out language. Sample message text from registration must match what you actually send.8485### EU/UK — GDPR-derived consent8687- Explicit opt-in required (no pre-checked boxes)88- Right to withdraw consent must be as easy as giving it89- Data subject access requests apply to SMS records90- ePrivacy Directive layered on top of GDPR9192### Canada — CASL9394- Express consent + sender identification + unsubscribe in every message95- Implied consent allowed for existing business relationships within 24 months96- Penalties up to CAD $10M per violation9798**For full compliance details, edge cases, opt-in copy templates, and STOP/HELP response templates**: see [references/compliance.md](references/compliance.md).99100---101102## Phone Number Types (US)103104| Type | Throughput | Cost | Use Case | Trust |105|------|-----------|------|----------|-------|106| **Short code (5-6 digit)** | 100+ msg/sec | $500–$1,000/mo + setup | High-volume marketing | Highest (carrier-vetted) |107| **Toll-free (1-8XX)** | ~3 msg/sec | $10–$30/mo | Mid-volume, B2C support | Medium-high (carrier-verified) |108| **10DLC (regular long code)** | 1–250 msg/sec | $2–$10/mo | SMB, conversational, transactional | Medium (requires A2P 10DLC reg) |109110**Rule of thumb**: list <10K = 10DLC. List 10K–100K = toll-free. List 100K+ = short code.111112---113114## Core Principles115116### 1. Every send has a real cost117SMS isn't free. At $0.0075–$0.04 per send + carrier fees, a 100K send costs $750–$4,000. This forces relevance — you can't "blast." Segment hard.118119### 2. Opt-in is your most valuable asset120Opt-in rate from email → SMS is typically 5–25%. A high-quality SMS list of 10K beats a low-quality list of 100K. Optimize opt-in quality, not volume.121122### 3. Each message must justify itself123The recipient gave you their phone number. Every send should pass: "would I be glad I got this text?" If no, don't send.124125### 4. Brevity + clarity126160 GSM-7 characters = 1 SMS segment. 161+ chars = 2 segments (you're billed for 2). Emojis force UCS-2 encoding (70 chars per segment). Plan for segment count.127128### 5. One CTA, one link129Short links are mandatory (`klvy.co`, `txt.attn.tv`, branded short domain). Track UTM params on every link.130131### 6. Sender identity, every send132"From [Brand]:" or branded short code at the start of every message. Even on automated flows. Recipients can't see "from" address — they need it inline.133134---135136## SMS Sequence Types137138### Welcome / Opt-In Confirmation (immediate)139140Send 1: Confirmation + reward (immediate)141> From Acme: Thanks for joining! Here's 10% off: ACME10. Use at checkout: acme.co/sale. Reply STOP to opt out.142143Optional Send 2 (24h later): Reminder + best-seller showcase144145### Abandoned Cart (highest-ROI flow for ecom)146147- Send 1 (30 min after abandon): "Forget something? Your cart's still here: [short link]"148- Send 2 (4 hours later): Soft urgency + social proof149- Send 3 (24 hours later, optional): Discount offer (only if margin allows)150151**Note**: Discount on first message trains customers to abandon. Reserve discount for Send 2 or 3.152153### Browse Abandonment154155- Send 1 (1 hour after browse): Product + "Thinking it over?" + link156157### Post-Purchase158159- Send 1 (immediate): Order confirmation + delivery ETA (transactional, separate consent OK)160- Send 2 (after delivery + 2 days): "How are you liking [product]?" + review prompt + cross-sell161162### Win-Back (lapsed)163164- Send 1 (60–90 days after last purchase): "We miss you" + curated picks165- Send 2 (14 days later): Discount offer166- Send 3 (final, 14 days later): Opt-out warning + last chance167168### Promotional / Campaign Sends169170- Flash sales, drops, launches, BFCM171- 1–2 sends max per campaign172- Stack against email send schedule to avoid same-day double-tap173174### Transactional (separate compliance bucket)175176- Order updates, shipping, delivery, auth codes, account alerts177- Generally OK without separate marketing consent if directly related to a transaction the user initiated178- Still subject to A2P 10DLC registration in US179180**For full sequence templates with copy and timing**: see [references/sequence-templates.md](references/sequence-templates.md).181182---183184## SMS Copy Guidelines185186### Structure1871. **Sender ID** ("From Acme:" or brand short code) — required1882. **Hook** — first 5 words decide if they read on1893. **Value** — what's in it for them, specifically1904. **CTA + short link** — single action, single URL1915. **Compliance footer** — "Reply STOP to opt out" (required on opt-in confirmation and at least quarterly thereafter; carrier-recommended on every promotional message)192193### Length194195- **160 chars (GSM-7)** = 1 segment. Aim here.196- **70 chars (UCS-2)** if you use emojis, accented characters, or curly quotes — you'll pay for more segments.197- **161–306 chars** = 2 segments (concatenated SMS). Acceptable for richer messages, but you're paying double per send.198- **MMS** (image + up to 1,600 chars) = 3–5× the SMS cost. Use sparingly for high-impact moments.199200### Voice201202- Conversational, not corporate. SMS feels personal — write like you're texting a friend.203- No subject line, no formatting, no marketing-speak.204- Emojis are fine in moderation (one per message, situationally).205- ALL CAPS reads as shouting. Avoid except for explicit codes (e.g., "Use ACME10").206207**Never ship these strings** — they are the SMS defaults a model reaches for unprompted, and several are expensive too, since a leading emoji flips the message to UCS-2 and halves the segment to 70 characters. Replace each with the specific thing: the product they left, the amount off, the date it ends.208209- "Don't miss out!" / "Hurry, ends soon!" / "LAST CHANCE" / "Time is running out"210- "Hey [Name]! 👋" / "Hey friend!" / "Psst..." / "We miss you 😢" / "It's been a while!"211- "Exclusive offer just for you" / "You've been selected" / "Tap here" with no statement of what is on the other side212- Flame, siren, alarm-clock, or party-popper emoji as the opener213214### Personalization215216- First name token if available (boosts CTR ~20%)217- Recent product/category browse-based218- Location-based offers (where applicable)219220---221222## Platform Selection223224Evaluation examples, not guaranteed integrations — this pack ships no SMS connectors. Before recommending one, verify vendor225documentation, authenticated access, per-message cost, carrier support, consent storage, quiet hours, STOP/HELP behavior, and send limits.226227| Platform | Best For | Cost Tier | Verify Before Use |228|----------|----------|-----------|-------------------|229| **Klaviyo SMS** | DTC ecom already on Klaviyo email | $$ | Store integration, consent, attribution |230| **Postscript** | DTC Shopify ecom, deep integration | $$ | Store integration, consent, attribution |231| **Attentive** | Mid-market+ ecom, full-service | $$$ | Store integration, consent, attribution |232| **Twilio / Plivo** | Custom builds, transactional, devs | $ (raw API) | Number registration, throughput, callbacks |233| **Brevo SMS** | EU-focused, email + SMS combo | $ | Regional coverage, orchestration, suppression |234| **SimpleTexting** | SMB, simple needs, ease of use | $ | Regional coverage, consent record |235| **Customer.io** | Behavior-based automation + SMS | $$ | Regional coverage, orchestration, suppression |236| **AudienceTap** | Specialized DTC capture | $ | Capture method, consent record, carrier coverage |237238**Quick picks**:239- Already on Klaviyo for email + DTC/ecom → **Klaviyo SMS** (no second platform to learn)240- Shopify ecom, want deeper SMS-specific features → **Postscript**241- Building custom SMS into a product → **Twilio**242- B2B SaaS doing transactional/auth → **Twilio** or **Customer.io**243244**For platform deep-dives (features, pricing, integration paths, A2P registration)**: see [references/platforms.md](references/platforms.md).245246---247248## Measurement249250### Key Metrics251252| Metric | What it tells you | Healthy range (ecom DTC) |253|--------|-------------------|--------------------------|254| **Opt-in rate** | Top of funnel health | 5–25% of email subscribers |255| **CTR** | Message relevance | 8–15% (vs ~3% email) |256| **Conversion rate (per send)** | Revenue impact | 1–5% per promotional send |257| **Revenue per send (RPS)** | Channel economics | $0.20–$2.00 |258| **Opt-out rate per send** | Audience fatigue | <2% per send, <0.5% for promotional |259| **Cost per send** | Channel cost discipline | $0.0075–$0.04 |260| **List growth rate** | Audience momentum | 5–15%/month early, 1–3% steady-state |261262### What to track in analytics263264- UTM tag every link: `utm_source=sms&utm_medium=sms&utm_campaign=[campaign-name]`265- Conversion attribution: SMS-driven sessions, last-click revenue, assisted conversions266- LTV impact: SMS subscribers vs email-only subscribers (typically 1.5–3× LTV for SMS opt-ins)267268### What to A/B test269270- Send time (afternoon vs evening, local time)271- Copy length (short SMS vs MMS with image)272- Discount amount and trigger (immediate vs delayed)273- Personalization tokens (with first name vs without)274- CTA copy ("Shop now" vs "See it" vs "Last chance")275276---277278## Output Format279280When the user asks for an SMS plan, return these six sections, in this order, with these headings:2812821. **Compliance check**: Are they registered for A2P 10DLC (if US)? Is the opt-in mechanism compliant? Flag blockers first.2832. **Strategy**: Which SMS flows to build first, ranked by ROI for their business model.2843. **Sequence designs**: For each priority flow, one block per message, in this exact shape:285286```287Trigger: [event that fires this message]288Delay: [time after the trigger]289Copy: (NN chars, N segments, GSM-7|UCS-2)290[the message exactly as it would send, sender ID and compliance footer included]291CTA link: [short link + UTM params]292Segment: [who receives this, who is excluded]293Compliance footer: [STOP language present / not required here, and why]294```2952964. **Platform recommendation**: Based on stack, list size, and complexity.2975. **Measurement plan**: KPIs, benchmarks, A/B test queue.2986. **Compliance footer**: Required disclosures, STOP/HELP response templates.299300Keep recommendations specific. Don't say "send an SMS at the right time" — say "send 30 min after cart abandon, 4 hours later if no purchase, 24 hours later with discount."301302---303304## Pre-delivery self-check305306Run this on the messages you just drafted, not on the user's program — section 1 above audits the program, and nothing else checks the copy. Any failure means the plan is not deliverable: name the failing item and fix it before presenting.307308- [ ] Every message carries the sender ID inline309- [ ] Every message shows its character and segment count, and stays inside the segment budget you declared310- [ ] Opt-in confirmation and at least one message per quarter carry STOP language311- [ ] Every send time falls inside 9am–8pm recipient-local312- [ ] No personal phone number appears in any draft313- [ ] The drafted copy is consistent with the sample text declared at A2P registration314315---316317## Common Mistakes3183191. **Treating SMS like email** — sending daily promotional blasts. Opt-out rates spike, list dies.3202. **Not tracking conversions** — you can't justify channel ROI without attribution.3213. **No throttling on bulk sends** — burst sends trigger carrier filtering. Use platform throttling.322323---324325## Boundaries326327- Do not send or schedule messages, import or purchase lists, register numbers,328 change carrier settings, or mutate consent records without verified live329 state and explicit approval.330- Do not treat this skill as legal advice or claim compliance. Require331 documented consent, sender identification, quiet-hour, opt-out, suppression,332 and jurisdiction review before activation.333- Do not invent consent, delivery, revenue, or attribution data, and do not334 place personal phone numbers in drafts or reports.335336## Routing337338- Use `suede-emails` for the email side of a coordinated lifecycle program.339- Use `suede-site-alchemy` for phone-number capture experiences.340- Use `suede-churn-prevention` for approved win-back strategy.341- Use `suede-analytics` to define delivery, response, and revenue measurement.342- Use `suede-ab-testing` to design the send-time, copy-length, and offer tests queued in the measurement plan.343- Use `suede-deslop` before any message goes to a real recipient.344- From those skills, route SMS sequence design, copy, and consent-aware cadence back to `suede-sms`.