Any message you send outside an open 24-hour conversation window must use a template approved in advance. Review is mostly automated, usually takes minutes, and follows rules that are more predictable than their reputation suggests.
What review is checking
- Category honesty. Does the content match the category you chose? A discount offer submitted as Utility is the single most common rejection.
- Variable safety. Can the placeholders be filled with something abusive or nonsensical? Templates that are mostly variable get refused.
- Content policy. Prohibited or restricted goods, misleading claims, requests for sensitive data.
- Basic quality. Spelling, formatting, and whether the message makes sense to a recipient with no context.
Why two similar templates get different answers
Usually the category. "Your order 12345 has shipped" is Utility — it follows from a transaction. "Your order shipped, and here is 10% off your next one" is Marketing, because it promotes. Same event, different category, and submitting the second as the first will fail.
The other frequent cause is variable ratio. "Hi {{1}}, {{2}} is now {{3}}" gives a reviewer nothing to assess. Anchor variables in fixed text that makes the purpose obvious.
Never start or end a template with a variable, and never place two variables next to each other. Both are rejected on sight, and both are trivial to avoid by adding a word of surrounding context.
Writing one that passes
- Say who you are. A recipient should know the sender from the message alone.
- Keep variables to what genuinely varies — a name, an order number, a date, an amount.
- Put real example values in the sample fields. Reviewers use them; "test" or "xxx" invites rejection.
- Match tone to category. Utility should read like a receipt, not an advertisement.
- Include an opt-out line on marketing templates. It is not always mandatory, and it consistently helps both approval and quality.
A template that passes, and one that does not
Passes (Utility): "Hi {{1}}, your Northline order {{2}} has been dispatched and should arrive by {{3}}. Track it here: {{4}}. Reply to this message if anything looks wrong."
Fails (submitted as Utility): "{{1}}, don't miss out! {{2}} off everything until {{3}}. Shop now {{4}}" — it opens with a variable, it is promotional content in the wrong category, and it identifies nobody.
When you are rejected
Do not resubmit unchanged. Change the category first if there is any promotional intent at all; that alone resolves a large share of rejections. Then reduce the variable count and add identifying context.
Repeated rejections against one account do accumulate, so treat the third attempt as a signal to rewrite the message rather than adjust it.
Practical habits
Submit templates well before you need them — the median is minutes but the tail is a day or more, and a campaign blocked on approval is an avoidable self-inflicted wound. Keep a small library of proven patterns and vary the copy within them rather than inventing new structures each time. Approved templates are an asset; treat them like one.