10DLC rejection reasons · Critical
Sample messages are placeholders or too generic
Placeholder samples like "Hello, this is a test" get campaigns rejected. Reviewers want to see the real messages you will send.
Not sure this is your reason? Paste your rejection into the free lookup →
Rejection said “Sample messages are not realistic or appear to be placeholders”? Decode that exact wording →
Haven't submitted yet? Start your registration, the guided pre-submission flow →
Sample messages are how a carrier judges what your traffic will actually look like. If you submit "Hi" or "This is a test message" or an obviously templated placeholder, the reviewer has nothing to evaluate and assumes the worst, so they reject. Samples have to read like real messages a real customer would receive from your business.
A strong sample names your brand so the recipient knows who is texting, matches your declared use case, and shows the variables you actually use, written as {name}, {date}, or {order_id}. At least one sample, usually the first message a customer gets, should include opt-out language. Keep them under 160 characters where you can, and never use public link shorteners like bit.ly, which are heavily filtered.
Fixing this is usually quick: replace the placeholders with two or three realistic messages that match your use case and identify your brand. Paste your rejection into Fix and it will generate compliant, pre-scored samples for your exact use case.
The fix
Provide 2-3 realistic messages that match the declared use case, include the brand name, and show any {variables} you actually use.
Paste your rejection and rebuild the package →Rejected on a specific provider?
Same reason, walked through for your provider's dashboard.
Common questions
How many sample messages do I need for 10DLC?
Two to three realistic samples is the norm. They should reflect your actual traffic, name your brand, match your declared use case, and include at least one message with opt-out language.
Can I use {name} and {date} placeholders in samples?
Yes. Showing real variables like {name}, {date}, or {order_id} is expected and helps, as long as the surrounding message is realistic and matches your use case. What gets rejected is a whole message that is just a placeholder or a test.