avatar

Elena Rodriguez

Updated: 2026-09-01

12 min read

You write a clean 158-character promo. It reads well, the offer is clear, the link is short. Then you drop in a 🎉 and let autocorrect swap a straight apostrophe for a curly one. Without any warning, your message stops being one text. It splits into three, costs three times as much to send, and lands in broken pieces on some phones. The copy was fine. The choices around it were not.

Learning how to write SMS for marketing is really two skills at once: writing words people act on, and writing inside the character, encoding, and consent limits that decide whether those words ever arrive whole. This guide covers both. You get a reusable message formula, the encoding math that quietly triples a bill, the compliance rules you cannot skip, and 20 copy-paste templates you can adapt today. It will not rank ten platforms for you, and it is not legal advice.

Part 1: What SMS Marketing Is, and the Three Message Types You'll Write

SMS marketing is the practice of sending promotional or informational text messages to people who have opted in to hear from you. That opt-in is the whole game: a text lands in the same inbox someone uses for family and their bank, so the bar for being welcome is high, and the cost of being annoying is a fast unsubscribe.

The most useful way to picture an SMS is not as a short email. It's an envelope with three walls. A character budget decides how much fits before the cost jumps. Explicit consent decides whether you're allowed to send at all. Carrier filtering decides whether the message is delivered or quietly dropped. What you can write is whatever survives inside all three walls at once.

Before you write a word, know which of the three message types you're sending, because each one changes the rules:

  • Promotional: offers, launches, and re-engagement. Needs prior marketing consent and a visible opt-out on every send. For example, a 25%-off code with a shop link.
  • Transactional: event-triggered and time-sensitive, like an order confirmation, shipping update, or one-time passcode. Consent is lighter because the person triggered it, and an opt-out usually isn't expected. For example, "Order #1234 confirmed, ships tomorrow."
  • Conversational: a message that invites a reply and expects a back-and-forth. Standard marketing SMS is a one-way channel, so if you need real two-way threads, run them on a conversational channel such as WhatsApp rather than expecting inbound SMS replies to route anywhere.

Part 2: The Anatomy of a Marketing SMS That Converts

A marketing text that works almost always has the same four parts, in the same order. Treat them as a character budget, not just a checklist, because every part competes for the same 160 characters.

sms message formula breakdown
Part What it does ~Chars Example fragment
Brand / sender Instant recognition and trust; also a compliance signal 8-15 Bloom Co:
Front-loaded value The reason to care, visible in the preview before anyone taps 40-70 24h only, 25% off your favorite denim
One CTA + short link A single action and a short, trackable URL 25-40 Shop: blm.co/denim
Opt-out Required on promotional sends 18-22 Reply STOP to opt out

Put together, those parts become one clean, single-segment message of 91 characters, well inside one GSM-7 segment. Here's the worked example:

Bloom Co: 24h only, 25% off your favorite denim. Shop: blm.co/denim. Reply STOP to opt out.

91 characters · 1 segment · GSM-7

Front-load the value, because most phones preview only the first 40 or so characters on the lock screen, and a greeting like "Hi there, hope you're well" wastes every one of them. Then commit to a single call to action, because a text is a one-tap moment; give someone two links and most will tap neither. The short link earns its place twice over: it saves characters and it lets you measure the click.

Part 3: Character Limits and Encoding, or What Silently Doubles Your Cost

This is the part most SMS copywriting advice skips, and it's the one that costs real money. A text isn't billed by the message; it's billed by the segment , and how many segments you use depends on which character encoding your message triggers.

Encoding When it kicks in Single message Per segment when concatenated
GSM-7 Plain Latin letters, digits, and basic punctuation 160 characters 153 characters
Unicode (UCS-2) Any emoji, curly quote, accented or special character 70 characters 67 characters
MMS Images, or long text beyond SMS limits ~1,600 characters + media Billed as MMS, not per segment

According to the GSM-7 and UCS-2 encoding standards (Twilio SMS character-limit documentation, 2026), a single stray Unicode character re-encodes the entire message, not just that one character. That is the trap. Add one 🔥 to a tidy 155-character promo and you don't lose a few characters; you drop from a 160-character budget to a 70-character budget, so the same text now needs three segments and bills at roughly three times the cost. On older handsets it can also arrive as separate broken messages.

sms encoding good vs bad

A few habits keep you on the cheap side of that line. Write and check the encoding before you fall in love with the copy. Count the link against your budget and keep it short. Watch for curly quotes and em dashes that sneak in when you paste from a document, since both force Unicode. Remember that your sender ID and any personalization token spend characters too.

Catch it before you send: EngageLab's console shows real-time character statistics and an estimated price as you compose, so you can see a message flip from one segment to three before it ever reaches a carrier. If your delivery rate is the deeper problem, the mechanics of routing and carrier filtering are covered in SaaS SMS delivery rate optimization .

Part 4: 10 Rules for Writing SMS That Convert

The formula tells you what to include. These rules tell you how to make the words earn their place. None of them are long, because a text isn't the medium for nuance.

  • One message, one goal. If a sentence doesn't push toward the single action, cut it. Two asks in one text usually means zero taps.
  • Front-load the value. The offer or reason belongs in the first 40 characters, where it shows in the preview. The greeting can wait or disappear.
  • Say who you are. Lead with your brand name. An unbranded text reads as spam and gets deleted before the offer is read.
  • Write one clear CTA. Use an action verb and a short, trackable link: "Shop now," "Book," "Reply YES." Vague endings get vague results.
  • Aim for the 75-115 character sweet spot. You have 160, but shorter messages read faster, stay single-segment, and respect the medium. Length is a cost, not a feature.
  • Personalize beyond the first name. A name in front of a generic blast isn't personalization. Purchase history, location, or recent behavior is what makes a text feel one-to-one.
  • Make urgency specific and real. "Ends tonight at 11pm" or "first 100 orders" beats "hurry, limited time." Manufactured urgency trains people to ignore you.
  • Keep the tone human but on-brand. Match the voice of your email and site. A technical brand forcing chirpy exclamation points reads as someone else wrote it.
  • Use emojis and caps sparingly. Beyond taste, one emoji can flip your encoding and triple your cost, and ALL CAPS reads as shouting and can trip spam filters.
  • Respect frequency. Around one to three sends a week is a common guardrail. The real signal is your opt-out rate: when it climbs, you're texting too often or saying too little.

Part 5: Stay Compliant, from Consent to Opt-Out to Quiet Hours

Compliance isn't a legal appendix you bolt on at the end; it shapes what you're allowed to write and when you can send it. Get it wrong and carriers filter you or regulators fine you, and no amount of clever copy survives that. This section describes common US practice and is not legal advice, so check the rules that apply in your market.

  • Get explicit opt-in first. Marketing texts require prior express consent. A checkbox at checkout or a text-to-join keyword works; a purchased list does not.
  • Make every message identifiable and easy to leave. Include your brand and a clear opt-out, usually "Reply STOP to opt out," especially on the first and every promotional message.
  • Respect quiet hours. The US TCPA restricts marketing messages to 8am-9pm in the recipient's local time zone, and several states are stricter, so schedule against the recipient's zone, not yours (FCC TCPA rules and CTIA messaging principles, 2026).
  • Register for 10DLC. In the US, application-to-person traffic on standard long codes must be registered by brand and campaign regardless of volume; unregistered traffic gets heavily filtered (CTIA and The Campaign Registry, 2026).

Your sender identity is a compliance decision too, and it changes throughput and trust:

  • 10DLC long code: a standard local number, registered for A2P. Good default for most businesses; moderate throughput.
  • Toll-free: higher throughput than a long code, requires verification, works across US and Canada.
  • Short code: a 5-6 digit number built for high-volume campaigns; fastest throughput, higher cost and longer approval.
  • Alphanumeric sender ID: your brand name as the sender in many countries outside the US; display-only, so it can't receive replies.

Part 6: 20 Copy-Paste SMS Templates by Lifecycle Stage

Here are 20 templates you can copy and adapt, grouped by where the customer is in their journey. Replace anything in brackets, starting with [Brand] for your sender name, plus [Name] , [link] , and the rest. Keep them single-segment by avoiding emojis and curly quotes, and add your own opt-out on promotional sends. Every phone shows a sample brand, and the character count on it is what the message costs you at send time.

1 Grow Your List and Pre-Purchase

These earn the opt-in and warm someone up before they buy. The tone is welcoming, not pushy.

sms mockup welcome

Welcome / opt-in confirmation. Send instantly after someone subscribes.

[Brand]: You're in. Thanks for subscribing. Here's 10% off your first order with code WELCOME10 at checkout. Shop: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup text to join

Text-to-join keyword. Use on signage, receipts, and social to build the list.

[Brand]: Reply JOIN for early access to drops and subscriber-only deals. Msg & data rates may apply. Reply STOP to cancel.

📋 Copy template
sms mockup event rsvp

Event / webinar RSVP. Send when registration opens; one reminder before it starts.

[Brand]: Your seat for [Event] on [Date] is open. Save it here: [link]. We'll text one reminder before we start. Reply STOP to opt out.

📋 Copy template
sms mockup educational

Educational / content. Use to give value between offers so you're not only selling.

[Brand]: New guide: 5 ways to make denim last twice as long. Free, no sign-up: [link]. Reply STOP to opt out.

📋 Copy template

2 Promotions and Launches

The workhorses. Keep the offer in the first line and the urgency honest.

sms mockup discount code

Discount code. Your everyday promo; personalize the code where you can.

[Brand]: Hi [Name], here's 25% off just for you. Use SAVE25 at checkout, ends Sunday. Shop now: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup flash sale

Flash sale. Short window, single clear deadline, no code friction.

[Brand]: Flash sale, today only. 30% off everything until 11pm, no code needed: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup bogo

Buy one, get one. Name the category so the value is instant.

[Brand]: Buy one, get one free on all denim this weekend, in stores and online: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup new arrival

New arrival / seasonal. Pair a launch with a reason to act now.

[Brand]: [Name], the new fall collection just dropped. First 100 orders get free shipping: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup price drop

Price drop. Trigger when an item a shopper viewed or saved gets cheaper.

[Brand]: Good news [Name], the jacket on your wishlist just dropped to $59. Grab it before it's gone: [link]. Reply STOP to opt out.

📋 Copy template

3 Order and Post-Purchase

These are transactional and expected, so they run on lighter consent and usually skip the opt-out line. They're also your highest open moments, so keep them useful, not salesy.

sms mockup order confirmation

Order confirmation. Send the moment an order is placed.

[Brand]: Order #1234 confirmed, [Name]. Total $86. We'll text you when it ships. Track anytime: [link].

📋 Copy template
sms mockup shipping update

Shipping update. Send at dispatch, with a live tracking link.

[Brand]: Your order #1234 is on its way and arrives [Date]. Track it here: [link].

📋 Copy template
sms mockup pickup ready

Pickup ready. Send when a click-and-collect order is ready.

[Brand]: [Name], your order is ready for pickup at [Store] until [Time]. Show this text at the counter: #1234.

📋 Copy template
sms mockup review request

Review request. Send a few days after delivery, with a small thank-you.

[Brand]: Hi [Name], how's your new denim? Leave a quick review and get 15% off next time: [link]. Reply STOP to opt out.

📋 Copy template

4 Retention and Win-Back

This is where SMS earns its keep, and where most brands stop writing. Every template below is triggered by a specific behavior, which is exactly why it converts.

sms mockup abandoned cart

Abandoned cart. Send 1-4 hours after a cart is left.

[Brand]: [Name], you left something in your cart. It's still here, but selling fast. Check out now: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup back in stock

Back in stock. Trigger for shoppers who asked to be notified.

[Brand]: Good news, the item you wanted is back in stock. You asked us to tell you, so here it is: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup replenishment

Replenishment reminder. Time it to when a consumable typically runs out.

[Brand]: Running low, [Name]? You bought [Product] about [X] weeks ago. Reorder in one tap: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup winback

Win-back. Send after a defined lapse, such as 90 days with no order.

[Brand]: We miss you, [Name]. Here's 20% off to come back, good for 7 days. Use MISSYOU20: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup birthday

Birthday. Trigger from the birthday field you collected at opt-in.

[Brand]: Happy birthday, [Name]. Here's a gift: 25% off anything this week with code BDAY25: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup referral

Referral. Send to happy customers after a positive order or review.

[Brand]: [Name], give $10, get $10. Share your link and your friend saves on their first order: [link]. Reply STOP to opt out.

📋 Copy template
sms mockup vip early access

VIP / loyalty early access. Reward your loyalty segment with a head start.

[Brand]: VIP early access, [Name]. Shop the sale 24 hours before everyone else, starts now: [link]. Reply STOP to opt out.

📋 Copy template

Part 7: Set Up, Send, and Measure Your First Campaign

Writing the message is one skill; getting it out the door and reading what it did is the rest of how to do SMS marketing. You can run every step below inside EngageLab SMS , an outbound SMS service with template and signature review, a console that shows your character count and price before you send, scheduled sending, and delivery-status callbacks. Here's the path from an empty account to a sent campaign you can learn from.

  1. Step 1: Set up your sender and opt-in list

    Goal: a trusted sender and a list that agreed to hear from you. Action: pick a long code, toll-free, or short code from Part 5, register for 10DLC in the US, then collect opt-ins through a text-to-join keyword, web form, or checkout box. Failure check: never buy a list, and don't skip 10DLC; unregistered traffic is filtered before anyone reads it.

  2. Step 2: Create a signature and template in EngageLab

    Goal: reusable, approved content. Action: in EngageLab, create a signature, then build a marketing template with variables for the parts that change, like name and code. Expected result: the signature and template clear review and are ready to send. Failure check: a template stuck in review usually has a missing signature or a link that needs allow-listing, so build that lead time into your schedule.

  3. Step 3: Write it and watch the character count

    Goal: a single-segment message at the price you planned. Action: write with the Part 2 formula, then read the real-time character statistics, segment count, and estimated price EngageLab's console shows as you compose. Failure check: if the count jumps to Unicode, hunt down the emoji or curly quote before you send, not after.

  4. Step 4: Test, schedule, and send

    Goal: proof it renders and lands. Action: send a test to your own phone, confirm the link and merge fields resolve, then schedule the send inside the recipient's quiet-hours window. Expected result: the message arrives whole, on one line, with a working link.

  5. Step 5: Measure and improve

    Goal: turn results into your next edit. Action: read delivery rate, click-through, conversion, and opt-out rate from EngageLab's delivery-status callbacks and console. Expected result: each number points at one layer of the writing to fix next.

Read those numbers as a diagnosis of your writing, not just a report card. A low delivery rate points at encoding or routing before it points at content. A weak click-through rate points at the offer or the CTA. A high opt-out rate points at frequency or relevance. Conversion tells you whether the value you promised matched the page you sent people to.

EngageLab SMS is built for this loop end to end: an outbound send-message API with delivery-status callbacks, templates and signatures with built-in review, the console character and price preview from Step 3, scheduled sending, and direct-carrier routing across 190+ countries with per-segment pricing. It fits teams that need one-to-many sending they can measure and keep compliant. For real two-way conversations, use a channel like WhatsApp; run SMS as one channel in a program that pairs it with email, push, and WhatsApp on one platform.

Send your first SMS campaign

Create a template, watch the character count and price as you type, and test-send in minutes.

Before You Hit Send

The path holds no matter what you're selling. Fit the message inside the encoding envelope, build it with the four-part formula, clear it against the compliance checklist, adapt a template to the moment, then send, test, and read the numbers back into your next draft. Do that and your texts arrive whole, bill as one segment, and drive one clear action.

There's a simpler test for everything above. Before you schedule a campaign, read your own message on your own phone and ask whether you'd actually tap it. If the answer is no, the offer, the timing, or the words need another pass before your list ever sees them.

Write, check, and send your next SMS with EngageLab

Free to start. See the character count, segment, and price before every send.

Start Free