A URL mentioned in the CTA must also be given as a link field
The requirementstatement
Any URL referenced inside the message-flow text must also be supplied in the structured link fields.
- Severityseverity
- HighHIGHRejected by at least one carrier or provider, and a common cause of failure at the rest.
- When it bitesphase
- Gates approvalapprovalGet this wrong and the brand or campaign is refused at registration.
- What is checkedobject
- campaign.message_flow ↔ campaign.privacy_url + terms_url
- Where it liveslayer
- CampaignCAMPAIGN
- How Ekas settles itdetectability
- AI · formAI_FORM
- A semantic question about what you wrote: whether a description matches a use case, whether a name looks like a filed entity. Judged by a model against written criteria.
- What the fix involvesfailureClass
- Fix the fieldRETRY_FIELD
- A better value in the form fixes it. Ekas can rewrite it and re-check.
- Who requires itauthorities
- Bandwidth
- When it appliesapplicabilityText
- Applies to every 10DLC registration.
Why this rule existsrationale
How to fix itremediation
Copy each URL out of the flow text into the field built for it — privacy policy, terms, opt-in page — leaving it in the prose as well. Done when every link in the flow also appears in a structured field.
A compliant exampleexample
The flow mentions https://acmecoffee.com/privacy → the privacy policy field also carries https://acmecoffee.com/privacy.
Provider rejection codescodes
The code you get back when this rule is what failed, and whether that provider lets you resubmit.
| Provider | Code | Resubmit |
|---|---|---|
| Bandwidth | 2120 | Yes |
Rules you will hit next
Other campaign rules at the same severity. A registration is judged as a whole, not rule by rule.
CMP-069 is one of 94 campaign rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.