embeddedLink must match whether samples actually contain links

The requirementstatement

The embeddedLink attribute must be true when any sample contains a URL, and a sample must contain a URL when it is declared true.

Severityseverity
BlockingBLOCKINGBreaking this rule gets the submission rejected. There is no partial credit.
When it bitesphase
Gates approvalapprovalGet this wrong and the brand or campaign is refused at registration.
What is checkedobject
campaign.embedded_link + campaign.sample[]
Where it liveslayer
CampaignCAMPAIGN
How Ekas settles itdetectability
DeterministicDETERMINISTIC
Settled in code from the values you submitted. No model involved, no judgement call, same answer every time.
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
TCRTwilioAWSBandwidth
When it appliesapplicabilityText
Applies to every 10DLC registration.

Why this rule existsrationale

The embedded-link attribute drives carrier filtering, so a mismatch between the declaration and the samples misroutes the campaign's traffic. It fails in both directions: undeclared links look like evasion, and a declared-but-absent link means the campaign was registered for treatment it does not need.

How to fix itremediation

Set the "messages contain links" flag to match your sample messages, in both directions.

A compliant exampleexample

Samples contain https://acmecoffee.com/sale → set "messages contain links" to true.

Notesnotes

Bidirectional. The current contentFlags scanner only checks one direction, and does so with a stateful /g regex.

Rules you will hit next

One other rule reads campaign.embedded_link + campaign.sample[]. Fixing one field to satisfy a single rule is how a resubmission trades one rejection for another, so read these before you change anything.

All campaign rules

CMP-LINK-DECL is one of 94 campaign rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.

Reading the rules is the easy part.

Ekas runs every rule that gates approval, 823 of these 915, against your registration before it reaches the carrier. It reads your site, your policy pages and your opt-in the way a reviewer would, and hands you the fix, not just the verdict.