Keyword opt-in requires both the keywords and the confirmation text
The requirementstatement
A keyword-based opt-in must populate both the opt-in keywords and the opt-in confirmation message.
- 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.optin_keywords + campaign.optin_message
- 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
- TCRTwilioBandwidthAWS
- When it appliesapplicabilityText
- Applies when consent was collected by text-to-join keyword.
Why this rule existsrationale
How to fix itremediation
Populate campaign.optin_keywords with the keyword your signage advertises, and write the confirmation message carrying brand, frequency, rates, HELP and STOP. Done when texting the keyword would produce that exact reply.
A compliant exampleexample
optin_keywords: JOIN, START · optin_message: "Acme Coffee: you're subscribed to offers. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel."
Common mistakespitfalls
- The keyword in the campaign must match the keyword on the signage exactly — JOIN and JOINUS are different programmes to a reviewer comparing the two.
Rules you will hit next
Other campaign rules at the same severity. A registration is judged as a whole, not rule by rule.
CMP-096 is one of 94 campaign rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.