# MSG-149 — Samples must match the declared opt-in method

> Sample content must be consistent with how consent was collected, not only with the use case.

- **Rule ID:** MSG-149
- **Layer:** Message content (`MESSAGE_CONTENT`)
- **Checks:** `campaign.sample[] + consent method`
- **Severity:** HIGH — Rejected by at least one carrier or provider, and a common cause of failure at the rest.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** AI judgement over the submitted form
- **Fix type:** Fix the field — a better value in the form clears it
- **Required by:** CTIA, TCR, FCC
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/message-content/msg-149/

## Why this rule exists

The opt-in method sets expectations about what arrives: someone who texted a keyword for a discount code expects offers, while someone who ticked a box at checkout expects order updates. A mismatch means the consent obtained does not cover the messages sent.

## How to fix it

Align the samples with what the opt-in surface promised. Where you send more than the opt-in described, widen the disclosure rather than narrowing the samples.

## Example of a compliant value

```text
Keyword opt-in advertised as "text JOIN for offers" → samples are offers, not appointment reminders.
```
