Opt-out keyword handling must be declared, not assumed
The requirementstatement
The campaign must declare an opt-out keyword set, and that set must be the one the sending platform is configured to honour.
- 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.optout_keywords
- Where it liveslayer
- OperationalOPERATIONAL
- 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
- FCCCTIATCR
- When it appliesapplicabilityText
- Applies to every 10DLC registration.
Why this rule existsrationale
How to fix itremediation
Declare the full keyword set your platform honours, then verify in the platform that each one actually triggers an opt-out. The declaration and the configuration must match.
A compliant exampleexample
STOP, QUIT, END, REVOKE, OPTOUT, CANCEL, UNSUBSCRIBE
Notesnotes
Rules you will hit next
5 other rules read campaign.optout_keywords. Fixing one field to satisfy a single rule is how a resubmission trades one rejection for another, so read these before you change anything.
OPS-027 is one of 139 operational rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.