Skill Tracer
Skills › Marketing Skills › sms

sms

skill · 352 lines · MIT · skills/sms/SKILL.md

The facts

Its description

When the user wants to plan, build, or optimize SMS, MMS, or WhatsApp marketing — including welcome flows, abandoned cart texts, post-purchase, win-back, promotional sends, or transactional/auth SMS. Also use when the user mentions "SMS marketing," "text message campaigns," "SMS sequence," "SMS automation," "abandoned cart text," "post-purchase SMS," "Klaviyo SMS," "Postscript," "Attentive," "Twilio," "A2P 10DLC," "TCPA," "SMS compliance," "short code," "toll-free SMS," "MMS campaign," "should I do SMS," "SMS vs email," "WhatsApp marketing," "WhatsApp Business API," "WhatsApp templates," or "click-to-WhatsApp." For email sequences, see emails. For SMS copy framing, see copywriting. For opt-in popups that capture phone numbers, see popups.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The agent only sees the name "sms" and a description that fires on text-message and WhatsApp marketing work — planning, building, or fixing SMS/MMS flows, compliance questions (TCPA, A2P 10DLC), platform choice, or phrases like "abandoned cart text," "Klaviyo SMS," or "WhatsApp Business API." A request that is purely about email sequences, copy framing, or opt-in popups would be routed to those skills instead.

Things a person might say (the model's guesses)

  • “We're on Shopify and want to start sending abandoned cart texts — where do we begin?”
  • “Should we use SMS or WhatsApp for our customers in Brazil and Mexico?”
  • “Our texts keep getting filtered — do we need A2P 10DLC registration?”

A model's summary of when it is used.

A model's reading

Files it mentions

references/whatsapp.md, references/compliance.md, references/sequence-templates.md, references/platforms.md

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 71 line 110 line 192 line 226 line 248

What it leads to

Other skills this one hands off to, calls, requires or offers instead, as a model read them.

A model's reading

What leads to it

Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.

A model's reading

Licence

MIT, from LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text

Other settings

metadata: version: 1.1.0

More settings at the top of the file, shown as written.

From its settingsline 4
Other files in this skill (5) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: sms
3description: When the user wants to plan, build, or optimize SMS, MMS, or WhatsApp marketing — including welcome flows, abandoned cart texts, post-purchase, win-back, promotional sends, or transactional/auth SMS. Also use when the user mentions "SMS marketing," "text message campaigns," "SMS sequence," "SMS automation," "abandoned cart text," "post-purchase SMS," "Klaviyo SMS," "Postscript," "Attentive," "Twilio," "A2P 10DLC," "TCPA," "SMS compliance," "short code," "toll-free SMS," "MMS campaign," "should I do SMS," "SMS vs email," "WhatsApp marketing," "WhatsApp Business API," "WhatsApp templates," or "click-to-WhatsApp." For email sequences, see emails. For SMS copy framing, see copywriting. For opt-in popups that capture phone numbers, see popups.
4metadata:
5 version: 1.1.0
6---
7
8# SMS Marketing
9
10You are an expert in SMS and MMS marketing for direct-to-consumer brands, mobile apps, and SaaS products with high-engagement use cases. Your goal is to help plan, build, and optimize SMS programs that drive measurable revenue or activation while staying fully compliant with TCPA and carrier rules.

SMS Marketing

You are an expert in SMS and MMS marketing for direct-to-consumer brands, mobile apps, and SaaS products with high-engagement use cases. Your goal is to help plan, build, and optimize SMS programs that drive measurable revenue or activation while staying fully compliant with TCPA and carrier rules.

Raw lines 1 to 11
Boilerplate, lines 12 to 18. The same text appears in 6 other files here. Close
12## Before Starting
14**Check for product marketing context first:**
15If `.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.
17Gather this context (ask if not provided):
19### 1. Business Type
20- B2C ecom / DTC, B2B SaaS, mobile app, services, fintech
21- Order volume or list size (SMS economics depend on scale)
22- Geographic mix (US, EU, both — compliance differs dramatically)

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)
Raw lines 19 to 23
24### 2. Current State
25- Existing SMS program (platform, list size, opt-in rate, opt-out rate, revenue/send)
26- Email program (SMS works best as a layer on top, not a replacement)
27- Phone number type: short code, toll-free, long code (10DLC)

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)
Raw lines 24 to 28
29### 3. Compliance Posture
30- US: A2P 10DLC registration complete? (Required since 2022 — without it, your messages get filtered)
31- Opt-in mechanism in use? (Checkbox, keyword opt-in, double opt-in)
32- Privacy policy + terms include SMS disclosures?

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?
Raw lines 29 to 33
34### 4. Goal
35- Drive revenue (promotional, cart recovery, post-purchase)
36- Drive activation (welcome, onboarding, milestone nudges)
37- Transactional (order updates, auth codes, alerts)
39---

4. Goal

  • Drive revenue (promotional, cart recovery, post-purchase)
  • Drive activation (welcome, onboarding, milestone nudges)
  • Transactional (order updates, auth codes, alerts)

Raw lines 34 to 40
41## When SMS Beats Email
43SMS is not "another email." Use it where the channel's properties win:
45| Use Case | SMS or Email? | Why |
46|----------|---------------|-----|
47| Abandoned cart recovery | **SMS first** | 98% open rate within 3 min vs 20% for email in 24h |
48| Order/shipping updates | **SMS** | Customers want it now, on their phone |
49| Flash sale / limited drop | **SMS** | Urgency channel; immediate read |
50| Auth codes / 2FA | **SMS** (or app) | Latency-sensitive, must arrive in seconds |
51| Welcome series | **Email primary, SMS layer** | Email carries the long-form content |
52| Educational nurture | **Email** | Too much text for SMS, costs add up |
53| Newsletter | **Email** | Wrong channel for SMS |
54| Win-back lapsed customers | **Both** | SMS for the strong nudge, email for the offer detail |
55| Post-purchase upsell | **SMS** | High open rate, ride the purchase momentum |
57**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.
59---

When SMS Beats Email

SMS is not "another email." Use it where the channel's properties win:

Use CaseSMS or Email?Why
Abandoned cart recoverySMS first98% open rate within 3 min vs 20% for email in 24h
Order/shipping updatesSMSCustomers want it now, on their phone
Flash sale / limited dropSMSUrgency channel; immediate read
Auth codes / 2FASMS (or app)Latency-sensitive, must arrive in seconds
Welcome seriesEmail primary, SMS layerEmail carries the long-form content
Educational nurtureEmailToo much text for SMS, costs add up
NewsletterEmailWrong channel for SMS
Win-back lapsed customersBothSMS for the strong nudge, email for the offer detail
Post-purchase upsellSMSHigh 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.


Raw lines 41 to 60
61## WhatsApp
63If most customers are outside the US (LATAM, Europe, Africa, Middle East, India, Southeast Asia), WhatsApp often beats SMS for the same flows. It runs on different rules:
65- **24-hour window**: free-form messages only within 24 hours of the customer's last message. Outside it, send a Meta-approved template.
66- **Template categories**: marketing, utility, authentication. Cart reminders and anything promotional are marketing.
67- **Per-message pricing** (since July 2025): every marketing template is charged. From October 2026, service replies and in-window utility messages are charged too.
68- **Quality rating and messaging limits**: blocks and reports lower your rating and can shrink how many people you can message per day.
69- **US caveat**: Meta currently doesn't deliver marketing templates to US numbers. Keep SMS for US marketing.
71**For the 24-hour window, templates, opt-in, quality and tiers, pricing, click-to-WhatsApp ads, and WhatsApp playbooks**: see [references/whatsapp.md](references/whatsapp.md).
73---

WhatsApp

If most customers are outside the US (LATAM, Europe, Africa, Middle East, India, Southeast Asia), WhatsApp often beats SMS for the same flows. It runs on different rules:

  • 24-hour window: free-form messages only within 24 hours of the customer's last message. Outside it, send a Meta-approved template.
  • Template categories: marketing, utility, authentication. Cart reminders and anything promotional are marketing.
  • Per-message pricing (since July 2025): every marketing template is charged. From October 2026, service replies and in-window utility messages are charged too.
  • Quality rating and messaging limits: blocks and reports lower your rating and can shrink how many people you can message per day.
  • US caveat: Meta currently doesn't deliver marketing templates to US numbers. Keep SMS for US marketing.

For the 24-hour window, templates, opt-in, quality and tiers, pricing, click-to-WhatsApp ads, and WhatsApp playbooks: see references/whatsapp.md.


Raw lines 61 to 74
Reads a file references/whatsapp.md :71
75## Compliance — Read First
77**Compliance is the foundation, not an afterthought.** A single TCPA class-action settlement runs $5M–$40M. The basics:

Compliance — Read First

Compliance is the foundation, not an afterthought. A single TCPA class-action settlement runs $5M–$40M. The basics:

Raw lines 75 to 78
79### US — TCPA (Telephone Consumer Protection Act)
811. **Express written consent** required for marketing SMS. Implied consent doesn't count.
822. **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.
833. **Honor STOP/UNSUBSCRIBE within seconds**, every time, no exceptions, on every keyword variant (STOP, END, CANCEL, UNSUBSCRIBE, QUIT).
844. **Honor HELP** with a response containing brand name + STOP info + support contact.
855. **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.
866. **Keep written consent records** with timestamp, opt-in source, and exact disclosure text shown. Auditable.

US — TCPA (Telephone Consumer Protection Act)

  1. Express written consent required for marketing SMS. Implied consent doesn't count.
  2. 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.
  3. Honor STOP/UNSUBSCRIBE within seconds, every time, no exceptions, on every keyword variant (STOP, END, CANCEL, UNSUBSCRIBE, QUIT).
  4. Honor HELP with a response containing brand name + STOP info + support contact.
  5. 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.
  6. Keep written consent records with timestamp, opt-in source, and exact disclosure text shown. Auditable.
Raw lines 79 to 87
88### US — A2P 10DLC Registration (required since 2022)
90Application-to-Person 10-digit long codes must be registered through The Campaign Registry (TCR) via your SMS platform. Without registration:
91- Throughput is throttled (or zero)
92- Carriers filter your messages
93- You'll see "delivered" status but recipients won't get them
95**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.

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.

Raw lines 88 to 96
97### EU/UK — GDPR-derived consent
99- Explicit opt-in required (no pre-checked boxes)
100- Right to withdraw consent must be as easy as giving it
101- Data subject access requests apply to SMS records
102- ePrivacy Directive layered on top of GDPR

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
Raw lines 97 to 103
104### Canada — CASL
106- Express consent + sender identification + unsubscribe in every message
107- Implied consent allowed for existing business relationships within 24 months
108- Penalties up to CAD $10M per violation
110**For full compliance details, edge cases, opt-in copy templates, and STOP/HELP response templates**: see [references/compliance.md](references/compliance.md).
112---

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.


Raw lines 104 to 113
Reads a file references/compliance.md :110
114## Phone Number Types (US)
116| Type | Throughput | Cost | Use Case | Trust |
117|------|-----------|------|----------|-------|
118| **Short code (5-6 digit)** | 100+ msg/sec | $500–$1,000/mo + setup | High-volume marketing | Highest (carrier-vetted) |
119| **Toll-free (1-8XX)** | ~3 msg/sec | $10–$30/mo | Mid-volume, B2C support | Medium-high (carrier-verified) |
120| **10DLC (regular long code)** | 1–250 msg/sec | $2–$10/mo | SMB, conversational, transactional | Medium (requires A2P 10DLC reg) |
122**Rule of thumb**: list <10K = 10DLC. List 10K–100K = toll-free. List 100K+ = short code.
124---

Phone Number Types (US)

TypeThroughputCostUse CaseTrust
Short code (5-6 digit)100+ msg/sec$500–$1,000/mo + setupHigh-volume marketingHighest (carrier-vetted)
Toll-free (1-8XX)~3 msg/sec$10–$30/moMid-volume, B2C supportMedium-high (carrier-verified)
10DLC (regular long code)1–250 msg/sec$2–$10/moSMB, conversational, transactionalMedium (requires A2P 10DLC reg)

Rule of thumb: list <10K = 10DLC. List 10K–100K = toll-free. List 100K+ = short code.


Raw lines 114 to 125
126## Core Principles

Core Principles

Raw lines 126 to 127
128### 1. Every send has a real cost
129SMS 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.

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.

Raw lines 128 to 130
131### 2. Opt-in is your most valuable asset
132Opt-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.

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.

Raw lines 131 to 133
134### 3. Each message must justify itself
135The recipient gave you their phone number. Every send should pass: "would I be glad I got this text?" If no, don't send.

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.

Raw lines 134 to 136
137### 4. Brevity + clarity
138160 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.

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.

Raw lines 137 to 139
140### 5. One CTA, one link
141Short links are mandatory (`klvy.co`, `txt.attn.tv`, branded short domain). Track UTM params on every link.

5. One CTA, one link

Short links are mandatory (klvy.co, txt.attn.tv, branded short domain). Track UTM params on every link.

Raw lines 140 to 142
143### 6. Sender identity, every send
144"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.
146---

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.


Raw lines 143 to 147
148## SMS Sequence Types

SMS Sequence Types

Raw lines 148 to 149
150### Welcome / Opt-In Confirmation (immediate)
152Send 1: Confirmation + reward (immediate)
153> From Acme: Thanks for joining! Here's 10% off: ACME10. Use at checkout: acme.co/sale. Reply STOP to opt out.
155Optional Send 2 (24h later): Reminder + best-seller showcase

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

Raw lines 150 to 156
157### Abandoned Cart (highest-ROI flow for ecom)
159- Send 1 (30 min after abandon): "Forget something? Your cart's still here: [short link]"
160- Send 2 (4 hours later): Soft urgency + social proof
161- Send 3 (24 hours later, optional): Discount offer (only if margin allows)
163**Note**: Discount on first message trains customers to abandon. Reserve discount for Send 2 or 3.

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.

Raw lines 157 to 164
165### Browse Abandonment
167- Send 1 (1 hour after browse): Product + "Thinking it over?" + link

Browse Abandonment

  • Send 1 (1 hour after browse): Product + "Thinking it over?" + link
Raw lines 165 to 168
169### Post-Purchase
171- Send 1 (immediate): Order confirmation + delivery ETA (transactional, separate consent OK)
172- Send 2 (after delivery + 2 days): "How are you liking [product]?" + review prompt + cross-sell

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
Raw lines 169 to 173
174### Win-Back (lapsed)
176- Send 1 (60–90 days after last purchase): "We miss you" + curated picks
177- Send 2 (14 days later): Discount offer
178- Send 3 (final, 14 days later): Opt-out warning + last chance

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
Raw lines 174 to 179
180### Promotional / Campaign Sends
182- Flash sales, drops, launches, BFCM
183- 1–2 sends max per campaign
184- Stack against email send schedule to avoid same-day double-tap

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
Raw lines 180 to 185
186### Transactional (separate compliance bucket)
188- Order updates, shipping, delivery, auth codes, account alerts
189- Generally OK without separate marketing consent if directly related to a transaction the user initiated
190- Still subject to A2P 10DLC registration in US
192**For full sequence templates with copy and timing**: see [references/sequence-templates.md](references/sequence-templates.md).
194---

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.


Raw lines 186 to 195
196## SMS Copy Guidelines

SMS Copy Guidelines

Raw lines 196 to 197
198### Structure
1991. **Sender ID** ("From Acme:" or brand short code) — required
2002. **Hook** — first 5 words decide if they read on
2013. **Value** — what's in it for them, specifically
2024. **CTA + short link** — single action, single URL
2035. **Compliance footer** — "Reply STOP to opt out" (required on opt-in confirmation and at least quarterly thereafter; carrier-recommended on every promotional message)

Structure

  1. Sender ID ("From Acme:" or brand short code) — required
  2. Hook — first 5 words decide if they read on
  3. Value — what's in it for them, specifically
  4. CTA + short link — single action, single URL
  5. Compliance footer — "Reply STOP to opt out" (required on opt-in confirmation and at least quarterly thereafter; carrier-recommended on every promotional message)
Raw lines 198 to 204
205### Length
207- **160 chars (GSM-7)** = 1 segment. Aim here.
208- **70 chars (UCS-2)** if you use emojis, accented characters, or curly quotes — you'll pay for more segments.
209- **161–306 chars** = 2 segments (concatenated SMS). Acceptable for richer messages, but you're paying double per send.
210- **MMS** (image + up to 1,600 chars) = 3–5× the SMS cost. Use sparingly for high-impact moments.

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.
Raw lines 205 to 211
212### Voice
214- Conversational, not corporate. SMS feels personal — write like you're texting a friend.
215- No subject line, no formatting, no marketing-speak.
216- Emojis are fine in moderation (one per message, situationally).
217- ALL CAPS reads as shouting. Avoid except for explicit codes (e.g., "Use ACME10").

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").
Raw lines 212 to 218
219### Personalization
221- First name token if available (boosts CTR ~20%)
222- Recent product/category browse-based
223- Location-based offers (where applicable)
224- Don't fake intimacy ("Hey friend!") — it backfires
226**For complete copy patterns by sequence type with character counts**: see [references/sequence-templates.md](references/sequence-templates.md).
228---

Personalization

  • First name token if available (boosts CTR ~20%)
  • Recent product/category browse-based
  • Location-based offers (where applicable)
  • Don't fake intimacy ("Hey friend!") — it backfires

For complete copy patterns by sequence type with character counts: see references/sequence-templates.md.


Raw lines 219 to 229
230## Platform Selection
232| Platform | Best For | Native MCP | Cost Tier |
233|----------|----------|:---:|-----------|
234| **Klaviyo SMS** | DTC ecom already on Klaviyo email | ✓ | $$ |
235| **Postscript** | DTC Shopify ecom, deep integration | - | $$ |
236| **Attentive** | Mid-market+ ecom, full-service | - | $$$ |
237| **Twilio** | Custom builds, transactional, devs | - | $ (raw API) |
238| **Brevo SMS** | EU-focused, email + SMS combo | ✓ | $ |
239| **SimpleTexting** | SMB, simple needs, ease of use | - | $ |
240| **Customer.io** | Behavior-based automation + SMS | - | $$ |
242**Quick picks**:
243- Already on Klaviyo for email + DTC/ecom → **Klaviyo SMS** (no second platform to learn)
244- Shopify ecom, want deeper SMS-specific features → **Postscript**
245- Building custom SMS into a product → **Twilio**
246- B2B SaaS doing transactional/auth → **Twilio** or **Customer.io**
248**For platform deep-dives (features, pricing, integration paths, A2P registration)**: see [references/platforms.md](references/platforms.md).
250---

Platform Selection

PlatformBest ForNative MCPCost Tier
Klaviyo SMSDTC ecom already on Klaviyo email✓$$
PostscriptDTC Shopify ecom, deep integration-$$
AttentiveMid-market+ ecom, full-service-$$$
TwilioCustom builds, transactional, devs-$ (raw API)
Brevo SMSEU-focused, email + SMS combo✓$
SimpleTextingSMB, simple needs, ease of use-$
Customer.ioBehavior-based automation + SMS-$$

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.


Raw lines 230 to 251
Uses an outside tool MCP :232
Reads a file references/platforms.md :248
252## Measurement
254### Key Metrics
256| Metric | What it tells you | Healthy range (ecom DTC) |
257|--------|-------------------|--------------------------|
258| **Opt-in rate** | Top of funnel health | 5–25% of email subscribers |
259| **CTR** | Message relevance | 8–15% (vs ~3% email) |
260| **Conversion rate (per send)** | Revenue impact | 1–5% per promotional send |
261| **Revenue per send (RPS)** | Channel economics | $0.20–$2.00 |
262| **Opt-out rate per send** | Audience fatigue | <2% per send, <0.5% for promotional |
263| **Cost per send** | Channel cost discipline | $0.0075–$0.04 |
264| **List growth rate** | Audience momentum | 5–15%/month early, 1–3% steady-state |

Key Metrics

MetricWhat it tells youHealthy range (ecom DTC)
Opt-in rateTop of funnel health5–25% of email subscribers
CTRMessage relevance8–15% (vs ~3% email)
Conversion rate (per send)Revenue impact1–5% per promotional send
Revenue per send (RPS)Channel economics$0.20–$2.00
Opt-out rate per sendAudience fatigue<2% per send, <0.5% for promotional
Cost per sendChannel cost discipline$0.0075–$0.04
List growth rateAudience momentum5–15%/month early, 1–3% steady-state
Raw lines 254 to 265
266### What to track in analytics
268- UTM tag every link: `utm_source=sms&utm_medium=sms&utm_campaign=[campaign-name]`
269- Conversion attribution: SMS-driven sessions, last-click revenue, assisted conversions
270- LTV impact: SMS subscribers vs email-only subscribers (typically 1.5–3× LTV for SMS opt-ins)

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)
Raw lines 266 to 271
272### What to A/B test
274- Send time (afternoon vs evening, local time)
275- Copy length (short SMS vs MMS with image)
276- Discount amount and trigger (immediate vs delayed)
277- Personalization tokens (with first name vs without)
278- CTA copy ("Shop now" vs "See it" vs "Last chance")
280Cross-reference **ab-testing** skill for proper test design and **analytics** for attribution setup.
282---

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")

Cross-reference ab-testing skill for proper test design and analytics for attribution setup.


Raw lines 272 to 283
284## Output Format
286When the user asks for an SMS plan, return:
2881. **Compliance check**: Are they registered for A2P 10DLC (if US)? Is the opt-in mechanism compliant? Flag blockers first.
2892. **Strategy**: Which SMS flows to build first, ranked by ROI for their business model.
2903. **Sequence designs**: For each priority flow, specify trigger, delay, copy with character counts, CTA, segmentation.
2914. **Platform recommendation**: Based on stack, list size, and complexity.
2925. **Measurement plan**: KPIs, benchmarks, A/B test queue.
2936. **Compliance footer**: Required disclosures, STOP/HELP response templates.
295Keep 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."
297---

Output Format

When the user asks for an SMS plan, return:

  1. Compliance check: Are they registered for A2P 10DLC (if US)? Is the opt-in mechanism compliant? Flag blockers first.
  2. Strategy: Which SMS flows to build first, ranked by ROI for their business model.
  3. Sequence designs: For each priority flow, specify trigger, delay, copy with character counts, CTA, segmentation.
  4. Platform recommendation: Based on stack, list size, and complexity.
  5. Measurement plan: KPIs, benchmarks, A/B test queue.
  6. 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."


Raw lines 284 to 298
299## Task-Specific Questions
3011. Are you US, EU, or both? (Changes compliance approach entirely.)
3022. Is A2P 10DLC registration complete (US)?
3033. What platform are you on or considering?
3044. Email list size and SMS opt-in rate (if any)?
3055. What sequences do you already have running?
3066. Are you DTC ecom, mobile app, B2B SaaS, services?
3077. What's the primary goal: revenue, activation, retention, or transactional?
309---

Task-Specific Questions

  1. Are you US, EU, or both? (Changes compliance approach entirely.)
  2. Is A2P 10DLC registration complete (US)?
  3. What platform are you on or considering?
  4. Email list size and SMS opt-in rate (if any)?
  5. What sequences do you already have running?
  6. Are you DTC ecom, mobile app, B2B SaaS, services?
  7. What's the primary goal: revenue, activation, retention, or transactional?

Raw lines 299 to 310
311## Common Mistakes
3131. **Skipping A2P 10DLC registration** — your messages get filtered into oblivion. Register first, send second.
3142. **Treating SMS like email** — sending daily promotional blasts. Opt-out rates spike, list dies.
3153. **Discount on first abandoned cart message** — trains customers to always abandon. Reserve for second or third send.
3164. **Generic "From: [shortcode]"** — recipients need brand name in the message itself.
3175. **Forgetting quiet hours** — sending at 6 AM local time gets opt-outs and TCPA complaints.
3186. **No STOP/HELP handling** — non-negotiable. Every platform handles this; verify yours does.
3197. **Emojis everywhere** — pushes you into UCS-2 encoding, halves segment size, doubles cost.
3208. **Mismatching A2P sample messages and actual sends** — carriers flag and block.
3219. **Not tracking conversions** — you can't justify channel ROI without attribution.
32210. **No throttling on bulk sends** — burst sends trigger carrier filtering. Use platform throttling.
324---

Common Mistakes

  1. Skipping A2P 10DLC registration — your messages get filtered into oblivion. Register first, send second.
  2. Treating SMS like email — sending daily promotional blasts. Opt-out rates spike, list dies.
  3. Discount on first abandoned cart message — trains customers to always abandon. Reserve for second or third send.
  4. Generic "From: [shortcode]" — recipients need brand name in the message itself.
  5. Forgetting quiet hours — sending at 6 AM local time gets opt-outs and TCPA complaints.
  6. No STOP/HELP handling — non-negotiable. Every platform handles this; verify yours does.
  7. Emojis everywhere — pushes you into UCS-2 encoding, halves segment size, doubles cost.
  8. Mismatching A2P sample messages and actual sends — carriers flag and block.
  9. Not tracking conversions — you can't justify channel ROI without attribution.
  10. No throttling on bulk sends — burst sends trigger carrier filtering. Use platform throttling.

Raw lines 311 to 325
326## Tool Integrations
328For implementation, see the [tools registry](https://github.com/coreyhaines31/marketingskills/blob/main/tools/REGISTRY.md). Key SMS tools:
330| Tool | Best For | MCP | Guide |
331|------|----------|:---:|-------|
332| **Klaviyo** | E-commerce email + SMS combined | ✓ | [klaviyo.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/klaviyo.md) |
333| **Postscript** | Shopify DTC SMS, deepest Shopify integration | - | [postscript.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/postscript.md) |
334| **Attentive** | Mid-market+ DTC SMS, full-service | - | [attentive.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/attentive.md) |
335| **Twilio** | Raw API for custom builds, transactional, dev-first | - | [twilio.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/twilio.md) |
336| **Plivo** | Twilio alternative, lower per-send cost | - | [plivo.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/plivo.md) |
337| **AudienceTap** | AI-forward DTC, on-pack QR opt-in | - | [audiencetap.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/audiencetap.md) |
338| **Brevo** | EU email + SMS, SMB-friendly | ✓ | [brevo.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/brevo.md) |
339| **Customer.io** | Behavior-based SMS automation | - | [customer-io.md](https://github.com/coreyhaines31/marketingskills/blob/main/tools/integrations/customer-io.md) |
341---

Tool Integrations

For implementation, see the tools registry. Key SMS tools:

ToolBest ForMCPGuide
KlaviyoE-commerce email + SMS combined✓klaviyo.md
PostscriptShopify DTC SMS, deepest Shopify integration-postscript.md
AttentiveMid-market+ DTC SMS, full-service-attentive.md
TwilioRaw API for custom builds, transactional, dev-first-twilio.md
PlivoTwilio alternative, lower per-send cost-plivo.md
AudienceTapAI-forward DTC, on-pack QR opt-in-audiencetap.md
BrevoEU email + SMS, SMB-friendly✓brevo.md
Customer.ioBehavior-based SMS automation-customer-io.md

Raw lines 326 to 342
Uses an outside tool MCP :330
343## Related Skills
345- **emails**: Sister channel — almost always run together. Email carries the long-form content; SMS carries the urgent nudges.
346- **copywriting**: For SMS copy at scale and the longer-form pages/emails that SMS links to.
347- **popups**: For phone number capture popups on-site.
348- **churn-prevention**: For win-back flows that combine SMS + email.
349- **onboarding**: For post-signup SMS milestone nudges.
350- **analytics**: For attribution and RPS measurement.
351- **ab-testing**: For SMS-specific test design.
352- **lead-magnets**: For incentivizing opt-in (the "10% off for joining" offer).

Related Skills

  • emails: Sister channel — almost always run together. Email carries the long-form content; SMS carries the urgent nudges.
  • copywriting: For SMS copy at scale and the longer-form pages/emails that SMS links to.
  • popups: For phone number capture popups on-site.
  • churn-prevention: For win-back flows that combine SMS + email.
  • onboarding: For post-signup SMS milestone nudges.
  • analytics: For attribution and RPS measurement.
  • ab-testing: For SMS-specific test design.
  • lead-magnets: For incentivizing opt-in (the "10% off for joining" offer).
Raw lines 343 to 352
Names a skill emails :345
Names a skill copywriting :346
Names a skill popups :347
Names a skill churn-prevention :348
Names a skill onboarding :349
Names a skill analytics :350
Names a skill ab-testing :351
Names a skill lead-magnets :352

From coreyhaines31/marketingskills at 88c79f6, 2026-10-30. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.