Template variables must use square-bracket notation
The requirementstatement
Personalisation placeholders in samples should use [square brackets] rather than code syntax.
- Severityseverity
- MediumMEDIUMUsually survives review, but lowers your trust score or invites a manual look you would rather avoid.
- When it bitesphase
- Gates approvalapprovalGet this wrong and the brand or campaign is refused at registration.
- What is checkedobject
- campaign.sample[]
- Where it liveslayer
- Message contentMESSAGE_CONTENT
- 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
- TCRTwilio
- When it appliesapplicabilityText
- Applies to every 10DLC registration.
Why this rule existsrationale
How to fix itremediation
Convert placeholders to square-bracket notation and give them readable names describing the value.
A compliant exampleexample
Acme Coffee: hi [first name], your order [order number] ships today. Reply STOP to opt out.
Common mistakespitfalls
- Bracket placeholders belong in samples only — never send them in live traffic.
Rules you will hit next
6 other rules read 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.
MSG-VARIABLES is one of 122 message content rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.