Setting up WhatsApp Cloud API for WooCommerce has one real obstacle: the Meta verification process. The plugin installs in minutes. The Meta side can take hours or days if you don't know exactly what to do.
This guide covers the complete process — from creating your Meta Business account to sending your first test message from your WooCommerce store.
What Is WhatsApp Cloud API and Why Does It Need Verification?
WhatsApp Cloud API is Meta's official infrastructure for sending WhatsApp messages programmatically from apps and online stores. It differs from WhatsApp Business (the mobile app) in one key way: it allows automation.
With WhatsApp Cloud API you can:
- Send automatic abandoned cart recovery messages
- Notify customers of order status updates
- Send purchase confirmations
- Scale without message limits
To access this API, Meta requires your business to go through a verification process. The reason is spam prevention — Meta wants to ensure that whoever sends bulk messages is a legitimate business.
Key Terminology
Before starting, the terms you'll encounter:
| Term | Meaning |
|---|---|
| Meta Business Manager | Control panel for all your Meta assets (pages, ad accounts, WhatsApp) |
| WABA | WhatsApp Business Account — the account you connect to the API |
| Phone Number | The phone number associated with your WABA |
| Template | A Meta-approved message you can send to users |
| Business Verification | The process by which Meta verifies your business exists |
Prerequisites
Before starting you'll need:
- A phone number not currently registered on WhatsApp (personal or Business). Can be mobile or landline. If the number already has WhatsApp, you'll need to delete it first.
- Business documentation: depending on your country, company registration documents, bank statement with business name, or articles of incorporation.
- Corporate email domain: Meta distrusts Gmail/Hotmail for business accounts. Use you@yourbusiness.com.
- Website with own domain: your WooCommerce store must have an active custom domain.
Step 1: Create a Meta Business Manager Account
- Go to business.facebook.com
- Click "Create account"
- Enter:
- Business name (use your company's legal name)
- Your name
- Corporate email (not Gmail)
- Verify the email
- Complete the business profile: address, phone, website
Common mistake: using your personal name instead of the legal business name. Meta cross-references this with the documentation you submit later. If they don't match, the verification process fails.
Step 2: Business Verification
This is the most critical step and where most people get stuck.
How to Start Verification
- In Meta Business Manager, go to Settings → Security Center
- Find the "Business Verification" section
- Click "Start Verification"
Available Verification Methods
Meta offers several methods depending on your country:
| Method | Availability | Time |
|---|---|---|
| Website domain | Global | 5–10 min |
| Bank statement | US/EU/Global | 1–5 business days |
| Official business document | US/EU/Global | 1–5 business days |
| Phone call | Selective | Immediate |
Recommendation: use domain verification first — it's the fastest. If it fails, move to bank statement or business documents.
Domain Verification (Fastest Method)
- Select "Website domain"
- Meta will ask you to add a metatag to your site's
<head>, or a DNS TXT record - Add the metatag to your WooCommerce site (Appearance → Theme Editor → header.php, or via an SEO plugin)
- Return to Meta and click "Verify"
If your domain is correctly configured, verification is immediate.
Document Verification (If Domain Fails)
Accepted documents (US/UK/EU):
- Articles of Incorporation — most commonly accepted
- Bank statement with business name and address (last 3 months)
- IRS/HMRC/official tax registration document
Important: the document must show exactly the same name you entered in Meta Business Manager. Minor differences (LLC vs L.L.C., abbreviations) can cause rejection.
Step 3: Create Your WhatsApp Business Account (WABA)
Once your business is verified:
- In Meta Business Manager, go to WhatsApp Manager
- Click "Add phone number" or "Create WhatsApp Business Account"
- Enter:
- Display Name — the name recipients will see on your messages
- Business category
- Description (optional but recommended)
- Add your phone number
- Verify the number via SMS or call
About the Display Name
The Display Name is what appears on the messages you send. Meta has strict requirements:
- Must clearly relate to your business
- Cannot be generic ("Online Store", "E-commerce Shop")
- Cannot include "WhatsApp" in the name
- Should match your registered trademark or business name
Valid examples: "CartPinger", "Lopez Home Store", "Martinez Fashion"
Invalid examples: "WooCommerce Store", "Best Shop Ever", "WhatsApp Sales"
Display Name approval can take up to 24 hours.
Step 4: Set Up Your App in Meta Developers
To connect the API with WooCommerce you need a Meta app.
- Go to developers.facebook.com
- Create a new app → type "Business"
- Add the "WhatsApp" product to your app
- In WhatsApp settings, connect your WABA
- Generate a permanent access token (System User Token):
- Meta Business Manager → Users → System Users
- Create a system user with "Admin" role
- Generate token → select your app → permissions:
whatsapp_business_messaging,whatsapp_business_management - Save the token — it's only shown once
Common mistake: using the temporary test token (expires in 24h) instead of the System User Token. Always generate a system user token.
Step 5: Create and Get Message Templates Approved
To send cart recovery messages you need Meta-approved templates. You cannot send free-form text in business-initiated messages.
How to Create a Template
- In WhatsApp Manager → Message Templates
- Click "Create template"
- Configure:
- Category: Marketing
- Language: English (or your store's language)
- Name: (no spaces, lowercase and underscores only) e.g.:
abandoned_cart_reminder
Template Structure
An abandoned cart template has three parts:
Header (optional):
Product image (variable: WooCommerce product image)
Body (required):
Hi {{1}}, you left some items in your cart.
Your order is waiting:
{{2}} — {{3}}
Ready to complete your purchase?
Where {{1}} = customer name, {{2}} = product name, {{3}} = price.
Buttons (recommended):
Type: URL
Text: Complete purchase
URL: https://yourstore.com/cart?token={{1}}
Template Approval Times
- Automatic approval: 1–5 minutes (most standard marketing templates)
- Manual review: 24–48h (if Meta detects content requiring review)
- Rejection: immediate with reason
Common Causes of Template Rejection
- Content that promises guaranteed results ("Save 90% guaranteed")
- URLs that don't match your verified business domain
- Templates requesting personal information (passwords, payment details)
- Overly aggressive sales language
Step 6: Connect to CartPinger in WooCommerce
With your WABA configured and templates approved, connecting to CartPinger is the simplest step:
- Install CartPinger from WP.org: wordpress.org/plugins/cartpinger-for-woocommerce
- Go to WooCommerce → CartPinger → Settings
- Enter:
- Phone Number ID (from your app in Meta Developers)
- WABA ID (from WhatsApp Manager)
- System User Token (generated in Step 4)
- Select your approved cart recovery template
- Set the timing (recommended: 60 minutes after abandonment)
- Activate the plugin
CartPinger's setup wizard guides each of these steps with specific instructions and direct links to each Meta section.
Common Problems and Solutions
"Business Verification pending for more than 5 days"
- Check that the uploaded document is legible and not expired
- Contact Meta Business support via chat (business.facebook.com → Help)
- Try domain verification if you haven't already
"Display Name rejected"
- Avoid generic names — use your exact brand name
- If you have a registered trademark, mention the registration number in the description
- Wait 24h and retry with a more specific name
"Template rejected — wrong category"
- Cart abandonment templates go under "Marketing", not "Utility"
- If rejected for URL, make sure the link domain matches your verified website
"Invalid or expired token"
- You're using the temporary test token — generate a permanent System User Token
- Verify the system user has
whatsapp_business_messagingpermissions
Real Costs of WhatsApp Cloud API
Meta charges per conversation (24h window), not per individual message:
| Conversation Type | Cost (US) |
|---|---|
| Marketing (carts, promotions) | ~$0.025/conversation |
| Utility (order confirmations) | ~$0.008/conversation |
| Service (customer-initiated) | $0 (first 1,000/month) |
For a store contacting 100 abandoned carts/month:
- Monthly WhatsApp cost: ~$2.50
- Estimated recovered revenue (15% conversion, $50 AOV): $750
- ROI: 29,900%
Conclusion
Meta verification has a reputation for being complicated, but following these steps in order the total time is 2–4 hours (plus document approval wait time if needed).
The critical points where most people get stuck:
- Business name — must match documentation exactly
- System User Token — don't use the temporary token
- Display Name — specific, not generic
- Templates — Marketing category, URL matches verified domain
CartPinger includes a setup wizard that guides each of these steps directly from your WooCommerce dashboard.
→ Download CartPinger free on WordPress.org
→ How to Recover Abandoned Carts in WooCommerce (full guide)
→ Email vs WhatsApp for Cart Recovery: 2026 Data
Stuck on a specific step? Open an issue on GitHub with your case.

