Meta Rejection Prevention & Troubleshooting

When a template is submitted in SMSPort, Meta uses automated machine learning filters and human reviewers to evaluate the content. If a template violates WhatsApp Business policies, it will be flagged with the red Rejected status badge.

This guide details the most common reasons why Meta rejects templates and provides exact step-by-step solutions to fix them.


The 8 Most Common Rejection Reasons

Top Causes of WhatsApp Template Rejections
Meta AI Filter Data
Category Mismatch (Promotions submitted under Utility) 40%
Floating or Vague Variables (Lack of text context) 20%
Variables at the Very Start or End of Message 15%
Missing or Unrealistic Sample Values 10%
Banned URL Shorteners (bit.ly, tinyurl) & Formatting Abuses 15%

1. Category Mismatch (Most Frequent)

  • What happens: You submit a template under the UTILITY category, but the body text contains promotional or sales language.
  • Prohibited words in Utility: "discount", "special offer", "flat 50% off", "free gift", "buy now", "limited period", "sale".
  • Why Meta rejects it: Utility messages are charged at a lower fee tier. Meta strictly prevents marketing broadcasts from masquerading as utility notifications.
  • The Solution:
    • If the template includes ANY promotion, change the Category dropdown to MARKETING.
    • If it is a legitimate transactional update (e.g. order tracking or appointment reminder), strip out all sales slogans and focus solely on the customer's transaction details.

2. Floating or Vague Variables

  • What happens: The template consists almost entirely of dynamic parameters with very little descriptive text.
  • Example of Rejected Message:
    Hello {{1}}, {{2}} is {{3}}. Please visit {{4}}.
  • Why Meta rejects it: Reviewers cannot determine what the message is about. Spammers often use floating variables to bypass text filters.
  • The Solution: Add complete, descriptive context surrounding every variable:
    Hello {{1}}, your appointment with Dr. {{2}} has been confirmed for {{3}}. Please visit our reception at {{4}} 15 minutes before your time slot.

3. Variables at the Beginning or End

  • What happens: Starting or ending the message body with a bare variable token.
  • Rejected:
    {{1}}, your lab report is ready for download.
    Your lab report is ready. Download it here: {{1}}
  • The Solution:
    • Precede opening variables with a greeting word: Dear {{1}}, ... or Hello {{1}}, ....
    • Follow closing variables with closing words or punctuation: ...download it here: {{1}} at your convenience.

4. Consecutive Variables Without Separation

  • What happens: Placing two variable tokens directly next to each other:
    Your booking for {{1}}{{2}} is confirmed.
  • Why Meta rejects it: Meta cannot distinguish where one variable ends and the next begins.
  • The Solution: Separate variables with clear punctuation or connecting words:
    Your booking for {{1}} on {{2}} is confirmed.

5. Using URL Shorteners in CTA Buttons

  • What happens: Entering shortener domains such as bit.ly, tinyurl.com, rb.gy, or goo.gl in a Visit website button.
  • Why Meta rejects it: URL shorteners hide the real destination URL and are heavily abused by phishing actors.
  • The Solution: Always provide the full canonical domain name:
    • Rejected: https://bit.ly/sehat-report
    • Approved: https://smsport.in/reports/download

6. Missing or Blank Sample Values

  • What happens: Submitting a template with variables {{1}} or {{2}} while leaving the Samples Text input fields empty.
  • Why Meta rejects it: Meta reviewers require realistic samples to verify that the template behaves as intended and does not distribute spam.
  • The Solution: Always fill in every sample box with realistic text (e.g. John Doe, Order #1042, 15th August 2026).

7. Language Code Mismatch

  • What happens: Selecting English (en) in the language dropdown, but typing the message body in Hindi (Devanagari script), Urdu, or Arabic.
  • Why Meta rejects it: The language header does not match the actual character set in the message.
  • The Solution: Ensure the selected Template Language Code matches the primary language of the text. For Hindi messages, select Hindi (hi).

8. Punctuation & Formatting Abuses

  • What happens:
    • Excessive capitalization: HUGE DISCOUNT SALE TODAY ONLY!!
    • Repeated punctuation marks: Click here to book now!!!!!????
    • Excessive emojis: Stacking 5 or more emojis together.
  • The Solution: Use standard sentence casing, professional punctuation, and limit emojis to 1 or 2 tasteful icons.

Step-by-Step Template Revision Flow

If a template is rejected:

Step-by-Step Re-submission Workflow
1. Identify Error

Locate the red Rejected badge in your templates table.

2. Increment Suffix

Meta requires a new name. Change order_alert to order_alert_v2.

3. Fix Content

Switch category to Marketing, surround variables with words, fill samples.

4. Fast Re-approval

Submit new version; clean templates approve in 1–5 minutes.

  1. Note the reason for rejection (review the guidelines above).
  2. Because Meta does not permit changing the category or structure of an existing rejected template under the same name, create a new revision with an incremented suffix (e.g. change promo_blast to promo_blast_v2).
  3. Apply the necessary corrections: adjust the category, add descriptive context around variables, and fill in complete sample values.
  4. Submit the revised template. Meta's automated checks will typically approve clean templates within a few minutes.

Meta Cloud API Error Codes & Troubleshooting Reference

When managing templates or sending WhatsApp messages, Meta Cloud API may return synchronous Graph API errors or asynchronous webhook failure codes. SMSPort automatically decodes the code, details, error_user_msg, and fbtrace_id fields to surface exact operational guidance directly in the console.

Below is the complete reference table of WhatsApp Cloud API error codes and their resolutions:

Code Title / Scenario Root Cause Operator Resolution
0 Auth / Temporary Temporary Meta service glitch or transient network failure. Retry the request after a short interval.
1 / 2 Temporary Service Error Internal Meta Graph API service issue. Wait a few moments and retry. If persistent, check Meta Status.
4 App Rate Limit Hit Your Meta App has made too many API calls in a short window. Throttle outbound requests; wait for the rate limit window to reset.
17 User Request Limit API calls exceeded per-user or per-WABA quota. Reduce concurrency and retry after a cool-down period.
100 Invalid Parameter Invalid field format, malformed button URL, or bad template structure. Verify template components, button definitions, and parameter casing.
190 Access Token Expired Meta System User Token expired or permissions revoked. Generate a new permanent System User Token in Meta Business Manager and update credentials.
80007 Cloud API Rate Limit Cloud API messages-per-second (MPS) ceiling reached. Enable rate-limiting queue or request a higher throughput tier from Meta.
130429 Rate Limit Hit Account or phone number messaging throughput exceeded. Throttle message dispatch queue; pause bulk campaigns temporarily.
131000 Something Went Wrong Internal WhatsApp Cloud API processing error. Retry the operation. If persistent, report to Meta Support with the fbtrace_id.
131005 Access Denied Permission missing for the requested WABA or phone asset. Verify system user has full WhatsApp Business Account management permissions.
131008 Required Parameter Missing A required field (such as messaging_product or template.name) was omitted. Ensure all mandatory fields are provided in the payload.
131009 Parameter Value Invalid A value format is illegal (e.g. invalid phone number format or bad component type). Validate parameter values against the official Meta Cloud API specifications.
131016 Service Unavailable WhatsApp Cloud messaging cluster temporarily down. Retry with exponential backoff.
131021 Recipient Equals Sender Outbound message sent to the business's own phone number. Recipient phone number must be different from the sender phone number.
131026 Message Undeliverable Recipient number does not have an active WhatsApp account or has blocked the business. Verify the destination number is registered on WhatsApp.
131042 Business Account Ineligible / Payment Issue Meta WABA has unpaid invoices, unverified credit line, or payment method error. Open Meta Business Manager > Billing and resolve outstanding balances or payment methods.
131045 Incorrect Certificate Encryption certificate mismatch on the sender phone number. Re-register the phone number certificate in WhatsApp Manager.
131047 24-Hour Window Closed Free-form session message sent after 24 hours of user's last message. You must use an approved WhatsApp Template message to re-engage the customer.
131051 Unsupported Message Type Media or message format not supported by Cloud API. Check supported formats (JPEG, PNG, MP4, PDF) and file size constraints.
131052 Media Download Error Meta could not download media from the provided URL. Ensure the media URL is publicly accessible with valid HTTPS certificates.
131053 Media Upload Error Uploaded media exceeds size limits or corrupted headers. Optimize media: max 5MB for images, 16MB for video/audio, 100MB for documents.
132000 Param Count Mismatch Number of template variables in payload does not match template definition. Check template body: if template has {{1}} and {{2}}, provide exactly 2 variables.
132001 Template Does Not Exist Template name or language was not found in this WABA. Verify the exact template name and language code (e.g. en_US vs en).
132005 Hydrated Text Too Long Message text exceeds 1,024 characters after variables are replaced. Shorten body copy or provide shorter dynamic variable values.
132012 Invalid Parameter Format Named parameters used for positional template, or vice versa. Match template parameter_format setting (positional vs named).
132015 Template Paused Template quality rating dropped to RED; Meta temporarily paused sends. Check recent campaign spam reports and improve content relevance.
132016 Template Disabled Template consistently received high block/report rates and is permanently disabled. Create a redesigned template with clearer opt-in and unsubscribe options.
133000 Deregistration Incomplete Phone number was not cleanly disconnected from previous provider or WhatsApp app. Complete two-step verification PIN removal or deregister before migration.
133004 Registration Server Unavailable Meta registration servers timed out. Retry phone number registration after 5 minutes.
133005 Two-Step PIN Mismatch Entered 6-digit registration PIN does not match the account's existing PIN. Reset or provide the correct 6-digit PIN in Meta Business Manager.
133010 Phone Number Not Registered Attempted to send messages before completing 6-digit PIN registration. Register the phone number via Cloud API before sending outbound traffic.
2388002 Invalid Variable Format Body contains consecutive brackets {{{{1}}}} or non-sequential parameters. Fix variable numbering sequentially: {{1}}, {{2}}, {{3}}.
2388040 Template Already Exists A template with this exact name and language already exists in this WABA. Increment name suffix (e.g. order_update_v2) or choose another language.
2388091 Policy Violation Template content flagged for violating WhatsApp Commerce or Business Policy. Remove sensitive content (pharmaceuticals, financial schemes, adult content).
2388293 Invalid Library Button Inputs Library template button URL or phone number parameter is malformed. Ensure button URLs include valid protocols (https://) and parameters match.
2388299 Missing Library Template Inputs Library template requires mandatory custom fields that were omitted. Provide all required parameters expected by the selected library template.