Description, samples and content

Sample messages rejected: how to write samples reviewers approve

Codes: Twilio 30893, 30538, 30499, 30911 · DCA 602, 603 · Proxy 6012-6014 · TCR SAMPLE_MESSAGE
Last reviewed by Adam Hale

Short answer

Samples must look like real messages you will send: start with your brand name, match the use case you selected, give at least one sample for each use case, and show full links on your own domain. Add “Reply STOP to opt out” to at least one, or to all of them to be safe.

What you'll see

WhereCodeWording
Twilio (10DLC)30893“Campaign vetting rejection - Inconsistency between Sample Message and Use-case”
Twilio (both)30538“A message sample is missing for a selected use case”
Twilio (toll-free)30499“Toll Free verification rejection - Message content doesn't align with use case”
Twilio (10DLC)30911“Campaign rejected: Duplicate template text; each field must be unique”
Telnyx, Bandwidth602 / 603Samples don't match the selected use case / brand, website, description and samples are inconsistent
Bandwidth Proxy, Infobip6012 / 6013 / 6014Samples lack the brand / use a public URL shortener / don't match the use case
The Campaign RegistrySAMPLE_MESSAGE“Sample messages must align with the declared use case and must not include disallowed content or public URL shorteners.”

Text in curly quotes is the provider's wording; the rest is our summary.

Why it happens

How to fix it

  1. Write 2 to 5 samples (Twilio's range), one per use case or sub-use case.
  2. Start every sample with your brand name, as registered or as your DBA. Twilio and HighLevel ask for it in at least one sample; Bandwidth, the Proxy vetting partner and Vonage want it in all of them.
  3. Make each sample match its use case: reminders look like reminders, promotions look like promotions.
  4. Use square brackets for variable parts, e.g. [First name], [time]. Never use merge-tag syntax ({{name}}). Vonage advises writing concrete values instead (“Dear Alex”), which also works everywhere.
  5. Show full links on your own domain with https://, never [link] or a public shortener.
  6. End at least one sample, preferably all, with “Reply STOP to opt out.”
  7. On toll-free, prefix each sample with its use case, e.g. “ACCOUNT NOTIFICATIONS: …”, as Twilio's guide asks.

Gets rejected

Hi {{first_name}}! Check this out: bit.ly/3xYz

Gets approved more often

Bright Smile Dental: Hi [First name], this is a reminder of your cleaning on [date] at [time]. Reply C to confirm or call (512) 555-0134 to reschedule. Reply STOP to opt out. Bright Smile Dental: [First name], your new patient forms are ready at https://brightsmiledental.com/forms. Reply STOP to opt out.

Field limits

The Campaign Registry accepts 20 to 1,024 characters per sample and up to five samples. Telnyx asks for samples under 160 characters. Write samples at the length you'll actually send.

Check before you resubmit. Every rejection costs days, and often another $15 vetting fee. Paste your description, message flow, samples and policy text into the free preflight check, or generate a consistent set with the campaign builder.

Frequently asked questions

Does every sample need the brand name?

Twilio and HighLevel say at least one, but Bandwidth (8101), the Proxy vetting partner (6012) and Vonage want it in all samples. Putting it first in every sample costs nothing and avoids the stricter reviewers.

Can I use placeholders like [First name]?

Square brackets are what Twilio and HighLevel ask for. Avoid merge-tag syntax like {{name}} and generic placeholders like [link] or [URL], which Twilio's toll-free guide says are not allowed.

How many samples do I need?

Twilio asks for 2 to 5 and one per selected use case. Marketing and Mixed campaigns generally need at least two. Telnyx says a Mixed campaign needs one sample per sub-use case.

Should samples include a link?

Only if your real messages will. If you include a link, tick the embedded link attribute and use a full https:// URL on your own domain.

Sources

  1. Twilio: A2P 10DLC Campaign Onboarding Guide (updated 2026-09-24)
  2. Twilio: Toll-Free Verification Onboarding Guide (updated 2026-09-24)
  3. Twilio error 30893 (accessed 2026-10-03)
  4. Twilio error 30538 (accessed 2026-10-03)
  5. Twilio error 30911 (accessed 2026-10-03)
  6. Bandwidth: DCA2 vetting rejection reasons (2026-03-17)
  7. Bandwidth: Proxy Connector vetting rejection reasons (2026-03-17)
  8. The Campaign Registry: CSP API OpenAPI spec (accessed 2026-10-03)
  9. Vonage: 10DLC campaign requirements (page dated 2025-03-17)
  10. Telnyx: 10DLC campaign compliance guide (accessed 2026-10-03)
  11. HighLevel: A2P campaign rejections, required fixes and vetting errors (modified 2026-09-09)

Rules change often and providers sometimes disagree; where they do, this page says so. This is general information, not legal advice, and no one can guarantee approval. See the disclaimer.

Related problems

Registering for clients or several industries?

The Approval Kit adds industry template packs, opt-in and policy page templates, and an agency checklist.