Sms
Corey HainesCommunityCreated by Corey Haines
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a comprehensive framework for managing SMS and WhatsApp marketing programs. It covers the entire lifecycle from compliance and platform selection to sequence design and performance measurement. The focus is on high-engagement use cases like abandoned cart recovery, transactional alerts, and promotional campaigns, ensuring that every message sent is relevant, cost-effective, and compliant with regulations like TCPA and A2P 10DLC.
What it does
- Guides the setup of compliant SMS and WhatsApp marketing flows.
- Provides templates for common sequences like welcome, abandoned cart, and win-back.
- Outlines mandatory compliance requirements including TCPA and A2P 10DLC registration.
- Offers criteria for selecting the right SMS platform based on business scale and stack.
- Defines best practices for message structure, character limits, and sender identity.
- Establishes key performance metrics to track ROI and channel health.
When to use it
- When planning a new SMS or WhatsApp marketing program.
- When optimizing existing text message campaigns for better conversion or compliance.
- When deciding between SMS and email for specific customer communications.
- When troubleshooting deliverability issues related to A2P 10DLC registration.
- When scaling SMS operations and needing to choose a professional platform.
Advantages
- Reduces legal risk by prioritizing strict TCPA and carrier compliance.
- Improves ROI by focusing on high-impact, behavior-based messaging.
- Prevents common pitfalls like excessive costs and carrier filtering.
- Provides clear, actionable templates for immediate implementation.
- Ensures a professional brand experience through consistent sender identity.
Usage examples
- “Help me design an abandoned cart SMS sequence for my Shopify store.”
- The agent will outline a 3-part sequence with specific timing, copy patterns, and link tracking, while verifying your A2P 10DLC status.
- “Should I use SMS or email for my upcoming flash sale?”
- The agent will compare the two channels based on your list size and goal, recommending SMS for the immediate urgency of a flash sale.
- “What do I need to do to be compliant with US SMS laws?”
- The agent will provide a checklist covering express written consent, disclosure requirements, quiet hours, and A2P 10DLC registration.
- “Which SMS platform should I choose for my B2B SaaS product?”
- The agent will evaluate options like Twilio or Customer.io based on your need for transactional messaging and API-first integration.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/coreyhaines31/sms/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip sms.zip -d .agents/skills
Documentation by Corey Haines
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.
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)
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 | Too much text for SMS, costs add up | |
| Newsletter | 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.
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.
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").
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.
Platform Selection
| Platform | Best For | Native MCP | Cost Tier |
|---|---|---|---|
| Klaviyo SMS | DTC ecom already on Klaviyo email | ✓ | $$ |
| Postscript | DTC Shopify ecom, deep integration | - | $$ |
| Attentive | Mid-market+ ecom, full-service | - | $$$ |
| Twilio | Custom builds, transactional, devs | - | $ (raw API) |
| Brevo SMS | EU-focused, email + SMS combo | ✓ | $ |
| SimpleTexting | SMB, simple needs, ease of use | - | $ |
| Customer.io | Behavior-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.
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")
Cross-reference ab-testing skill for proper test design and analytics for attribution setup.
Output Format
When the user asks for an SMS plan, return:
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, specify trigger, delay, copy with character counts, CTA, segmentation.
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."
Task-Specific Questions
Are you US, EU, or both? (Changes compliance approach entirely.)
Is A2P 10DLC registration complete (US)?
What platform are you on or considering?
Email list size and SMS opt-in rate (if any)?
What sequences do you already have running?
Are you DTC ecom, mobile app, B2B SaaS, services?
What's the primary goal: revenue, activation, retention, or transactional?
Common Mistakes
Skipping A2P 10DLC registration — your messages get filtered into oblivion. Register first, send second.
Treating SMS like email — sending daily promotional blasts. Opt-out rates spike, list dies.
Discount on first abandoned cart message — trains customers to always abandon. Reserve for second or third send.
Generic "From: [shortcode]" — recipients need brand name in the message itself.
Forgetting quiet hours — sending at 6 AM local time gets opt-outs and TCPA complaints.
No STOP/HELP handling — non-negotiable. Every platform handles this; verify yours does.
Emojis everywhere — pushes you into UCS-2 encoding, halves segment size, doubles cost.
Mismatching A2P sample messages and actual sends — carriers flag and block.
Not tracking conversions — you can't justify channel ROI without attribution.
No throttling on bulk sends — burst sends trigger carrier filtering. Use platform throttling.
Tool Integrations
For implementation, see the tools registry. Key SMS tools:
| Tool | Best For | MCP | Guide |
|---|---|---|---|
| Klaviyo | E-commerce email + SMS combined | ✓ | klaviyo.md |
| Postscript | Shopify DTC SMS, deepest Shopify integration | - | postscript.md |
| Attentive | Mid-market+ DTC SMS, full-service | - | attentive.md |
| Twilio | Raw API for custom builds, transactional, dev-first | - | twilio.md |
| Plivo | Twilio alternative, lower per-send cost | - | plivo.md |
| AudienceTap | AI-forward DTC, on-pack QR opt-in | - | audiencetap.md |
| Brevo | EU email + SMS, SMB-friendly | ✓ | brevo.md |
| Customer.io | Behavior-based SMS automation | - | customer-io.md |
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).
Files
- ATTRIBUTION.mdAdded by AutoGineer867 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md18.0 KiB
- evals/evals.json11.0 KiB
- references/compliance.md7.6 KiB
- references/platforms.md9.6 KiB
- references/sequence-templates.md6.9 KiB
- references/whatsapp.md15.8 KiB
references/whatsapp.md
WhatsApp Business Platform Reference
Adapted from a contribution by @Inflimity (PR #516).
Platform facts below are as of 2026-10 and sourced from Meta's developer docs (links in Sources). Meta changes pricing and limits often. Check the pricing page before quoting costs to a client.
When WhatsApp Fits vs SMS
WhatsApp is the default messaging app in most of Latin America, Europe, Africa, the Middle East, and South and Southeast Asia. In the US and Canada, SMS still reaches more people.
| Situation | Better fit | Why |
|---|---|---|
| Customers mostly in LATAM, EMEA, India, SEA | It's where conversations already happen | |
| Customers mostly in the US | SMS | Meta does not currently deliver marketing templates to US (+1) numbers |
| Rich product messages (images, buttons, lists) | Native interactive formats, no MMS surcharge | |
| Two-way sales or support conversations | Threaded chat, reply buttons, human handoff | |
| Paid social is a major acquisition channel | Click-to-WhatsApp ads open a free window | |
| Simple one-way alerts, auth codes, US-heavy list | SMS | Simpler setup, universal reach |
| Multi-country program | Both | WhatsApp where adoption is high, SMS as fallback |
Ask first: where are the customers? If more than half are in the US, WhatsApp marketing is a support or transactional layer at best until Meta lifts the US marketing restriction.
App vs Platform
WhatsApp Business app: free, manual, one phone or a few linked devices. Fine for a solo operator answering chats. Not built for automation or large broadcasts.
WhatsApp Business Platform (Cloud API): programmatic sending, templates, webhooks, automation. You access it directly through Meta or through a Business Solution Provider (BSP).
BSPs include messaging APIs (Twilio, Infobip, Sinch, MessageBird/Bird), WhatsApp-focused tools (Wati, Interakt, AiSensy), chat automation tools (ManyChat, respond.io), and lifecycle platforms that added WhatsApp (Klaviyo, Brevo, Customer.io). Pick based on your existing stack, the markets you send to, and whether you need a no-code flow builder. All of them pass through Meta's per-message fees; most add a markup or platform fee on top.
The 24-Hour Customer Service Window
Window opens when the customer messages you. It lasts 24 hours from their latest message. Each new customer message resets it.
Inside the window: you can send free-form messages (text, media, interactive buttons and lists) without pre-approval.
Outside the window: you can only send a pre-approved template. Free-form sends fail (error 131047, "Re-engagement message").
Design flows around this. A cart recovery message 1 hour after abandonment is almost always outside a window, so it must be an approved template.
Template Categories
Every template is one of three categories. Meta checks the category you pick.
| Category | What qualifies | Examples |
|---|---|---|
| Marketing | Anything promotional, awareness, or retargeting | Offers, launches, back-in-stock, abandoned cart reminders, re-engagement |
| Utility | Non-promotional AND specific to the user's request or account (or critical to them) | Order confirmation, shipping update, appointment reminder, billing notice |
| Authentication | One-time passcodes only, using Meta's pre-built formats | Login codes, verification codes |
Rules that trip people up:
Cart reminders are marketing, even when the user asked to be reminded. Meta's guidelines list "You left {{items}} in your cart" as a retargeting example.
Mixed content becomes marketing. An order update with a promo code, or a feedback survey with a discount, is a marketing template.
Auto-recategorization. Since April 9, 2025, a template submitted as utility that Meta judges to be marketing is approved as marketing. Meta also re-reviews approved templates and recategorizes them (usually with 1 day's notice, none for repeat misuse).
Appeals: you have 60 days from creation or a category change to request review.
Authentication templates can't contain URLs, media, or emojis.
Template anatomy: optional header (text, image, video, document), body with variables like {{1}}, optional footer (often the opt-out line), and optional buttons (quick reply, URL, phone, copy-code). Submit realistic sample values for every variable. Vague samples are a common rejection cause.
Opt-In and Opt-Out
Meta requires opt-in before you message someone. The opt-in should clearly tell the person they'll get messages from your business, and it must comply with local law (GDPR, LGPD, India's DPDP Act, TCPA, and so on). Meta allows a general business opt-in, but naming WhatsApp explicitly is the safer practice and what many laws effectively expect, so do it unless you have a reason not to.
You can collect it through a website form, checkout checkbox, SMS, IVR, in person, or inside a WhatsApp chat. Meta recommends separate opt-ins (or one opt-in that names the categories) for order updates vs offers.
Sample checkout opt-in (unchecked by default):
[ ] Send me order updates and offers from Acme on WhatsApp. You can opt out anytime.
Opt-out handling:
Add a quick reply button like
Stop promotionsto every marketing template, or a footer like "Reply STOP to opt out"When someone opts out, flag them in your CRM immediately and stop all marketing templates
Send one confirmation: "You're unsubscribed from Acme offers. Reply START to rejoin."
Keep sending utility messages they still need (order updates) if they opted in to those separately
An easy opt-out protects you. If the only way to stop your messages is the Block button, people will block, and blocks drive your quality rating down.
Quality Rating and Messaging Limits
Quality rating
Each phone number has a quality rating based on how recipients responded to your messages over the past 7 days: blocks, reports, and the reasons given ("Didn't sign up," "Spam," "No longer needed").
| Rating | Meaning |
|---|---|
| Green (High) | Healthy, eligible to scale |
| Yellow (Medium) | Warning, negative feedback rising |
| Red (Low) | Number goes to Flagged status |
If a Flagged number recovers to medium or high within 7 days, nothing changes. If it doesn't, your messaging limit drops one level.
Templates have their own quality ratings too. New or low-quality marketing and utility templates get paced (Meta holds part of a send to collect feedback first). Bad feedback pauses the template, and held messages fail.
Messaging limits
The messaging limit is how many unique users you can reach with template messages outside a service window in a rolling 24 hours. The limit is now shared across your whole business portfolio, not set per phone number, so one busy number can use up the allowance for all of them.
| Tier | Unique users per 24h |
|---|---|
| Starting default | 250 |
| After verification or scaling | 2,000 |
| Next levels | 10,000 → 100,000 → Unlimited |
250 to 2,000: complete business verification, or deliver 2,000 high-quality template messages to unique users within 30 days
Above 2,000: automatic when you've used at least half your current limit in the last 7 days with high-quality messages across all numbers and templates. Upgrades land within about 6 hours.
Replies inside a service window don't count toward the limit
Per-user marketing limits
Meta also caps how many marketing templates one person receives from all businesses, based on their recent read rate. Blocked sends return error 131049. Wait at least 24 hours before retrying. A marketing message sent inside an open service window doesn't count toward this cap.
Warming up a new number
Get business verification done first. It makes the account eligible to scale toward 2,000, but Meta still approves or denies the increase after a quality review, so check the actual limit before scheduling sends
Send your first templates to recent, high-intent opt-ins (buyers from the last 30 days, people who messaged you)
Scale volume over 1-2 weeks as the number stays green
Spread big sends over hours instead of firing everything at once
Watch block reasons in WhatsApp Manager after every campaign
Message Formats
| Format | Limits | Best for |
|---|---|---|
| Reply buttons | Up to 3 buttons, 20 chars each | Yes/no, pick a path, opt-out |
| List message | Up to 10 rows across up to 10 sections, row titles 24 chars | Product categories, booking slots, qualification |
| URL / call buttons (templates) | Opens a link or starts a call | Checkout, tracking, support line |
| Media header | Image, video, or document | Product shots, drops, receipts |
| Catalog / product messages | Pulls from a Meta commerce catalog | Browsing and buying in chat |
Copy guidelines:
Keep each bubble to 1-3 short sentences (roughly under 60 words)
Use buttons instead of pasting raw URLs
WhatsApp formatting works:
*bold*,_italic_, line breaksOne or two emojis are fine. Unlike SMS, they don't change cost
Name your brand in the first line of templates, since many users won't have your number saved
Pricing (as of 2026-10)
Meta moved from conversation-based pricing to per-message pricing on July 1, 2025. You pay per delivered message, at a rate set by message category and the recipient's country code.
| Message type | How it's charged |
|---|---|
| Marketing template | Charged on every delivery, inside or outside a service window |
| Utility template | Charged outside a window. Inside an open window it was free from July 1, 2025 until October 1, 2026, when Meta began charging for it |
| Authentication template | Charged per delivery; check the current rate card for in-window treatment in your market |
| Service message (free-form reply) | Free from November 1, 2024. From October 1, 2026, each business phone number gets 1,000 free service messages a month (no rollover); after that, they're charged per message at the same rate as utility/authentication in that market, with no volume tiers |
| Meta Business Agent (Meta's AI agent) | Charged per token from August 1, 2026, about $2 per 1M tokens. Never free |
| Anything in a free entry point window | Free (see below) |
Volume tiers: utility and authentication rates drop as monthly volume grows, measured across your whole portfolio per market. Tiers reset each calendar month. Marketing has no volume tiers, but the Marketing Messages API lets you set a max price per delivery.
Practical math: rates differ a lot by country. Marketing is the most expensive category in every market, often several times the utility rate. Pull current rates from Meta's rate cards (or your BSP's, which include their markup) and model cost per recovered order before launching a flow.
The October 2026 changes mean support conversations beyond the first 1,000 a month per number, and in-window order updates, now cost money. If your old business case assumed "replies are free," redo it.
Click-to-WhatsApp Ads
Click-to-WhatsApp (CTWA) ads run on Facebook and Instagram and open a WhatsApp chat with your business when tapped.
Free entry point window: when someone messages you from a CTWA ad or a Facebook Page call-to-action button and you reply within 24 hours, a free entry point window opens from the time you respond. Meta says it may stay open for up to 7 days (as of 2026-10). While it's open, Meta doesn't charge for marketing, utility, authentication, or service messages; Meta Business Agent messages are still charged. Check the window's actual expiry in your delivery data rather than assuming the maximum.
How to use it:
Hook the ad on a reason to chat: a quiz, sizing help, a quote, a code to claim
Pre-fill the user's first message: "Hi! I'd like my 15% welcome code."
Reply fast with buttons: 2-3 qualifying questions as reply buttons
Convert or hand off while the free window is open: checkout link, booking link, or a live rep
Ask for marketing opt-in in the chat so you can follow up with templates later
Playbooks
1. Abandoned cart recovery
Trigger: 45-60 minutes after abandonment, only for contacts with WhatsApp marketing opt-in
Type: marketing template (outside the window, and cart reminders are marketing by definition)
Exit: stop on purchase, opt-out, or 48 hours
Second touch (optional, 24 hours): only if the first wasn't read or clicked, and hold any discount until here
Header: [product image]
Body: Hi {{1}}, it's Acme. You left {{2}} in your cart. We're holding it for you, but stock is limited.
Footer: Reply STOP to opt out
Buttons: [URL: Finish checkout] [Quick reply: I have a question]"I have a question" opens a service window. Route it to the support handoff below.
2. Welcome (after opt-in or CTWA)
Trigger: immediately after opt-in, or the first inbound message from an ad
Type: free-form if they just messaged you (window open), otherwise a marketing template
Hi {{1}}, welcome to Acme! Here's your code: WELCOME15. What are you shopping for today?
Buttons: [Skincare] [Haircare] [Just browsing]Each button routes to 2-3 product picks with a checkout link. Ask for marketing opt-in here if they came from an ad.
3. Re-engagement / win-back
Audience: opted-in customers with no purchase in 60-90 days
Type: marketing template
Frequency: 1-2 marketing sends per month to this segment. More gets you blocks and per-user limit errors
Hi {{1}}, it's Acme. Your {{2}} usually runs out around now. Want us to set aside a refill?
Buttons: [Yes, reorder] [Not now] [Stop promotions]"Not now" suppresses them for 30 days. "Stop promotions" opts them out.
4. Support handoff
Trigger: a help button, a keyword like "agent," or the bot failing to match twice
Type: service messages (window open). These are charged from October 1, 2026, so resolve in as few messages as you can
Got it. Connecting you with someone from our team. Typical reply time is under 10 minutes between 9am and 6pm.Pass the cart or order context to the agent so the customer doesn't repeat themselves. Outside staffed hours, say when a person will reply and offer an FAQ list. If the reply goes past 24 hours, you'll need a utility template to answer.
Sources
All accessed 2026-10.
Pricing: https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing
Pricing updates for service and utility messages (Oct 2026): https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing/non-template-messages
Messaging limits: https://developers.facebook.com/documentation/business-messaging/whatsapp/messaging-limits
Phone number quality rating: https://www.facebook.com/business/help/896873687365001
Template categorization: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-categorization
Template pacing: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-pacing
Per-user marketing limits (incl. US restriction): https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/marketing-templates/per-user-limits/
Opt-in: https://developers.facebook.com/documentation/business-messaging/whatsapp/getting-opt-in
Reply buttons: https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-reply-buttons-messages
List messages: https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-list-messages
Click-to-WhatsApp ads: https://developers.facebook.com/documentation/ads-commerce/marketing-api/ad-creative/messaging-ads/click-to-whatsapp
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Corey Haines
- Publisher
- Corey Haines (Community)
- Source
- coreyhaines31/marketingskills · skills/sms · commit 96798cf
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Corey Haines.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download sms.zip