The sample messages in your campaign registration are a contract: "our traffic will look like this." Reviewers judge them for compliance markers, and carriers later compare live traffic against them. Well-formed samples are formulaic, which is good news, because you can simply follow the formula.
The anatomy of a passing sample
Every sample should contain:
- Your brand name, in the message text, ideally at the start. Anonymous messages are a rejection flag and a filtering magnet.
- Opt-out language: "Reply STOP to opt out" (at minimum in marketing samples; including it in one transactional sample too signals awareness of opt-out rules).
- Realistic content matching your declared use case, such as a real reminder or a real offer, with placeholders in brackets for variable parts.
- Full-domain links only, if any:
yourstore.com/offers, never bit.ly/tinyurl. Public shorteners are an instant rejection. And if a sample contains a link, the "embedded links" flag in the form must be checked.
Passing examples by use case
Account Notification (appointments)
Bright Smile Dental: Hi [Name], reminder: your appointment is [Date] at [Time]. Reply C to confirm or call (512) 555-0148 to reschedule. Reply STOP to opt out.
Marketing (e-commerce)
Trailhead Outfitters: FLASH SALE: 25% off all hiking boots through Sunday. Shop: trailheadoutfitters.com/sale. Reply STOP to unsubscribe.
2FA / Security
Acme Analytics: Your verification code is [Code]. It expires in 10 minutes. Never share this code. If you didn’t request it, ignore this message.
Delivery Notification
Trailhead Outfitters: Good news [Name]: your order #[Order] has shipped and arrives [Date]. Track: trailheadoutfitters.com/track/[Order]. Reply STOP to opt out.
Customer Care (two-way)
Reyes Plumbing: Hi [Name], this is Carlos about your service request. Our technician can come Tuesday 9–11 AM. Does that work? Reply YES to confirm or suggest another time. Reply STOP to opt out.
Will your website pass carrier review?
Paste your URL into our free AI scanner and get an instant PASS / WARN / FAIL compliance report. No signup needed.
Run a free compliance scanThe rejection patterns
- No brand name. "Your appointment is tomorrow at 10," but from whom? Every sample self-identifies.
- Zero opt-out anywhere. At least the marketing/recurring samples must show STOP language.
- Samples that don’t match the use case. A promo sample in an Account Notification campaign tells the reviewer your declaration is wrong, which means rejection either way.
- Shortened or mismatched links. Public shorteners are prohibited; and linking a domain unrelated to your registered website raises fraud flags.
- Prohibited content. Anything SHAFT-adjacent in samples, even jokingly, is disqualifying.
- Real personal data. Use [Name]-style placeholders, never actual customer data.
How many samples, and how varied?
Provide 2–5 samples covering the range of what you send: if your campaign does reminders and review requests, show one of each. Live traffic that departs wildly from your samples risks filtering and campaign audits later. When your messaging evolves genuinely, update the samples. Samples, description, and your website’s opt-in story must agree; that coherence is what reviewers are actually testing.
Frequently asked questions
Do transactional messages legally need opt-out language in every message?
Carrier best practice (CTIA) expects opt-out instructions at least in the first message and periodically thereafter; marketing messages should carry them consistently. In registration samples, showing STOP language costs nothing and visibly signals compliance.
Can I use my own branded short domain in samples?
Yes. A branded shortener on a domain you own and registered (e.g. txt.yourstore.com) is acceptable. What gets rejected are public shared shorteners (bit.ly, tinyurl) where the destination is opaque.
Will my messages be blocked if they differ from the samples?
Reasonable variation is fine; samples are representative, not literal templates. Systematic divergence (declared reminders, actual crypto promos) is what triggers filtering and campaign suspension.