SMS Marketing Best Practices

Learn how to create effective SMS marketing campaigns that drive engagement, maintain compliance, and deliver measurable results through the most direct communication channel.

Understanding SMS Marketing

Why SMS Marketing Matters

SMS (Short Message Service) remains a powerful marketing channel with exceptional performance:

  • 98% open rate (highest of all channels)
  • 90% of messages read within 3 minutes of delivery
  • 45% response rate (vs 6% for email)
  • No app required – works on all mobile phones
  • Immediate delivery – perfect for time-sensitive offers
  • 17% proven ROI channel and growing (2025 Lifecycle Insights Report)

SMS vs Other Channels

FeatureSMSEmailWhatsApp
Open Rate98%21%98%
Read Time3 minHours/DaysMinutes
Character Limit160UnlimitedUnlimited
Rich MediaNoYesYes
Cost per MessageMediumLowMedium-High
Global ReachUniversalUniversal2B users

Best Strategy: Use SMS for urgent, time-sensitive communications and layer with email for detailed content.

Getting Started

Building Your SMS List

Ethical List Building:

✓ DO: Obtain Explicit Consent

Get clear, written permission before sending any marketing SMS.

✓ DO: Use Clear Opt-in Language

State message frequency, purpose, and how to opt-out during signup.

✗ DON'T: Buy Phone Lists

Purchased lists violate regulations, harm reputation, and generate complaints.

✗ DON'T: Auto-subscribe from Other Channels

Having email doesn't mean you can send SMS without separate consent.

Compliant Opt-in Examples

Website Signup Form:

<form>
  <h3>Get 20% off your first order!</h3>
  
  <input type="tel" placeholder="Mobile Number" required>
  
  <label>
    <input type="checkbox" required>
    I agree to receive promotional SMS from [Company].
    Msg frequency varies. Msg & data rates may apply.
    Reply STOP to opt-out. <a href="/terms">Terms</a> | 
    <a href="/privacy">Privacy</a>
  </label>
  
  <button>Get My Discount</button>
</form>

Keyword Opt-in:

Text DEALS to 12345 for exclusive offers!

Msg & data rates may apply. 4 msgs/month.
Reply HELP for help, STOP to cancel.
Terms: company.com/terms

Double Opt-in Confirmation:

Welcome to [Company] SMS! 🎉
Reply YES to confirm & get 20% off.

4 msgs/month. Msg & data rates may apply.
Reply STOP to cancel anytime.

Required Opt-in Elements

Every opt-in must include:

  1. Clear Description: What messages will contain
  2. Frequency: How often you'll send (e.g., "up to 4 msgs/month")
  3. Cost Disclosure: "Msg & data rates may apply"
  4. Opt-out Instructions: "Reply STOP to cancel"
  5. Help Information: "Reply HELP for assistance"
  6. Terms & Privacy Links: Accessible policies

Compliance and Regulations

TCPA (USA) - Telephone Consumer Protection Act

Key Requirements:

  • Prior Express Written Consent required for marketing messages
  • Time Restrictions: 8 AM - 9 PM recipient's local time
  • Clear Identification: Identify your business in every message
  • Opt-out Mechanism: Honor within 10 days (immediate recommended)
  • No Autodialers without consent
  • Penalties: $500-$1,500 per violation

TCPA-Compliant Message:

[Company]: Flash Sale! 50% off sitewide today only.
Shop now: bit.ly/sale50
Msg3/4 this month. Reply STOP to opt-out.

CTIA Guidelines (USA Mobile Carriers)

Messaging Principles:

  • Messages must provide value
  • Respect sending limits (avoid spam)
  • Use registered phone numbers
  • Proper content filtering
  • Maintain clean sender reputation

Restricted Content:

  • Cannabis and CBD
  • Alcohol (without age gate)
  • Firearms and weapons
  • Adult content
  • Phishing or fraud
  • Misleading information

International Regulations

GDPR (Europe):

  • Explicit consent required
  • Right to data access and deletion
  • Data minimization
  • Breach notification (72 hours)

India's Telecom Regulations:

  • DLT (Distributed Ledger Technology) registration required
  • Template approval for promotional SMS
  • Time restrictions: 9 AM - 9 PM
  • TRAI guidelines compliance
  • Sender ID registration

Canada (CASL):

  • Express consent required
  • Clear identification
  • Unsubscribe mechanism
  • Penalties up to $10M CAD

DND Registry Compliance (India)

Do Not Disturb:

  • Check numbers against DND registry
  • Don't send promotional SMS to DND numbers
  • Transactional SMS allowed for existing customers
  • Register as entity with TRAI
  • Use approved sender IDs

Message Crafting Best Practices

Writing Effective SMS Copy

The 160-Character Challenge:

SMS has a 160-character limit per message. Make every character count:

❌ Bad (172 chars):
Hey there! We hope you're doing great today. 
We wanted to let you know that we're having an 
amazing sale on all our products. Check it out!

✓ Good (155 chars):
[Brand] Flash Sale! 🔥
50% off everything today only.
Shop: brand.co/50off
Code: FLASH50
Ends midnight. Reply STOP to opt-out

Character-Saving Tips:

  • Use URL shorteners (bit.ly, custom domains)
  • Abbreviate when clear (% instead of percent)
  • Remove unnecessary words
  • Use emojis sparingly (1-2 max)
  • Front-load important information

Message Structure

Winning Formula:

[Sender] + [Hook] + [Value] + [CTA] + [Opt-out]

Example:
[Fitness+] LAST CHANCE! ⏰
50% off annual membership.
Join 10k+ members: fit.plus/join
Reply STOP to opt-out

Component Breakdown:

Sender (6-11 chars):

  • Brand name or recognizable identifier
  • Consistent across all messages
  • Example: [Nike], [Amazon], [Fitness+]

Hook (10-20 chars):

  • Grab attention immediately
  • Create urgency or curiosity
  • Examples: "FLASH SALE!", "NEW ARRIVAL", "EXPIRES TODAY"

Value Proposition (40-60 chars):

  • Clear benefit or offer
  • Specific details (amounts, products)
  • Examples: "50% off all sneakers", "Free shipping on $50+"

Call-to-Action (20-40 chars):

  • Short, trackable URL
  • Clear next step
  • Examples: "Shop: nke.co/sale", "Claim: bit.ly/offer"

Opt-out (20-30 chars):

  • Required by law
  • Example: "Reply STOP to opt-out" or "Text STOP2end"

Tone and Voice

Best Practices:

  • Conversational: Write like you're texting a friend
  • Urgent: Create appropriate FOMO (fear of missing out)
  • Personal: Use "you" language
  • Clear: No ambiguity in 160 characters
  • Branded: Consistent with overall brand voice

Examples by Industry:

E-commerce (Casual):
[Store] Hey! Your cart's getting lonely 😢
Those sneakers you loved are still waiting.
Checkout now: store.co/cart
STOP2end

B2B (Professional):
[Company] Your trial ends in 3 days.
Continue with 25% off annual plans.
Upgrade: co.link/save25
Txt STOP2unsub

Restaurant (Friendly):
[Bistro] Hungry? 🍕
Today's special: 2 pizzas for $20!
Order: bistro.me/2for20
Open till 10PM. Txt STOP2end

Timing and Frequency

Best Send Times

General Guidelines:

DayBest TimesAvoid
Monday12 PM - 1 PM, 5 PM - 6 PM8 AM - 10 AM (commute)
Tuesday-Thursday10 AM - 12 PM, 5 PM - 7 PMDuring lunch
Friday10 AM - 12 PM, 3 PM - 5 PMAfter 6 PM
Saturday10 AM - 12 PMBefore 10 AM
Sunday12 PM - 3 PMBefore 11 AM

Never Send:

  • Before 8 AM or after 9 PM (illegal in many jurisdictions)
  • During major holidays
  • Late at night or early morning
  • During typical work hours (for B2C)

Industry-Specific Timing:

Restaurants: 11 AM - 12 PM, 5 PM - 6 PM (meal times)
Retail: 10 AM - 12 PM, 6 PM - 8 PM (free time)
B2B: 10 AM - 3 PM (business hours)
Entertainment: 6 PM - 9 PM (evening plans)
Fitness: 6 AM - 8 AM, 5 PM - 7 PM (workout times)

Message Frequency

Recommended Frequency:

  • High: 8-12 messages per month (every 2-3 days)
  • Medium: 4-6 messages per month (1-2 per week)
  • Low: 1-3 messages per month (occasional)

Frequency by Message Type:

Promotional: 1-2 per week maximum
Transactional: As needed (no limit)
Reminders: Based on user actions
Alerts: Time-sensitive only
⚠️ Over-messaging Consequences

More than 2-3 promotional messages per week leads to high opt-out rates and spam complaints.

Send Time Optimization

Test and Learn:

  1. Send to small segment at different times
  2. Measure open rate, click rate, response rate
  3. Identify best-performing time slots
  4. Implement for larger sends
  5. Continue testing quarterly

Use Oblic's AI Optimization:

  • Predicts optimal send time per contact
  • Based on historical engagement
  • Timezone-aware delivery
  • Automatically adjusts over time

Message Types and Use Cases

Promotional Messages

Flash Sales:

[Brand] ⚡ Flash Sale Alert!
60% off for 6 hours ONLY
Shop now: brand.co/flash60
Ends 6PM EST today!

New Arrivals:

[Fashion] NEW IN: Summer Collection 🌞
First look for SMS subscribers only.
Shop: fash.co/summer26
Reply STOP to opt-out

Exclusive Offers:

[VIP] Just for you! 💎
Extra 20% off sale items.
Code: VIP20 at checkout
Valid 48hrs: shop.co/vip

Transactional Messages

Order Confirmation:

[Store] Order #12345 confirmed! ✅
Total: $89.99
Est. delivery: May 15-17
Track: store.co/track/12345

Shipping Updates:

[Store] Your order has shipped! 📦
Tracking: 1Z999AA10123456784
Expected delivery: Tomorrow by 8PM
Track: ups.com/track

Appointment Reminders:

[Clinic] Reminder: Dr. Smith appt
Tomorrow, May 15 at 2:30 PM
Location: 123 Main St
Reply C to confirm, R to reschedule

Abandoned Cart Recovery

Sequence Strategy:

Message 1 (1 hour):
[Store] You left something behind! 🛒
3 items in your cart ($89)
Complete order: store.co/cart
Free shipping today!

Message 2 (24 hours):
[Store] Still interested? 
Your cart is waiting + 10% off!
Code: CART10 
Checkout: store.co/cart10

Message 3 (72 hours):
[Store] Last chance! ⏰
Cart expires in 24hrs + 15% off
Code: SAVE15
Checkout: store.co/save15

Two-Way Conversations

Conversational SMS:

Customer: "Do you have size 10 in stock?"

Business: "Yes! Air Max in size 10 available 
in Black & White. Which color?
Reply 1 for Black, 2 for White"

Customer: "1"

Business: "Perfect! Black size 10 reserved.
Complete order: store.co/abc123
Held for 2 hours. Reply HELP for assistance"

Keyword Responses:

STOP → "You're unsubscribed from [Brand]. 
         No more messages. Text START to rejoin."

HELP → "[Brand] Help: Msg & data rates apply.
        4 msgs/month. support@brand.com
        or call 1-800-XXX-XXXX"

START → "Welcome back to [Brand]! 
         You'll receive exclusive offers.
         Reply STOP to opt-out anytime."

Personalization Strategies

Dynamic Content

Basic Personalization:

Generic:
"Flash sale happening now! Shop today."

Personalized:
"Hi Sarah! Your favorite brand Nike is 
50% off today only. Shop: nike.co/sarah50"

Advanced Personalization:

Hi {{first_name}},

{{product_viewed}} you checked out yesterday 
is now {{discount}}% off!

Only {{stock_count}} left in your size.

Shop: {{tracking_url}}

Behavioral Triggers

Post-Purchase:

Day 3: "How's your new {{product}}? 
        Reply with feedback & get 15% off next order!"

Day 14: "Love your {{product}}? 
         Leave a review: review.co/{{order_id}}
         Get $10 off your next purchase!"

Browse Abandonment:

"Still thinking about {{product_name}}?
Get 10% off + free shipping today!
Code: THINK10
Shop: store.co/{{product_id}}"

Milestone Messages:

Birthday:
"Happy Birthday {{name}}! 🎉
Celebrate with 25% off your order today.
Code: BDAY25 
Treat yourself: store.co/bday"

Anniversary:
"1 year with us! 🎊
Thanks for being a loyal customer.
Here's 30% off: store.co/thanks30"

Segmentation Tactics

Key Segments

By Engagement:

  • Super Engaged: Opens/clicks 80%+ → Premium offers
  • Moderately Engaged: Opens 40-80% → Regular promotions
  • At Risk: Opens less than 40% → Win-back campaigns
  • Inactive: No opens 60+ days → Re-engagement

By Purchase Behavior:

  • First-time buyers: Welcome series
  • Repeat customers: Loyalty rewards
  • High-value: VIP exclusive offers
  • Lapsed: Special comeback discounts

By Demographics:

  • Location: Local store events, weather-based offers
  • Age: Age-appropriate products
  • Gender: Targeted product recommendations

By Preferences:

  • Product categories of interest
  • Preferred shopping times
  • Communication frequency choice
  • Channel preferences

Segmentation Examples

Location-Based:

NYC: "[Store] ❄️ Snow alert!
      Hot coffee & cozy wear 40% off.
      Visit us: 5th Ave store open till 8PM"

LA: "[Store] ☀️ Beach weather!
     Swimwear sale starts now!
     Shop: store.co/swim26"

Purchase History:

Sneaker buyer: "[Brand] NEW Jordan drop! 🏀
                Early access for top customers.
                Limited stock: jord.co/early"

Never bought: "[Brand] First order? Get 25% off!
               Code: FIRST25 at checkout.
               Shop: store.co/welcome"

URL Shortening and Tracking

Link Best Practices

Use Short URLs:

  • Saves precious characters
  • Looks cleaner and more professional
  • Enables tracking and analytics
  • Increases click-through rates

Custom vs Generic:

❌ Generic: https://bit.ly/3xK9mP2
✓ Custom: brand.co/sale50

Tracking Parameters:

Base URL: https://store.com/summer-sale

Add UTM parameters:
?utm_source=sms
&utm_medium=promotional
&utm_campaign=summer_sale_2026
&utm_content=may_15

Shorten to: store.co/summer26

Link Tracking Metrics

Track these metrics for every link:

  • Click-through rate (CTR)
  • Unique clicks
  • Time to click
  • Device type
  • Geographic location
  • Conversion rate

Compliance Checklist

Pre-Send Checklist

☑ Consent Verified

All recipients explicitly opted in for SMS marketing.

☑ Time Check

Sending between 8 AM - 9 PM recipient's local time.

☑ Sender ID

Company name clearly identified in message.

☑ Opt-out Included

"Reply STOP to opt-out" or similar included.

☑ Links Tested

All short URLs work and point to correct destinations.

☑ Character Count

Message under 160 characters (or accounting for multiple segments).

☑ Content Review

No restricted content, spam triggers, or misleading claims.

Opt-out Management

Immediate Processing:

  • Remove from marketing list instantly
  • Confirm opt-out with final message
  • Never send promotional messages again
  • Keep transactional for existing orders

Opt-out Confirmation:

You've been unsubscribed from [Brand] 
marketing messages. You may still receive 
order updates. Text START to rejoin. 
Questions? support@brand.com

Analytics and Optimization

Key Metrics

Delivery Metrics:

  • Sent messages
  • Delivered (aim for >95%)
  • Failed/bounced
  • Carrier filtering

Engagement Metrics:

  • Click-through rate (aim for 15-25%)
  • Conversion rate (aim for 5-10%)
  • Response rate for 2-way messaging
  • Opt-out rate (keep less than 1%)

Revenue Metrics:

  • Revenue per message
  • Revenue per recipient
  • ROI (Revenue / Cost)
  • Customer lifetime value

A/B Testing

Test Variables:

Timing: 10 AM vs 2 PM vs 6 PM
Copy: Urgent vs Casual tone
Offer: 20% off vs $10 off vs Free Shipping
CTA: "Shop Now" vs "Get Offer" vs "Claim Deal"
Personalization: Name vs No Name
Emojis: With 🔥 vs Without

Testing Process:

  1. Split list (minimum 1,000 per variant)
  2. Test one variable at a time
  3. Wait 24 hours for results
  4. Analyze statistical significance
  5. Implement winner

Common Mistakes to Avoid

❌ Mistake 1: Sending Without Consent

Biggest compliance violation. Always get explicit opt-in first.

❌ Mistake 2: Over-messaging

More than 2-3 promotional messages per week causes fatigue and opt-outs.

❌ Mistake 3: Vague Messages

With 160 characters, be crystal clear. No ambiguity allowed.

❌ Mistake 4: Ignoring Time Zones

Sending at 3 AM recipient time destroys trust and causes complaints.

❌ Mistake 5: No Clear CTA

Every message needs obvious next step. What should they do?

❌ Mistake 6: Broken Links

Always test short URLs before sending. Broken links waste your message.

Integration with Other Channels

SMS + Email Strategy

Anchor on Email, Layer SMS:

  • Use email for detailed content, newsletters, nurture
  • Use SMS for urgent, time-sensitive messages
  • Test combined campaigns vs single-channel

Example Combined Campaign:

Day 1: Email - "Summer Sale Preview"
Day 2: SMS - "Sale starts NOW! 50% off"
Day 3: Email - "Popular items from sale"
Day 5: SMS - "Last 24 hours of sale!"
Day 6: Email - "Thanks for shopping"

SMS + WhatsApp

Channel Selection:

  • SMS: Universal reach, time-sensitive, promotional
  • WhatsApp: Rich media, conversational, support

Coordinated Strategy:

  • SMS for flash sales and alerts
  • WhatsApp for order updates with tracking
  • Both for cart abandonment (test which performs better)

Next Steps

Was this page helpful?