Skip to main content
A 10DLC campaign defines your messaging use case — what you’re sending, who you’re sending to, and how recipients opted in. Every campaign must be registered with The Campaign Registry (TCR) and approved by mobile carriers before you can send messages at scale. This guide walks you through creating campaigns via API and Portal, choosing the right use case, writing sample messages that pass carrier review, and handling rejections.
Prerequisites: You need an approved brand before creating campaigns. Your brand’s vetting score affects campaign throughput — see 10DLC Rate Limits.

Campaign use case types

Choose the use case that best describes your messaging. Carriers review this against your sample messages, so accuracy matters.

Standard use cases

Special use cases

Choose carefully. Changing a campaign’s use case after registration requires creating a new campaign. Carriers reject campaigns where sample messages don’t match the declared use case.

Create a campaign

Required fields

Optional fields


Writing sample messages that pass review

Carriers manually review your sample messages. Poorly written samples are the #1 reason campaigns get rejected.
Every sample should include opt-out instructions:
“Your order #12345 has shipped! Track at https://acme.com/track/12345. Reply STOP to unsubscribe.”
Use real-looking content with your actual brand name:
“Hi Sarah, your Acme Corp appointment is confirmed for Tuesday at 2 PM. Reply YES to confirm or HELP for assistance.”
If your use case is DELIVERY_NOTIFICATION, all samples should be about deliveries:
✅ “Your package has shipped via FedEx. Tracking: 1Z999AA10123456784” ❌ “Check out our summer sale! 30% off everything!” (This is marketing, not delivery)
Carriers reject vague samples:
❌ “This is a test message” ❌ “Hello, this is a message from our company”
Carriers prohibit or restrict:
  • Cannabis / CBD messaging
  • Gambling content (varies by state)
  • Firearms sales
  • Payday lending
  • Content targeting minors without age gate
The messageFlow field should explain exactly how users consent:
“Users sign up on our website at https://acme.com/signup where they enter their phone number and check a box that reads: ‘I agree to receive order updates via SMS from Acme Corp. Msg frequency varies. Msg & data rates may apply. Reply STOP to cancel.’”

MNO provisioning timeline

After TCR approves your campaign, each carrier (MNO) provisions it on their network independently. This affects when you can send messages on each carrier.
You can check provisioning status per carrier via the API:

Check campaign status

Campaign statuses


List all campaigns


Handle campaign rejections

Campaigns can be rejected during carrier review. Common reasons and how to fix them:

Resubmitting a rejected campaign

You cannot edit a rejected campaign. Instead, create a new campaign with corrected information:
  1. Review the rejection reason (check Event Notifications webhooks)
  2. Fix the identified issues in your samples and description
  3. Create a new campaign via the API or Portal
  4. Reassign your phone numbers to the new campaign
Each campaign submission incurs a TCR registration fee. Review your samples carefully before submitting to avoid repeated rejections and fees.

Campaign compliance best practices

1

Match content to use case

Only send messages that match your registered campaign use case. Sending marketing from a CUSTOMER_CARE campaign risks suspension.
2

Honor opt-outs immediately

Process STOP requests within seconds. Carriers monitor compliance. See Advanced Opt-In/Out for implementation.
3

Keep records

Maintain proof of consent (opt-in records with timestamp, source, and phone number). Carriers may request this during audits.
4

Monitor throughput

Don’t exceed your campaign’s allocated throughput. Check 10DLC Rate Limits for your brand score tier.
5

Review Event Notifications

Set up webhooks for 10DLC events to catch approval, rejection, and suspension events in real time.

Competitor comparison


Next steps

Assign Phone Numbers

Link phone numbers to your campaign to start sending.

10DLC Rate Limits

Understand throughput based on your brand’s vetting score.

Event Notifications

Receive real-time webhooks for campaign status changes.

Send Your First Message

Start sending once your campaign is approved.