Skip to content
A2PCheck

10DLC sample message checker — review campaign samples for readiness

Check whether your A2P 10DLC campaign sample messages are ready for carrier review. Carriers and TCR examine the sample messages you submit alongside your campaign description to verify use-case alignment, consent-language completeness, and brand clarity.

Guidance only — A2PCheck is independent and not affiliated with Twilio, The Campaign Registry, or any carrier, and we can't guarantee approval. Sample requirements reflect common carrier patterns and may not capture every provider-specific rule.

What carriers look for in campaign samples

  • Brand identifier at the start of every sample (e.g. 'Acme:') — so reviewers can confirm who is messaging.
  • Specific content that reflects the declared use case: a promo code, an order status, an appointment time.
  • Reply STOP to opt out — required on promotional samples; transactional samples vary but brand prefix is still expected.
  • HELP keyword referenced when the campaign has a HELP responder configured.
  • Msg&data rates may apply — standard rate disclosure for promotional campaigns.
  • Message frequency indicator — 'Msg freq varies' or a fixed count where the rate is predictable.
  • Clean URL from your own domain or a branded short link — generic shorteners (bit.ly, t.co) trigger flags.
  • Two distinct samples that demonstrate the campaign use case — near-duplicates reduce reviewer confidence.

Sample messages are campaign registration inputs, not individual customer messages

You submit sample messages as part of your A2P 10DLC campaign registration — not one-at-a-time as you send them. Carriers use them to verify that your declared use case (marketing, 2FA, appointment reminders) is consistent with what you actually plan to send. The checker evaluates readiness at that registration level: brand clarity, opt-out wording, use-case fit, and cross-field consistency with the campaign description and website.

Bad vs. good examples by use case

Requirements differ by campaign type. Each example below shows the same use case handled poorly then correctly. For a full checklist and additional patterns, see the sample message checklist.

Marketing / Promotional

Needs work

Hi! Check out this week's sale at acme.com
  • No brand prefix — reviewers can't verify who sent it.
  • No opt-out wording (STOP).
  • No rate or frequency disclosure.
  • Vague content — 'this week's sale' is not specific.

Ready-shape

Acme: 20% off sitewide through Sunday. Shop acme.com/sale. Msg&data rates may apply. Msg freq varies. Reply STOP to opt out, HELP for help.
  • Opens with brand name.
  • Specific offer with a real destination URL on the brand's own domain.
  • Rate disclosure and frequency noted.
  • STOP and HELP both surfaced.

2FA / Authentication

Transactional 2FA messages generally don't require STOP wording, but a brand prefix and specific content are still expected.

Needs work

Your code is 482917
  • No brand prefix — recipient cannot tell which service sent the code.
  • No expiry or support link.

Ready-shape

Acme: Your one-time login code is 482917. Expires in 10 min. Didn't request this? Visit acme.com/security.
  • Opens with brand name.
  • Expiry information sets clear expectation.
  • Escalation path provided without a generic short link.

Appointment / Delivery reminder

Reminder messages are transactional and don't typically require STOP, but a brand prefix and actionable content are expected.

Needs work

Hi, your appointment is tomorrow. Don't forget!
  • No brand prefix.
  • No appointment details — date, time, provider, or location.
  • No action path for the recipient.

Ready-shape

Acme Dental: Reminder — Thu 6/26 at 2pm with Dr. Rivera. Reply CONFIRM or CANCEL. Questions? acme-dental.com/contact.
  • Brand name leads.
  • Specific appointment details: date, time, provider.
  • Clear action options (CONFIRM / CANCEL).
  • Support link on the brand's own domain.

Sample messages are just one piece of the campaign packet

Even well-written samples can fail review if the campaign description is vague, the opt-in flow is undocumented, or the privacy policy lacks SMS-specific disclosures. Use the scanner above to check the full packet together. If this campaign was previously rejected, the resubmission checklist walks through every field that needs attention before you resubmit.

Frequently asked questions

What are 10DLC campaign sample messages?

Campaign sample messages are representative examples of the SMS copy your business plans to send, submitted alongside your campaign description during A2P 10DLC registration. They are not individual customer messages — they are templates that let carriers and TCR verify that your campaign matches its declared use case and consent path. You typically submit two or more distinct examples.

How many sample messages do I need to submit?

At least two. Carriers expect the samples to span different message types relevant to your use case — not near-duplicates. For a mixed promotional-and-transactional campaign, submitting one of each type demonstrates the full scope of what you plan to send.

Do all campaign types require STOP wording in sample messages?

Promotional and marketing samples must include opt-out language (Reply STOP). Transactional samples — 2FA codes, order confirmations, appointment reminders — generally do not require STOP wording, but they still require a brand prefix and message-specific content. When in doubt, include it: it doesn't hurt transactional campaigns and removes an easy rejection trigger.

What makes a sample message fail carrier review?

Common failure patterns: no brand prefix, vague content ('check out our offer'), missing STOP on promotional samples, generic link shorteners like bit.ly or t.co, samples that don't match the use case declared in the description, and two samples that are near-identical. The scanner checks all of these.

Can I check my own sample messages here?

Yes. Paste your campaign description, your sample messages, opt-in flow, and policy URLs into the scanner below. The scanner evaluates the samples as part of the full campaign packet — not just the message bodies in isolation — because carriers compare the samples against the description, consent path, and website.

Free — no signup required

Check your campaign sample messages

Paste your campaign description, sample messages, opt-in flow, and policy URLs. The scanner evaluates the samples as part of the full campaign packet and flags patterns that commonly cause rejection.

Independent pre-submission check
No Twilio or TCR submission
Use campaign metadata, not customer PII

Use representative templates and public URLs only. Do not paste real customer phone numbers, customer records, API keys, or internal/signed URLs.

New here? Try a realistic example

Load a complete, carrier-friendly campaign to scan in one click — then tweak it for your own.

01

Campaign Info

Basic details about your messaging campaign.

0 characters — Too short — describe who opts in, what you send, and how often.

02

Sample Messages

Provide at least 2 example messages you'll send.

STOP foundHELP foundchecked across your keywords & messages
03

Opt-In / Message Flow

How users consent to receive your messages.

Consent evidence readiness

Describe where and how subscribers consent — name the opt-in location and the consent language they agree to.

  • Name the opt-in location (web form, checkout, keyword, QR code, paper form, etc.).
  • Spell out the consent language — what the subscriber explicitly agrees to.
  • State the message frequency (e.g. recurring, varies, msgs/month).
  • Include a "Message and data rates may apply" disclosure.
  • Link a privacy policy describing how you handle subscriber data.
  • Clarify that consent isn't a condition of purchase, where that applies.
  • Capture and retain opt-in evidence (timestamp, source URL, exact consent text/screenshot) for each subscriber.

Guidance only — consent requirements can vary by use case and jurisdiction.

or sign up to run a Full scan
Run a free pre-scanSample message checklist