# MSG-103 — The page a sample links to is screened as part of the campaign

> The landing page reached from a link in a sample message must be free of prohibited content, and is screened whether or not it is on the registered brand domain.

- **Rule ID:** MSG-103
- **Layer:** Message content (`MESSAGE_CONTENT`)
- **Checks:** `campaign.sample[] URL -> landing page`
- **Severity:** BLOCKING — Breaking this rule gets the submission rejected outright.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** AI judgement over the crawled website or policy page
- **Fix type:** Fix the website — no form edit clears it
- **Required by:** Twilio, Bandwidth
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/message-content/msg-103/

## Why this rule exists

A message is three words and a link, so the link is where the content actually lives — which is why Twilio's prohibited-content scope covers "campaign descriptions, sample messages, website content, and linked URLs" rather than stopping at the registered domain. The gap this closes is real and routinely exploited: a clean sample pointing at a dispensary menu, a sportsbook offer, or an affiliate page passes every check that reads text fields. It also catches honest senders, because a campaign link often lands on a partner or marketplace page that the brand does not control and has never read as a compliance artifact.

## How to fix it

Open every URL that appears in a sample and read the page a reviewer will land on, including anything it redirects to. Where the destination carries prohibited content, point the message at a page you control that does not — and if the prohibited content is the product, the campaign is not registrable on it. Done when every linked destination could be shown to a reviewer without explanation.

## Common mistakes

- Screening only the registered brand website misses this entirely: the finding is about where the message goes, and campaigns frequently link somewhere the brand record never mentions.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Twilio (gen2) | `30953` | no |
