Get CartPinger running in 15 minutes
Connect your WooCommerce store to WhatsApp Cloud API end-to-end. Follow the video, or the written steps below — they say the same thing.
External video walkthrough. The steps below stay in sync with the latest Meta dashboard.
Before you start
You'll need three things ready:
- A Meta Business Account (free — you can create it during step 1).
- A phone number that is not currently used on personal WhatsApp. A landline works.
- Access to your WordPress admin to install the plugin.
Tip: open Meta in one tab and your WordPress admin in another. You'll be jumping between them.
The 7 steps
Create a Meta Business Account
Go to business.facebook.com and click Create account. Use your real business name and email — Meta verifies this later.
This account is the legal owner of your WhatsApp Business Account (WABA). If you already have a Business Manager set up, skip to step 2.
Create an app at developers.facebook.com
Go to developers.facebook.com/apps → Create app.
- App type: Business.
- Add use case: Other → continue → on the next screen add the WhatsApp product.
- When prompted, link the Business Account you created in step 1.
You're now in the WhatsApp setup section of your new app.
Get Phone Number ID and WABA ID
From the left menu, open WhatsApp → API Setup. You'll see a test phone number Meta provides for free.
Copy these two values somewhere safe:
Phone number ID— the long number under "From".WhatsApp Business Account ID— the WABA ID at the top.
Below, click Add phone number to register your own number (the one from "Before you start"). Verify it via SMS or voice call.
Important: once verified, this number is bound to the WhatsApp Business API. You cannot use it on the regular WhatsApp app anymore.
Generate an Access Token
On the same API Setup screen there's a 24-hour Temporary access token. Copy it — it's enough to test CartPinger right now.
For production, you need a permanent token:
- Open business.facebook.com/settings/system-users.
- Click Add → create a System User (Admin role).
- On that user → Generate new token → select your app → permissions:
whatsapp_business_messagingandwhatsapp_business_management. - Set expiry to Never. Copy the token immediately — Meta only shows it once.
Get the App Secret
In developers.facebook.com/apps open your app → App settings → Basic.
Find App secret → click Show → confirm with your Facebook password → copy the value.
CartPinger uses the App Secret to validate the X-Hub-Signature-256 on Meta webhooks (HMAC-SHA256). Without it, delivery and read receipts won't update.
Install CartPinger and paste the credentials
In your WordPress admin: Plugins → Add new → Search "CartPinger" → Install → Activate.
Open CartPinger → Setup. Paste the four values:
- Phone Number ID
- WhatsApp Business Account ID (WABA ID)
- Access Token
- App Secret
Click Save and test. CartPinger sends a test message to verify everything connects. If the test succeeds you're 90% done.
If the test fails: see Common issues below.
Create message templates in Meta
Meta requires every outgoing template to be approved before it can be sent. CartPinger ships with the exact wording — you just copy-paste it.
Open Meta Template Manager and create the templates listed in /docs/templates. Use the exact names — CartPinger looks them up by name.
Approval times: utility templates (order updates) are usually approved in minutes. Marketing templates (cart recovery) can take a few hours.
Common issues
Test message doesn't arrive
Meta's sandbox mode only delivers to phone numbers explicitly registered as test recipients. In your app go to WhatsApp → API Setup → To and add your personal phone number. Re-run the test from CartPinger.
Templates rejected by Meta
The most frequent reason: the template contains promotional language but you submitted it under category UTILITY. Cart recovery messages must be MARKETING. Order confirmations stay UTILITY.
Marketing templates also take longer — wait at least 4 hours before retrying.
Plugin shows "not configured"
Verify that all four credentials are saved (open CartPinger → Setup and check there are no empty fields). Pay attention to:
- Access token is a single long string with no line breaks.
- App Secret is the value, not the App ID — they sit next to each other.
- Phone Number ID and WABA ID are not the same number. WABA ID is shorter and starts with a different prefix.
Delivery and read receipts don't update
Meta sends webhook callbacks to CartPinger when messages are delivered or read. Two common causes:
- The webhook URL isn't reachable — your WordPress must be served over HTTPS with a valid certificate.
- The App Secret is wrong — webhooks fail signature validation and are rejected.
Ready to recover your first cart?
Free plan: 50 recoveries/month, no card required. Pro unlocks the full sequence and dynamic coupons.