Generated banner for Sms
Generated logo for Sms

Sms

Corey HainesCommunityCreated by Corey Haines

  • Skill
  • Tool integration
  • Automation and integrations
  • MIT
  • No issues found

From the author

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 by Corey Haines

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

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/coreyhaines31/sms/download
  2. Unzip 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 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.


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.


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

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.

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

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.


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.

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

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

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.


Measurement

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
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:

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


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?


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.


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

  • 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

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.

SituationBetter fitWhy
Customers mostly in LATAM, EMEA, India, SEAWhatsAppIt's where conversations already happen
Customers mostly in the USSMSMeta does not currently deliver marketing templates to US (+1) numbers
Rich product messages (images, buttons, lists)WhatsAppNative interactive formats, no MMS surcharge
Two-way sales or support conversationsWhatsAppThreaded chat, reply buttons, human handoff
Paid social is a major acquisition channelWhatsAppClick-to-WhatsApp ads open a free window
Simple one-way alerts, auth codes, US-heavy listSMSSimpler setup, universal reach
Multi-country programBothWhatsApp 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.

CategoryWhat qualifiesExamples
MarketingAnything promotional, awareness, or retargetingOffers, launches, back-in-stock, abandoned cart reminders, re-engagement
UtilityNon-promotional AND specific to the user's request or account (or critical to them)Order confirmation, shipping update, appointment reminder, billing notice
AuthenticationOne-time passcodes only, using Meta's pre-built formatsLogin 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 promotions to 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").

RatingMeaning
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.

TierUnique users per 24h
Starting default250
After verification or scaling2,000
Next levels10,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
  1. 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

  2. Send your first templates to recent, high-intent opt-ins (buyers from the last 30 days, people who messaged you)

  3. Scale volume over 1-2 weeks as the number stays green

  4. Spread big sends over hours instead of firing everything at once

  5. Watch block reasons in WhatsApp Manager after every campaign


Message Formats

FormatLimitsBest for
Reply buttonsUp to 3 buttons, 20 chars eachYes/no, pick a path, opt-out
List messageUp to 10 rows across up to 10 sections, row titles 24 charsProduct categories, booking slots, qualification
URL / call buttons (templates)Opens a link or starts a callCheckout, tracking, support line
Media headerImage, video, or documentProduct shots, drops, receipts
Catalog / product messagesPulls from a Meta commerce catalogBrowsing 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 breaks

  • One 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 typeHow it's charged
Marketing templateCharged on every delivery, inside or outside a service window
Utility templateCharged 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 templateCharged 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 windowFree (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:

  1. Hook the ad on a reason to chat: a quiz, sizing help, a quote, a code to claim

  2. Pre-fill the user's first message: "Hi! I'd like my 15% welcome code."

  3. Reply fast with buttons: 2-3 qualifying questions as reply buttons

  4. Convert or hand off while the free window is open: checkout link, booking link, or a live rep

  5. 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.

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 or Corey Haines.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download sms.zip