Embedded link or phone number flag doesn't match samples (Twilio 30889, DCA 601)
Short answer
The “embedded link” and “embedded phone number” boxes must tell the truth. If any message will contain a link or phone number, tick the box and include one in at least one sample. If none will, leave it unticked. A mismatch gets rejected, and some providers need a new campaign to fix it.
What you'll see
| Where | Code | Wording |
|---|---|---|
| Twilio, HighLevel | 30889 | “Campaign vetting rejection - Embedded Phone Number” |
| Telnyx, Bandwidth | 601 | “Campaign Attributes Do Not Match Website and/or Sample Message Content” |
| Bandwidth | 3109 | Embedded Link set to true but no link in the samples |
Text in curly quotes is the provider's wording; the rest is our summary.
Why it happens
- Embedded phone ticked, but no sample shows a phone number.
- Samples contain a link or number, but the box is unticked.
- The embedded link sample field holds a public shortener.
- Other attributes also count under 601: direct lending and age-gated content must match the website and samples.
How to fix it
- Decide what real messages will contain. A “call us at…” line counts as an embedded phone number.
- Tick the matching boxes and add a realistic link or number to at least one sample.
- Put a full https:// link on your own domain in the embedded link sample (TCR limit: 255 characters).
- If the attributes can't be edited, create a new campaign. Bandwidth's guidance for 601 is to re-create it with the right attributes.
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 my own support number in the HELP reply count as embedded?
The flags describe the messages you send. If regular messages include a phone number, tick it. Many senders tick it whenever a number appears in samples or keyword replies, which is the safe reading.
Can I tick embedded link 'just in case'?
Only if a sample actually contains a link. Twilio and the vetting partners reject flags that don't match the samples in either direction.
Sources
- Twilio: A2P 10DLC Campaign Onboarding Guide (updated 2026-09-24)
- Twilio error 30889 (accessed 2026-10-03)
- Bandwidth: DCA2 vetting rejection reasons (2026-03-17)
- Telnyx: 10DLC carrier error codes explained (accessed 2026-10-03)
- The Campaign Registry: CSP API OpenAPI spec (accessed 2026-10-03)
- 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
- Twilio 30893, 30538, 30499, 30911 · DCA 602, 603 · Proxy 6012-6014 · TCR SAMPLE_MESSAGESample messages rejected: how to write samples reviewers approve
- Twilio 30892, 30963, 30964, 30449 · Proxy 6013 · TF 1607Public URL shortener rejected (Twilio 30892, 30963): use branded links
- Twilio 30895, 30942, 30443 · DCA 601, 712 · Proxy 1002 · TF 1703Direct lending attribute error (Twilio 30895, DCA 712): what lenders must declare
- Twilio 30888, 30956, 30448, 30512, 30529 · DCA 601, 702, 706, 707 · Proxy 1001, 3010 · TF 1412, 1804Age gate rejections: what counts as a “robust” age gate (Twilio 30888, 30512)
The Approval Kit adds industry template packs, opt-in and policy page templates, and an agency checklist.