Message template approval
The template lifecycle, common rejection reasons, and approval best practices.
Message template approval
Every business-initiated template is reviewed by Meta before it can be sent. Callduck submits your template and mirrors the result; the approve/reject decision is Meta's, not Callduck's.
Categories
- Marketing — offers, promotions, newsletters
- Utility — order/appointment updates tied to a specific transaction
- Authentication — one-time passcodes
Choosing the wrong category is a frequent rejection cause — a promo labelled Utility will be rejected.
Lifecycle
- Draft in Callduck.
- Submitted to Meta for review.
- Approved — usable for sending, or Rejected — with a reason.
Callduck syncs this status onto the template (and surfaces the rejection reason) via message_template_status_update and template sync.
Variable rules
- Use sequential placeholders:
{{1}},{{2}}, … with no gaps. - Don't start or end the body with a variable, and don't place two variables back-to-back.
- Provide realistic sample values so reviewers can judge intent.
Common rejection reasons
- Wrong category (marketing content submitted as utility/authentication)
- Missing opt-out language on marketing templates (e.g. "Reply STOP to unsubscribe")
- Placeholder, abusive, or non-compliant content
- Broken or floating variables
Best practices
> Keep one clear purpose per template, match the category to the content, write realistic copy, and always include an opt-out line on marketing templates. After fixing a rejection, resubmit — re-review is still Meta's decision.
تذكير: تبدأ كال داك في الوضع التجريبي الذي لا يرسل رسائل حقيقية. اربط بيانات اعتماد منصة واتساب للأعمال الرسمية الخاصة بك للانتقال إلى التشغيل الفعلي.