Sending promotional text messages requires three things: legally obtained consent from your recipients, an SMS platform to send the messages through, and content that follows carrier and federal rules. Getting any of these wrong can result in blocked messages, carrier fines, or lawsuits under the Telephone Consumer Protection Act (TCPA). Here’s how to do it right from start to finish.
Get Written Consent First
Federal law prohibits sending marketing text messages without prior express written consent from the recipient. This is a stricter standard than what’s required for non-marketing texts like appointment reminders or shipping notifications. “Express written consent” means the person actively agreed to receive promotional messages from you, not just that they handed over their phone number during a transaction.
In practice, you collect this consent through a checkbox on a web form, a text-to-join keyword (where someone texts a word like “DEALS” to your number), or a paper sign-up sheet. The key is that the person must take a clear, affirmative action. Pre-checked boxes don’t count. Your sign-up disclosure needs to state the name of your program, that messages are recurring, an estimate of how often you’ll text, that message and data rates may apply, and how to opt out. Save a record of every consent you collect, including the date, the phone number, and how the person opted in. If you’re ever challenged, you’ll need that documentation.
Register Your Sending Number
Before you can send bulk promotional texts, wireless carriers require you to register your business and your messaging campaigns. If you’re using a standard 10-digit phone number (the kind that looks like a regular phone number), you’ll need to go through a process called 10DLC registration, which stands for “10-digit long code, application-to-person.” Your SMS platform typically walks you through this. You’ll submit your business name, EIN, and a description of the messages you plan to send. Carriers vet this information and assign your number a trust score that determines how many messages you can send per minute and per day.
The alternative is a short code, which is a five- or six-digit number like the ones big retailers use. Short codes handle much higher volume and are instantly recognizable, but they’re expensive: around $1,000 per quarter for a random short code or $1,500 per quarter for a vanity number you choose, plus a one-time setup fee. Most small and mid-sized businesses stick with 10DLC numbers, which cost far less to register and maintain.
Choose an SMS Platform
You need a platform that handles contact management, message creation, scheduling, delivery, and compliance features like automatic opt-out processing. Several options serve different needs:
- SlickText is beginner-friendly and includes text-to-join keywords, drip campaigns, and integrations with email and CRM tools.
- EZ Texting offers templates, contact management, and scheduled campaigns, and works well for both bulk sends and targeted outreach.
- Postscript is built specifically for Shopify stores and supports triggered message flows, customer segmentation, and revenue tracking.
- Omnisend combines SMS with email and push notifications, making it a good fit if you want multiple channels in one tool.
- TextMagic is straightforward for alerts and reminders and has strong international coverage if you have customers abroad.
If you’re more technical or want full control, API-based services like Twilio let you build custom messaging workflows. Twilio charges per message segment rather than a flat monthly fee, which can be cheaper at low volumes but requires development work to set up.
What Messages Actually Cost
SMS pricing has two layers: the per-message rate your platform charges and carrier pass-through fees that get added on top. On a platform like Twilio, the base rate for an outbound SMS is about $0.0083 per message segment. Carrier surcharges add roughly $0.003 to $0.005 per message depending on the recipient’s carrier. So a single text message lands somewhere around $0.01 to $0.02 all in.
MMS messages (texts that include an image or GIF) cost more, typically around $0.02 for the base rate plus carrier fees that push the total closer to $0.03 per message. Messages are charged per segment, and a single SMS segment holds 160 characters. If your message runs 200 characters, it counts as two segments and costs double. Platform-based services like SlickText or EZ Texting often bundle a set number of messages into a monthly subscription rather than charging per send, which simplifies budgeting.
For a quick sense of scale: sending a 160-character promotional text to 5,000 subscribers at roughly $0.013 per message costs about $65. That same campaign with an image attached would run closer to $150.
Build Your Subscriber List
Your list should only contain people who gave you express written consent to receive promotions. There are several ways to grow it legitimately. Add a phone number field with a clear opt-in checkbox to your website’s checkout flow or account creation page. Use a text-to-join keyword that you promote on social media, email, in-store signage, or packaging. Run a contest or offer a one-time discount in exchange for signing up.
When someone opts in, send an immediate confirmation message. This message needs to include your program name, how often you’ll text, how to opt out (reply STOP), that message and data rates may apply, and a way to get help. This isn’t optional. Carriers monitor for compliant confirmation messages, and skipping this step can get your number flagged or suspended.
Create and Schedule Your Campaign
Most SMS platforms follow the same basic workflow. You create a new campaign, name it, select your audience, write your message, and choose when to send it.
For audience selection, you can send to your entire subscriber list or narrow it down. Good platforms let you segment by purchase history, spending behavior, location, or how recently someone subscribed. Segmentation matters because a message about a winter coat sale performs better when it reaches people who’ve bought outerwear before, not your entire list.
When writing the message itself, keep it under 160 characters if possible to avoid being charged for multiple segments. Include your business name so recipients know who’s texting, a clear offer or call to action, and a link if you’re driving to a website. Many platforms offer pre-built templates and AI-assisted copywriting tools to help draft messages if you’re not sure where to start.
For scheduling, most platforms sync to your store’s time zone by default. Some paid plans let you schedule based on each subscriber’s local time zone, which prevents your East Coast customers from getting a text at 6 a.m. because you optimized for Pacific time. If you’re sending a time-sensitive promotion, test sending at different times of day across a few campaigns to see what gets the best response.
Before you hit send, use the review or preview feature. You’ll typically see a summary of your audience size, the message content, the number of segments per message, and the total cost of the campaign.
Handle Opt-Outs Automatically
When a subscriber replies STOP, END, CANCEL, UNSUBSCRIBE, or QUIT to your number, you are required to immediately stop sending them messages and add them to a suppression list. Your system must also send back a confirmation like: “You are unsubscribed from [Your Brand] Promo Alerts. No more messages will be sent. Reply HELP for help.” Most SMS platforms handle this automatically, but verify that yours does. Sending even one more promotional message after someone opts out is a TCPA violation that can carry statutory damages of $500 to $1,500 per message.
You also need to handle HELP requests. When someone texts HELP to your number, your system should reply with your program name, a support phone number or email address, a note about message frequency, and instructions to text STOP to cancel. The help source must include either a toll-free phone number or a support email address at minimum.
Content Rules That Protect Your Number
Carriers actively filter messages and can block your number or suspend your campaigns if your content violates their guidelines. Avoid content that is misleading, deceptive, or designed to look like it came from someone else. Don’t use link shorteners that mask the destination URL, as carriers flag these as potential phishing. If you include a link, use your own branded domain or the full URL.
Certain content categories face heavy restrictions or outright bans depending on the carrier. Messages related to cannabis, firearms, tobacco, gambling, and adult content are frequently filtered or blocked even in states where those products are legal. Carriers also block content that doesn’t meet age-verification requirements when promoting age-restricted products.
Beyond content restrictions, pay attention to volume. A new 10DLC number that suddenly sends thousands of messages in a day will trigger spam filters. Start with smaller sends and gradually increase your volume as your number builds a sending reputation with carriers.
Track What’s Working
After each campaign, review your delivery rate, opt-out rate, click-through rate (if you included a link), and any revenue attributed to the campaign. A delivery rate below 95% may signal carrier filtering problems or stale phone numbers in your list. An opt-out rate above 2 to 3% per campaign suggests you’re texting too frequently or your offers aren’t relevant to your audience.
Clean your list regularly by removing numbers that consistently fail to receive messages. This keeps your delivery rates high and your costs down, since you’re paying for every attempted send whether it’s delivered or not.

