How to Set Up WooCommerce WhatsApp Order Notifications
Why WhatsApp Order Notifications Beat Email
Here's a scenario every WooCommerce store owner knows: a customer places an order, your store sends a confirmation email, and that email lands in the Promotions tab. Or spam. Or gets lost in an inbox with 4,000 unread messages. The customer then contacts you asking "did my order go through?"
WhatsApp solves this. Messages arrive instantly, on the device your customer is already holding. They see a notification pop up, tap it, and confirm their order details in seconds. No hunting through email folders. No "check your spam" support tickets.
Beyond open rates, WhatsApp notifications create a direct channel for post-purchase communication. Customers can reply to their order notification to ask questions, request changes, or report issues — all within the same chat thread. This turns a one-way notification into a two-way support channel.
Prerequisites: What You Need Before Starting
1. A WhatsApp Business API Account
The WhatsApp Business App (the free one you might already use) cannot send automated messages. You need the WhatsApp Business API, which is accessed through a Business Solution Provider (BSP) or directly through Meta's Cloud API.
Option A: Meta Cloud API (Recommended for most stores)
Meta now offers the WhatsApp Business API directly through the Meta Developer Portal. It's the cheapest option — you only pay Meta's per-conversation fees with no BSP markup. Setup requires a Meta Business account and a Facebook App.
Option B: Twilio
Twilio is the most developer-friendly BSP. Their WhatsApp integration is mature, well-documented, and works with dozens of WordPress plugins. Twilio charges a small markup on top of Meta's per-conversation fees (typically $0.005 per message).
Option C: 360dialog
360dialog is popular in Europe and offers a straightforward API with lower markup than Twilio. Their WordPress integration is less mature, but they offer a good dashboard for template management.
2. A Verified Phone Number
You need a phone number dedicated to your business that isn't already registered with WhatsApp. If you're using your personal number for WhatsApp, you'll need a new number for the business API. Virtual numbers from Twilio work fine.
3. Approved Message Templates
WhatsApp requires all business-initiated messages to use pre-approved templates. You submit templates through your BSP or the Meta Cloud API dashboard, and Meta reviews them (usually within minutes, sometimes hours). Templates can include variables like {{order_number}}, {{customer_name}}, and {{total}}.
Method 1: Using Joy Of Text + Twilio (Easiest Plugin Route)
Step 1: Set Up Twilio
Create a Twilio account at twilio.com. Navigate to Messaging → Try it Out → Send a WhatsApp Message. Twilio provides a sandbox for testing before you go live. Once tested, apply for a Twilio WhatsApp sender through their console. This typically takes 1-2 business days for approval.
Step 2: Install Joy Of Text
Install the Joy Of Text plugin from the WordPress repository. Go to Joy Of Text → Settings and enter your Twilio Account SID, Auth Token, and WhatsApp-enabled phone number. The plugin will verify the connection automatically.
Step 3: Configure Order Status Triggers
Navigate to Joy Of Text → WooCommerce. Here you'll map each WooCommerce order status to a WhatsApp message template. The key statuses to configure are:
- Processing: "Hi {{customer_name}}, your order #{{order_number}} has been confirmed and is being prepared. Total: {{order_total}}."
- Shipped/Completed: "Great news! Your order #{{order_number}} has been shipped. Track it here: {{tracking_url}}"
- Refunded: "Your refund for order #{{order_number}} has been processed. Amount: {{refund_amount}}."
Step 4: Add Customer Opt-in at Checkout
Joy Of Text Pro adds an opt-in checkbox to your checkout page. This is mandatory — WhatsApp requires explicit consent. The checkbox should be unchecked by default (required in the EU under GDPR) with clear text like "Send me order updates via WhatsApp."
The plugin stores the customer's WhatsApp number and consent status in the order meta. Only customers who opt in will receive WhatsApp notifications.
Step 5: Test the Flow
Place a test order using your own WhatsApp number. Verify you receive the notification within seconds of the order being placed. Check the order notes in WooCommerce — Joy Of Text logs delivery status there. If the message doesn't arrive, check Twilio's dashboard for error logs.
Method 2: Using Meta Cloud API Directly (Cheapest)
Step 1: Create a Meta App
Go to developers.facebook.com and create a new app. Select "Business" as the app type. Add the "WhatsApp" product to your app. Meta will provision a test phone number and give you a temporary access token.
Step 2: Add a Permanent Phone Number
In the WhatsApp section of your Meta app, add your business phone number. Meta will verify it via SMS or voice call. Once verified, you can send messages from this number through the API.
Step 3: Create Message Templates
Navigate to WhatsApp Manager → Message Templates. Create templates for each order status. Use the "Utility" category for transactional messages — it's cheaper than "Marketing." Example template:
Template name: order_confirmation
Category: Utility
Body: Hi {{1}}, your order #{{2}} has been confirmed. Total: {{3}}. We'll notify you when it ships.
Step 4: Connect to WooCommerce via Webhook
Without a dedicated plugin, you'll need a small middleware service. The simplest approach: use a Cloudflare Worker or a simple Node.js function that listens for WooCommerce webhook events and calls the Meta Cloud API. Configure webhooks in WooCommerce → Settings → Advanced → Webhooks for order.created, order.updated, and order.completed events.
Step 5: Handle Template Variables
Your middleware extracts order data from the webhook payload and maps it to template variables. The Meta Cloud API call looks like this:
POST https://graph.facebook.com/v18.0/PHONE_NUMBER_ID/messages
{
"messaging_product": "whatsapp",
"to": "customer_phone",
"type": "template",
"template": {
"name": "order_confirmation",
"language": { "code": "en" },
"components": [{
"type": "body",
"parameters": [
{ "type": "text", "text": "John" },
{ "type": "text", "text": "WC-1234" },
{ "type": "text", "text": "$59.99" }
]
}]
}
}
Method 3: Using Multi-Channel Platforms (Best for Growth)
If you're already using a marketing platform like Omnisend, Klaviyo, or Brevo, check if they support WhatsApp as a notification channel. Most have added WhatsApp in 2024-2025. The advantage: you manage all customer communications (email, SMS, WhatsApp) from one dashboard with unified analytics.
Omnisend: WhatsApp available on Pro plan ($59/mo). Supports order notifications, abandoned cart recovery, and marketing campaigns. Native WooCommerce integration.
Brevo (Sendinblue): WhatsApp available on Business plan ($18/mo). Supports transactional messages and marketing campaigns. WooCommerce plugin available.
Klaviyo: WhatsApp in beta for select markets. Strong automation but primarily SMS-focused for now.
Message Templates That Convert
Your message templates matter. A generic "Order confirmed" message wastes the opportunity. Here are templates we've seen perform well:
Order Confirmation (creates trust):
"Hi {{name}} 👋 Your order #{{order_id}} is confirmed! Here's what you ordered: {{items}}. Total: {{total}}. We'll message you here when it ships. Reply to this message if you have any questions."
Shipping Update (reduces "where is my order" tickets):
"📦 Your order #{{order_id}} just shipped! Track it here: {{tracking_link}}. Estimated delivery: {{eta}}. We'll let you know when it arrives."
Delivered (drives reviews):
"✅ Your order #{{order_id}} has been delivered! We hope you love it. If everything looks good, we'd appreciate a quick review: {{review_link}}"
Common Pitfalls and How to Avoid Them
Getting Your Number Banned
Meta monitors quality signals for every WhatsApp Business number. If too many recipients block or report your messages, your quality rating drops and your number gets restricted or banned. Prevention: only message opted-in customers, keep content relevant, and make it easy to opt out.
Template Rejection
Meta rejects templates that are promotional in nature when submitted as transactional. Keep order notifications factual. Save promotional content for marketing templates (which cost more but are designed for it).
Phone Number Conflicts
You cannot use a number for both the WhatsApp Business App and the API simultaneously. If you're currently using the Business App, you'll need to migrate to the API — which is a one-way process. Plan this carefully.
International Formatting
WhatsApp numbers must be in E.164 format (e.g., +27821234567 for South Africa). Your plugin or middleware must clean and format customer phone numbers. Incorrect formatting is the #1 cause of delivery failures.
For a broader comparison of WhatsApp plugins that handle notifications and more, see our best WooCommerce WhatsApp plugins guide. If you want to extend WhatsApp beyond notifications into customer support, check out our WhatsApp customer support setup guide.
Keep reading
Related guides you might find useful
Best WooCommerce WhatsApp Plugins for Orders and Support (2026)
From order notifications to live chat to cart recovery — a comparison of the best WooCommerce WhatsApp plugins and what each one actually does.
Read guideWhatsApp OrdersWooCommerce WhatsApp Customer Support: Chat Button, Auto-Replies, and More
Add a WhatsApp chat button to your WooCommerce store and handle customer support where your customers already are. Setup guide and plugin comparison.
Read guideWhatsApp OrdersWooCommerce WhatsApp Abandoned Cart Recovery: Higher Open Rates, More Sales
Abandoned cart emails get 45% open rates. WhatsApp gets 98%. Here's how to recover abandoned carts via WhatsApp in WooCommerce.
Read guideLevel up your WooCommerce store
Join the WPBundle waitlist and get beta access to our plugin suite completely free.
Join the Waitlist