The top 10 reasons DLT templates get rejected
90% of rejections come from the same handful of mistakes. Here's the cheat sheet.
Operators reject templates for cause. The reason codes aren't always descriptive, but the underlying issue is usually one of these.
The usual suspects
- Promotional text in a transactional template.
- Variables placed inside URLs ('visit shop.com/{#var#}' — disallowed).
- Missing opt-out in a promotional template.
- Category mismatch — 'Hurry, buy now!' submitted as service-implicit.
- Generic brand name that clashes with another PE's trademark.
- URL shortener (bit.ly, tinyurl) not registered with the operator.
- Unicode special characters (smart quotes, em-dashes) that don't match across operator systems.
- Variable slots not in the {#var#} format.
- More than 30 variables in one template (hard operator limit).
- Template identical to one already approved under another PE — considered a duplicate.
If a rejection is wrong, use the appeals flow — most legitimate templates are approved on first appeal within 48 hours.
Browse other help categories
Getting started
Create your account, add credits, and send your first message in under fifteen minutes.
SMS campaigns
Templates, DLT routing, sender IDs, delivery reports, scheduling, and retries.
WhatsApp Business API
Onboarding, template approval, chatbot flows, team inbox, quality rating, and analytics.
AI WhatsApp Agents
Train your agent, sync your catalogue, set handoff rules, and go multilingual.
Did this article help?
If something isn't clear or the steps don't match what you're seeing, tell us and we'll fix the doc the same day.