{
  "id": "CON-075",
  "slug": "con-075",
  "title": "A promotion must be open to people who do not join the SMS programme",
  "statement": "Participation in a promotion, loyalty scheme or offer must not require the consumer to be enrolled in text messaging.",
  "rationale": "T-Mobile puts it flatly: participation in text promotions should never be a requirement. When the only way to get the member price is to be on the list, the enrolment is the price of the discount rather than a decision about messaging, and the carrier reads the resulting numbers as coerced. Brands arrive here by building the offer around the channel — the promotion genuinely runs over SMS — without noticing they have made the channel compulsory.",
  "layer": "CONSENT_FLOW",
  "layerSlug": "consent-flow",
  "object": "promotion terms; CTA copy",
  "severity": "HIGH",
  "detectability": [
    "AI_FORM"
  ],
  "failureClass": "TERMINAL_WEBSITE",
  "authorities": [
    "T-Mobile",
    "AT&T",
    "FCC"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30475",
      "remediable": true
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Give the promotion a second route in — a web account, an email sign-up, a code at the till — and price it the same. Keep the SMS enrolment as one way to participate rather than the gate. Done when the terms describe SMS as optional and a non-subscriber can claim the same offer.",
  "example": "Join Acme Coffee Rewards online, in store, or by text. Members get 10% off however they joined; text alerts are optional and you can reply STOP at any time.",
  "pitfalls": [
    "An SMS-only tier that is materially better than every other tier is a requirement in practice, whatever the terms say."
  ],
  "notes": "Distinct from CON-076: there the prize is what buys the opt-in, here the opt-in is what buys the promotion. They fail in opposite directions and are fixed differently — 076 by decoupling the entry, this one by opening a second route in.",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/consent-flow/con-075/",
  "markdown": "https://ekas.io/rules/10dlc/consent-flow/con-075.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
