Skip to content
Claim your free business email

SMS marketing: the texts that work, how often to send them, and what they cost

Published Updated 11 min readBy the Rasket team

Written for e-commerce teams, developers and email marketers

SMS marketing for stores and apps: a phone sending small glowing message icons toward a shop front.

SMS marketing is texting offers and reminders to customers who agreed in writing to get them: a welcome code, an abandoned cart reminder, a back-in-stock alert, a win-back offer. Texts are read within minutes, which is why they work and why they punish overuse. Send a few, in the daytime, and only to people with SMS consent.

Say a shopper leaves boots in their cart at 11 pm. An email reminder waits politely in the inbox. A text at 11:05 pm wakes them, and the reply is STOP. The same text at 10 the next morning, from a shop they signed up to hear from, is the one that brings the order back. Text message marketing is mostly that judgement: which moment deserves a buzz in someone's pocket. Below are the four texts that earn one, how often to send, who you may text, how to run SMS campaigns beside your email in Rasket, how to measure them, and the cost of each message.

Which SMS marketing texts work?

The texts that work answer something the customer just did or asked for. For SMS marketing for ecommerce, four do most of the work. Each example is shown as Rasket sends it: your brand name in front and the opt-out line at the end, both added for you.

Four marketing texts that work for a store
TextStarts whenTimingExample
WelcomeSomeone opts in to your textsRight awayAcme: Welcome! 10% off your first order with WELCOME10. Reply STOP to opt out
Abandoned cartA checkout starts and no order followsAbout an hour later, onceAcme: Your cart is still here. Finish your order: acme.co/s/cart Reply STOP to opt out
Back in stockAn item someone asked about is restockedWhen the stock landsAcme: The Trail boots in size 9 are back. acme.co/s/trail Reply STOP to opt out
Win-backNo order for a set time, such as 90 daysOnce, with a reason to returnAcme: We miss you. Free shipping this week: acme.co/s/back Reply STOP to opt out

Welcome

Send it the moment someone opts in, while they still remember why. Put the code in the text itself, not behind a link: a code they can read on the lock screen is the whole point. If you use double opt-in, the confirmation text comes first and the welcome only after they reply Y; the SMS opt in guide covers that flow.

Abandoned cart

One text, about an hour after checkout stalls, and nothing once the order arrives. Let email carry the second and third reminders: the abandoned cart email flow already stops on purchase, and a text can be its first step. Three texts for one cart reads as pressure and earns opt-outs.

Back in stock

The strongest text you can send, because the person asked for it. Send it only to the people who asked about that item, never to the whole list. Rasket has no built-in back-in-stock trigger: your code sends an event for each person who asked, and that event starts an automation whose step is the text.

Win-back

Once, to customers whose last order is older than your usual buying cycle, with a concrete reason to come back. If they do not respond, stop texting them about it rather than repeating the offer; email can carry the longer sequence, as in sunsetting inactive subscribers.

A daily promotion, or a text that repeats this morning’s email word for word, is where SMS marketing usually goes wrong. A decision rule that holds up: if the message would not be worth interrupting a meeting for, send it as an email.

How often should you text subscribers?

As often as you said you would when they opted in, and no more. CTIA’s Messaging Principles and Best Practices, the US wireless industry’s guidelines for business texting, ask that the confirmation text tell people the messages recur and how often. So the frequency is a promise: “up to 4 texts a month” on the form means four. A weekly campaign plus the triggered texts above is a ceiling most shops never need to go past.

Two limits apply whatever you promise:

  • Daytime only. The FCC’s rule bars telephone solicitations before 8 a.m. or after 9 p.m. at the recipient’s location. Rasket sends marketing texts between 8 am and 9 pm where each person is, or within the shorter hours some states set. A text due outside that window waits for the next morning, and a campaign still sending at 9 pm carries on the next day. Nothing is dropped.
  • One marketing text in any 16 hours. This is Rasket’s own guard, not a law. Across every campaign, automation and API call, a phone gets at most one marketing text in 16 hours; a second one inside that window is skipped rather than delayed. So an abandoned cart text that fires an hour after a campaign does not stack on top of it.

Transactional texts, such as “your order has shipped” or a sign-in code, are not held by either rule and do not count toward the 16 hours.

Only people who gave express written consent to marketing texts. CTIA expects it for every marketing text, whether or not the TCPA (the US Telephone Consumer Protection Act) applies, and a newsletter sign-up is not it. A text that only confirms what someone did (an order, a booking, a code) needs the number given for that purpose instead. Adding a coupon to a shipping update can turn it into a promotional text that needs marketing consent.

In Rasket, SMS consent is a record of its own on each contact, kept with the page and the exact words the person agreed to, and separate from every email subscription. An SMS campaign skips anyone without it, and they still get your email campaigns. A STOP stops every text from your team to that phone at once, transactional ones included. The wording, the double opt-in and the proof to keep are in our guide to SMS opt in, and the rules Rasket applies are in the consent docs.

Use the same audience as your email

A contact holds an email address, a phone number or both, so the people you text are the same rows you already email. Segments are built once: “bought in the last 90 days” picks the same people for an email campaign and an SMS campaign, and each channel then sends to the ones who agreed to it. A contact can also have only a phone, such as someone who joined through a form that asked for nothing else.

Topics, the lists people can join and leave, carry a channel: email, SMS or both. So “Flash sales by text” can be its own list, and leaving it does not unsubscribe anyone from your newsletter. The two channels do different jobs for the same campaign: the text announces, the email carries the photos and the detail. Send them a few hours apart rather than in the same minute, so the second does not feel like an echo. SMS vs email marketing compares the two channels message by message.

One audience also means one place for a customer’s history. A bounce, an unsubscribe or a STOP is recorded on the contact you will look at, rather than in a second tool you would have to sync with the first.

SMS campaigns and automations in Rasket

Texts run on the same API and dashboard as your email, with the same key, contacts and webhooks; the SMS feature page shows the whole set. There are two ways to send marketing texts.

A campaign to a segment

A text campaign is a broadcast with channel set to sms. In the dashboard, New campaign asks Email or SMS. Over the API it is one request to create the draft:

curl https://api.rasket.com/broadcasts \
  -H "Authorization: Bearer $RASKET_API_KEY" \
  -H "User-Agent: acme-shop/1.0" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "sms",
    "name": "Spring sale",
    "segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    "from": "+18335550199",
    "text": "Spring sale: 20% off everything until Sunday. acme.co/s/spring",
    "local_send_time": "11:00"
  }'
  • local_send_time sends each text at 11:00 where that person is, inside the daytime window above.
  • subject, html and reply_to belong to email and are refused here.
  • Your number must be active before the campaign can be sent; until then you can write it. POST /broadcasts/{id}/send sends it or schedules it.
  • Links go on a short-link domain of your own. Public link shorteners are refused, because carriers filter texts that use them; CTIA’s principles ask for a shortener dedicated to the sender.

The review step shows how many people the campaign reaches, how many messages each text is, how many your plan covers and the cost of the rest, in dollars. For one text, POST /sms/estimate answers the same count and cost over the API.

A text as an automation step

An automation can text a contact as one of its steps, on the same canvas as its emails. That is how the welcome, abandoned cart, back-in-stock and win-back texts run: the trigger is a segment change (joining a segment of SMS subscribers, say), a store event such as store:checkout.started, or an event your code sends, and the step is send_sms:

{
  "id": "text_reminder",
  "type": "send_sms",
  "config": {
    "text": "Your cart is waiting. Finish your order: acme.co/s/cart",
    "category": "marketing"
  }
}

category is marketing unless you set transactional. A contact with no phone, no SMS consent for a marketing text, or a STOP on file skips the step, and the run carries on with the next one; the run’s history says which step was skipped and why. A marketing text that falls outside the daytime window waits for the morning, and the run waits with it. The automations docs list every field.

Before your number is approved

SMS number kinds and their prices
NumberReachesPrice
Toll-freeUS and CanadaFirst one included on paid plans
Extra toll-freeUS and Canada$2 a month each
LocalUS$2 a month, plus $15 a month for your business's registration
Short codeUS and CanadaEnterprise, by contract

Carriers review every number’s registration before it can text customers, usually in 1–5 business days. While it is in review, you can text your own verified phones from Rasket’s shared test number, with [Test] in front, so the campaign and the automation are tested before the number is live rather than after. Getting a number walks through the registration.

How do you measure an SMS campaign?

Texts have no open tracking, so delivery is the floor and clicks and replies are the signal. Each SMS campaign has a results page with five figures and four panels:

  • Delivered, clicked, replies and unsubscribed, each with its share of the campaign’s texts, plus the revenue from orders once a store is connected.
  • Delivery: failed and skipped counted apart, each with its reasons, so “no consent” and “sent in the last 16 hours” are not mistaken for carrier failures.
  • Cost: the messages billed, those covered by the plan and the extra. Failed and skipped texts are not charged.
  • Links and top replies: which links were clicked, and what people wrote back.

The same events reach your code as webhooks: sms.delivered, sms.failed (with failed.type skipped for a text the rules held back), sms.received for a reply and contact.sms_unsubscribed for an opt-out. A text from a campaign carries its broadcast_id, so you can join the results to your own orders. A rule worth keeping: when a campaign’s unsubscribes come close to its clicks, the audience or the frequency is wrong, and the next campaign should be smaller.

What does SMS marketing cost?

A message is up to 160 characters (70 if it has an emoji or another special character). A longer text is sent and billed as several messages. A picture message counts as 3 messages, and texts people send you are free. A text is charged when it is delivered, and a failed, skipped or canceled text never is.

SMS prices by plan
PlanPlan priceTexts included each monthEach message after that
Pro 50k$20 a month200$0.015
Pro 100k$35 a month350$0.015
Scale 100k$90 a month900$0.014
Scale 200k$160 a month1,600$0.0135
Scale 500k$350 a month3,500$0.013
Scale 1M$650 a month6,500$0.0125
Scale 1.5M$825 a month8,250$0.0125
Scale 2.5M$1,150 a month11,500$0.0125

On Pro 50k, a campaign of one message to 5,000 people uses the plan's 200 included texts and bills the other 4,800 at $0.015 each: $72. Free includes 50 test texts a month to your own verified phones, and Enterprise is priced by contract. The first toll-free number is included on paid plans; the table under the number section above has the rest. Texts have their own allowance and spend cap, separate from email, so a large campaign cannot use up the emails your password resets need. The pricing page has every plan.

Count the characters before you count the money

One emoji changes the limit from 160 characters to 70, so a 100-character text with a smiley is two messages and costs twice as much. Write the text first, then check the message count on the review step.

When Rasket is not the right tool

  • You text outside the US and Canada. Those are the only two countries Rasket texts, and picture messages reach US numbers only.
  • You need a short code below Enterprise. Short codes are set up on Enterprise by contract; other plans send from toll-free or local numbers.
  • Your business cannot register. High-risk lending, debt collection, lead generation, gambling, and texts on behalf of other companies are refused at registration, so no number would be approved.
  • You want A/B tests on texts. An SMS campaign has one text; there is no split send or winner selection.

For everyone else, the next step is the opt-in: put an SMS checkbox on your sign-up or checkout form, worded as in the SMS opt in guide, and start the list your first campaign will go to.

Frequently asked questions

Can I send SMS marketing to my email subscribers?

Not on their email consent alone. Marketing texts need the person's express written agreement to texts, and a newsletter sign-up or a topic subscription is not that. Rasket keeps SMS consent as its own record and skips anyone without it in an SMS campaign; they still get your email campaigns.

What time of day can marketing texts go out?

Rasket sends them between 8 am and 9 pm where each person is, or within the shorter hours some states set. A text due outside that window waits for the next morning rather than being dropped, and a campaign still sending at 9 pm carries on the next day. Transactional texts are not held.

How many marketing texts can one person get from me?

At most one in any 16 hours on Rasket, counted across every campaign, automation and API call. A second marketing text inside that window is skipped, not delayed, because a text held for a day says something different. Transactional texts such as order updates neither count nor are counted.

Do I need my own phone number before I can send?

To text customers, yes: a toll-free number reaches the US and Canada, a local one the US. Carriers review its registration first, usually in 1–5 business days. Until it is approved you can write campaigns and text your own verified phones from Rasket's shared test number, but not send to customers.

Can I put links in a marketing text?

Yes, on a short-link domain of your own. Public link shorteners are refused, because carriers filter texts that use them, and CTIA's principles ask for a shortener dedicated to the sender. The campaign's results page counts clicks and lists the links that were clicked.

What happens when a customer replies to a campaign?

STOP, START, HELP and Y are handled for you. Any other reply is listed under Inbound in the dashboard, sent to your endpoint as an sms.received webhook, and forwarded by email to an address you choose if you set one. The campaign's results page counts its replies.

Which countries can I send SMS campaigns to?

The United States, including Puerto Rico and the US Virgin Islands, and Canada. Picture messages reach US numbers only for now. Rasket asks for the same express consent in both countries, so one opt-in and one set of rules covers every contact you can text.

Sources

  1. Messaging Principles and Best Practices (May 2023) — CTIA, read 2026-10-25
  2. 47 CFR § 64.1200: Delivery restrictions — Legal Information Institute, Cornell Law School, read 2026-10-25
  3. Report and Order on revoking consent under the TCPA (FCC 24-24) — US Federal Communications Commission, read 2026-10-25
  4. Pricing — Rasket, read 2026-10-25
  • Campaigns — An audience you own: contacts with typed properties, segments, topics people subscribe to, and campaigns sent through the same pipeline as your other mail.
  • Automations — Workflows that run per contact: start on a custom event or a segment change, wait, branch, and send. Every run pins a version and is inspectable.
  • Order confirmation email and abandoned cart flows — What an order confirmation email must contain, how to send it exactly once, and how to run abandoned cart emails that only reach subscribers who did not buy.
  • How to write a welcome email that gets read — Welcome email best practices: what to write, how to protect the signup form from bots, example emails and sequences, and how to measure without opens.
  • Email marketing software for developers — A buyer's guide to email marketing software for developers: four architectures, the trial tests that separate them, and where Rasket falls short.
  • Rasket for Shopify — Connect a Shopify store to Rasket: customers with their marketing consent, carts and orders as events, and ready-made abandoned checkout and welcome flows.

Start sending this morning

Sign up, verify a domain and send your first email in minutes.