Title: CodeAtoZ – Cloud Messaging for WooCommerce
Author: codeatoz
Published: <strong>May 20, 2026</strong>
Last modified: May 20, 2026

---

Search plugins

![](https://ps.w.org/codeatoz-cloud-messaging-for-woocommerce/assets/banner-772x250.
png?rev=3539414)

![](https://ps.w.org/codeatoz-cloud-messaging-for-woocommerce/assets/icon-256x256.
png?rev=3539414)

# CodeAtoZ – Cloud Messaging for WooCommerce

 By [codeatoz](https://profiles.wordpress.org/codeatoz/)

[Download](https://downloads.wordpress.org/plugin/codeatoz-cloud-messaging-for-woocommerce.1.4.6.zip)

 * [Details](https://wordpress.org/plugins/codeatoz-cloud-messaging-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/codeatoz-cloud-messaging-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/codeatoz-cloud-messaging-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/codeatoz-cloud-messaging-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/codeatoz-cloud-messaging-for-woocommerce/)

## Description

**CodeAtoZ – Cloud Messaging for WooCommerce** connects your WooCommerce store directly
to Meta’s WhatsApp Business Cloud API. Send order confirmations, processing updates,
shipping notifications, and delivery alerts to your customers on the world’s most
popular messaging app — without paying any third-party BSP middleman.

You pay Meta’s per-conversation pricing **directly**. No markup, no monthly platform
fees, no vendor lock-in. Meta gives every business 1,000 free service conversations
per month, which covers most small stores entirely.

#### Why use WhatsApp for order notifications?

 * **98% open rates** — compared to ~20% for email. Customers read WhatsApp messages
   within minutes.
 * **No SMS costs** — WhatsApp Cloud API is dramatically cheaper than SMS gateways
   in most countries.
 * **Two-way conversation** — customers can reply with questions, change requests,
   or feedback.
 * **Mobile-first** — works perfectly on every smartphone, no app installation needed
   by the customer.
 * **Trusted channel** — customers already use WhatsApp daily, no learning curve.

#### Features (Free version)

**Order Status Notifications**

Send a WhatsApp message automatically on every WooCommerce order status change:

 * Order confirmed (pending payment)
 * Order processing (payment received)
 * Order on-hold (manual review)
 * Order shipped (with tracking link)
 * Order delivered
 * Order completed
 * Order cancelled
 * Order refunded
 * Order failed

Each event has its own message template with full variable substitution — order 
number, customer name, total amount, shipping address, tracking URL, and more.

**GDPR-Compliant Opt-In**

 * Customizable consent checkbox at checkout (classic and Blocks Checkout supported)
 * Configure the checkbox wording, default state, and required/optional behavior
 * Records opt-in consent with timestamp and IP address (legal compliance)
 * Integrates with the WordPress Personal Data Exporter and Eraser tools
 * Compatible with Cookie/GDPR consent banner plugins

**STOP-Keyword Auto-Unsubscribe**

 * Customers can reply “STOP”, “UNSUBSCRIBE”, “QUIT” or “END” to any message to 
   opt out
 * Automatic recognition — no manual subscriber management needed
 * Confirmation message sent back to the customer
 * Opt-out preserved across orders — you never need to remember it manually
 * Easy admin re-opt-in tool for accidental unsubscribes

**Staff Notifications (Single Phone)**

 * Alert your phone via WhatsApp the moment a new order arrives
 * Alert on failed payments and refund requests
 * Configurable per-event triggers
 * (Multi-staff notification lists are available in the Pro version)

**Click-to-Chat & Share Buttons**

 * WhatsApp “Chat with us” button for product pages and shop sidebar
 * WhatsApp share button so customers can share products with friends
 * Configurable phone number, pre-filled message, and button position

**Built-in Message Log**

 * Every outgoing and incoming WhatsApp message is logged with status (Sent  Delivered
   Read  Failed)
 * Click any log entry to see the full payload, error code, and Meta message ID
 * Filter by status, phone, date range, or specific order
 * Configurable retention (default 90 days) to keep the database lean

**In-Plugin Setup Guide**

 * 6-step walkthrough takes new merchants from “just installed” to “first message
   sent”
 * Click-to-copy webhook URL and verify token
 * Live FAQ covering Cloud API pricing tiers, template rejection causes, message
   delivery troubleshooting
 * Accessible both as a top-level menu item and inside Settings

**Technical Excellence**

 * Direct Meta Graph API integration (no proxy, no third-party server in the middle)
 * Encrypted access-token storage (OpenSSL AES-256-CBC)
 * HMAC-verified webhook for delivery and read receipts
 * Action Scheduler queue with WP-Cron fallback (reliable delivery even under load)
 * HPOS (High-Performance Order Storage) compatible
 * Blocks Checkout compatible
 * Translation-ready with .pot file and 9 sample .po translations included
 * Modern WordPress admin UI with charts (Chart.js bundled locally — no CDN loads)
 * All code escapes output, sanitizes input, verifies nonces, checks capabilities

#### Who is this for?

 * Online stores that want to **stop losing customers to email-overload** — WhatsApp
   gets read, email doesn’t.
 * Stores in **WhatsApp-heavy markets** (India, Brazil, Indonesia, Spain, Mexico,
   Italy, Argentina, Saudi Arabia, etc.) where customers prefer WhatsApp over SMS.
 * **Direct-to-consumer (DTC) brands** that want a personal, mobile-first customer
   experience.
 * **B2B / wholesale stores** that need fast confirmation and shipping updates to
   business buyers.
 * **High-ticket stores** where lost orders are expensive and proactive communication
   directly affects conversion.
 * **Cash-on-Delivery (COD) markets** where confirmation messaging dramatically 
   reduces fake orders (basic version free; OTP verification in Pro).

#### Pro version

A Pro add-on plugin is available on [codeatoz.com](https://codeatoz.com/whatsapp-commerce-engine)
that unlocks advanced commerce automation modules:

 * **Abandoned Cart Recovery** — automatic follow-up sequences for incomplete checkouts(
   configurable delay + max messages + multi-step cadence)
 * **COD Verification with OTP** — verify Cash-on-Delivery orders before fulfillment(
   massive fake-order reduction)
 * **Back-in-Stock Alerts** — “Notify Me” widget on out-of-stock products, auto-
   message when restocked
 * **Review Collector** — request product reviews a configurable number of days 
   after delivery
 * **Payment Reminders** — automated reminders for pending bank-transfer / unpaid
   orders, with auto-cancel option
 * **Address Confirmation** — interactive button confirmation for high-value or 
   risky orders
 * **WhatsApp Returns Flow** — full conversational return request, photo upload,
   refund/exchange selection
 * **Catalog Sync** — push your WooCommerce product catalog to WhatsApp Business
   Catalog
 * **WhatsApp OTP Login** — passwordless customer login with phone + WhatsApp one-
   time code
 * **Unlimited staff phones** (free is limited to 1)
 * **Multi-language template auto-detection** for non-English markets
 * **Quiet Hours engine** — respect customer timezones, avoid 3 AM notifications
 * **Analytics dashboard** — charts, per-module breakdown, delivery rates, revenue
   recovered
 * **Inline-send architecture** — sub-second message delivery using fastcgi_finish_request
 * **Premium template library** + priority email support

The Pro version is a separate, standalone plugin — **not a paid feature unlock**
of this free plugin. If you only ever use the free version, every free feature listed
above will keep working forever with no nag screens or time limits.

### External Services

This plugin connects to and uses the following external services to deliver its 
core functionality. By installing and using this plugin you acknowledge that data
is transmitted to these services.

**WhatsApp Business Cloud API (Meta Platforms, Inc.)**

 * **What it is used for:** Sending WhatsApp messages (order notifications, opt-
   in confirmations, transactional alerts), receiving delivery and read receipts
   via webhook, fetching the merchant’s approved message-template list.
 * **What data is sent:** Recipient phone number (only for customers who have opted
   in), message template name, template variables (e.g. customer first name, order
   ID, order total, shipment tracking URL), and the merchant’s access token for 
   authentication.
 * **When data is sent:** Whenever a WooCommerce order changes status, when a customer
   opts in or out, when the merchant clicks “Refresh templates”, and when the merchant
   triggers a test message.
 * **Service endpoint:** https://graph.facebook.com (Meta Graph API, v21.0)
 * **Provider:** Meta Platforms, Inc.
 * **Terms of Service:** https://developers.facebook.com/terms
 * **Privacy Policy:** https://www.whatsapp.com/legal/business-policy

This plugin does **not** connect to any other external service. All other functionality(
message queue, log, settings, subscriber list, dashboard) runs entirely on your 
own WordPress install. No telemetry, no analytics, no tracking pixels.

### Privacy & Data Handling

This plugin stores the following customer data locally in your WordPress database:

 * **Phone numbers** — in the subscribers table and the message log. Only for customers
   who explicitly opt in at checkout.
 * **Message content and delivery status** — in the message log table. Retained 
   for the duration set in Settings  Advanced  Log Retention (default 90 days, configurable
   from 7–365 days).
 * **Meta API credentials** — access token, phone number ID, business account ID.
   Stored encrypted (OpenSSL AES-256-CBC) in the `wp_options` table.
 * **Opt-in consent records** — timestamp + IP address of the consent event, stored
   alongside customer phone number for legal compliance.

#### Data export & erasure

Customers can request their personal data via the standard WordPress Personal Data
Export / Erasure tools (**Tools  Export Personal Data / Erase Personal Data**). 
This plugin registers the appropriate WordPress GDPR hooks to include WhatsApp messaging
data in exports and to erase it on request.

Customers can also send the keyword “STOP”, “UNSUBSCRIBE”, “QUIT” or “END” to your
WhatsApp Business number to opt out immediately — no email or admin intervention
needed.

#### Data sent to Meta

Meta receives the phone number and message content of every outbound notification.
Meta’s WhatsApp Business privacy policy governs how they handle that data (link 
above). The plugin does not send any other customer data (name, address, email, 
purchase history) to Meta unless you explicitly include those values in your message
template variables.

## Screenshots

 * [[
 * **WhatsApp order notifications on mobile** — A real WhatsApp conversation showing
   the full order journey: confirmed  shipped with tracking  delivered, plus a customer
   reply. This is exactly what your customers receive on their phones, powered directly
   by Meta’s Cloud API.
 * [[
 * **Connection settings** — Enter your Meta Phone Number ID, WhatsApp Business 
   Account ID, permanent System User Token, and App Secret. The Webhook URL and 
   Verify Token are auto-generated and copy-to-clipboard ready. A live “Test Connection”
   button confirms your setup works before going live.
 * [[
 * **Message templates** — Browse all your Meta-approved WhatsApp templates fetched
   live from your account. Utility and Marketing categories shown with status indicators.
   Use “Refresh from Meta” to sync after creating new templates in the Meta Business
   portal.
 * [[
 * **Message log** — Full delivery history for every outgoing and incoming message.
   Shows queue status (Action Scheduler), connection status, pending count, and 
   per-message details including template name, recipient phone, direction, and 
   delivery status.

## Installation

#### Quick setup

 1. Upload the plugin ZIP via **Plugins  Add New  Upload Plugin**, or unzip it into`
    wp-content/plugins/`
 2. Activate the plugin from the **Plugins** screen
 3. Go to **WhatsApp Commerce  Setup Guide** for a step-by-step walkthrough of Meta’s
    API setup
 4. Or jump straight to **WhatsApp Commerce  Settings  Connection** if you already 
    have your Meta credentials

#### Detailed setup

You’ll need a Meta Business account, a Meta Developer App with WhatsApp product 
enabled, and a phone number not currently registered to WhatsApp Personal or Business.
The built-in Setup Guide walks you through:

 1. Creating a Meta Business account
 2. Creating a WhatsApp Business App in Meta Developers
 3. Copying credentials (Access Token, Phone Number ID, WhatsApp Business Account ID)
    into the plugin
 4. Configuring the webhook (Callback URL + Verify Token) so the plugin receives delivery
    + read receipts
 5. Approving your message templates with Meta (utility templates auto-approve in minutes)
 6. Generating a permanent System User token for production use

Setup typically takes 15–30 minutes. Once connected, send a test message from the
Connection tab to confirm everything works, then start enabling order status notifications.

#### Requirements

 * WordPress 6.2 or higher
 * PHP 8.0 or higher
 * WooCommerce 8.0 or higher
 * A Meta Business account (free)
 * A phone number for your WhatsApp Business presence

## FAQ

### How much does WhatsApp Cloud API cost?

Meta gives every business **1,000 free service conversations per month** per WhatsApp
Business number. Beyond that, conversations are priced per-country — typically $
0.005 to $0.10 per conversation (a single conversation = 24 hours of back-and-forth
messaging with one customer). You pay Meta directly. This plugin charges **zero 
markup** on message costs.

For a small WooCommerce store doing 200 orders/month, you’ll likely stay entirely
within the free tier. For a larger store, your monthly Cloud API bill is usually
a fraction of equivalent SMS costs.

### Can I use my existing WhatsApp number?

Only if you first delete WhatsApp Personal or WhatsApp Business from the device.
A phone number can only be registered to ONE of: WhatsApp Personal, WhatsApp Business
app, or WhatsApp Cloud API. This plugin uses Cloud API, so you’ll need to migrate
the number off WhatsApp Personal/Business first.

If you want to keep your personal WhatsApp running, get a separate business number(
a VOIP number, a second SIM, or a landline that can receive SMS or voice for verification
will work).

### Why are my messages getting “rate limited”?

Brand-new WhatsApp Business numbers start at **Tier 1: 250 unique customer conversations
per 24 hours**. As long as your message quality stays “High” in Meta’s quality assessment,
Meta will auto-promote you to:

 * Tier 2: 1,000 conversations/24h
 * Tier 3: 10,000 conversations/24h
 * Tier 4: 100,000 conversations/24h
 * Unlimited

The progression typically takes 2–4 weeks. Send transactional (Utility) templates
first — they build trust fastest with Meta’s quality system.

### My template was rejected by Meta. What now?

The most common rejection reasons:

 * The template feels promotional but was submitted as “Utility” — change the category
   to “Marketing” OR rewrite the wording to be transactional
 * The template contains unverified claims (“100% guaranteed!”, “Best price!”)
 * The template has placeholders at the start or end ({{1}} as the first or last
   token is not allowed)
 * Header or footer text exceeds character limits

Edit the template wording and resubmit. After two rejections of the same template
name, use a new name (e.g., `order_shipped_v2`).

### Customer isn’t receiving any messages — how do I debug?

Visit **WhatsApp Commerce  Message Log** and find the most recent message to that
customer. The status column tells you exactly what happened:

 * **Failed** — click the row to see Meta’s error code. Common ones: `#131026` (
   number not on WhatsApp), `#132000` (template parameter mismatch), `#132001` (
   template language mismatch).
 * **Sent but not Delivered** — customer has likely blocked your number, or their
   phone has been offline for 30+ days.
 * **Queued** — Action Scheduler hasn’t picked up the message yet. Check your WP-
   Cron or visit **Tools  Scheduled Actions**.
 * **Customer is opted out** — check **Subscribers** tab. They may have replied 
   STOP previously.

### Does the plugin work with WooCommerce Blocks Checkout?

Yes. The opt-in checkbox renders on both classic checkout and the new Blocks Checkout.
We update it as WooCommerce updates the Blocks API.

### Does the plugin work with HPOS (High-Performance Order Storage)?

Yes. HPOS compatibility is declared in the plugin header and tested against the 
latest WooCommerce versions.

### Is the plugin translation-ready?

Yes. The `.pot` file is included in `/languages/`, plus sample `.po` files for German,
French, Spanish, Italian, Dutch, Portuguese, Polish, Swedish, and Danish. Translations
are loaded on the `init` hook with priority 5 so other modules can use translated
strings safely.

### How is my Meta access token stored?

The access token is encrypted using OpenSSL AES-256-CBC before being written to 
the `wp_options` table. The encryption key is derived from your WordPress AUTH_KEY
constant. The token is decrypted only at the moment of an outbound API request to
Meta. If you back up your database and accidentally expose it, the token cannot 
be used without your WordPress secret keys.

### Can I send broadcast / marketing messages?

The free version focuses on transactional notifications (order updates, opt-in confirmations,
click-to-chat). For bulk marketing campaigns, segmented broadcasts, or abandoned
cart recovery, the Pro version on codeatoz.com adds those features. The free version
does **not** include broadcast functionality.

### Where can I get more help?

 * **Free version users** — community support via the [WordPress.org plugin support forum](https://wordpress.org/support/plugin/codeatoz-cloud-messaging-for-woocommerce/)
 * **Pro version customers** — priority email support at support@codeatoz.com
 * **Documentation** — visit [codeatoz.com](https://codeatoz.com) for in-depth setup
   guides and video walkthroughs

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CodeAtoZ – Cloud Messaging for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ codeatoz ](https://profiles.wordpress.org/codeatoz/)

[Translate “CodeAtoZ – Cloud Messaging for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/codeatoz-cloud-messaging-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/codeatoz-cloud-messaging-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/codeatoz-cloud-messaging-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/codeatoz-cloud-messaging-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/codeatoz-cloud-messaging-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.1

 * Setup Guide promoted to top-level admin menu and Settings tab for discoverability
 * Sidebar upsell now anchored to viewport right edge (position: fixed)
 * Renamed for WordPress.org submission (display name and slug); internal identifiers
   unchanged so existing settings are preserved across updates
 * readme.txt expanded with full external service disclosure and privacy section

#### 1.3.0

 * WordPress.org plugin review compliance pass
 * Chart.js bundled locally under `assets/js/vendor/` (MIT license attribution included)
 * All `$_GET` / `$_POST` reads wrapped with `wp_unslash()` before sanitization
 * All `$wpdb` queries use `prepare()` or have appropriate phpcs:ignore documentation
 * Template ternary output wrapped with `esc_attr()` / `wp_kses_post()`
 * Inline `<script>` extracted to enqueued `admin-help.js`
 * `base64_decode` calls commented with security justification
 * readme description rewritten to honestly reflect free-version features only

#### 1.2.1

 * Activity feed bug fix — phone column was using wrong DB field
 * Active Templates mini card replaces New Subscribers in free dashboard
 * Friendlier context labels in Recent Activity (“Order update #1234” vs generic“
   Order”)

#### 1.2.0

 * New Setup Guide tab with 6-step Meta walkthrough
 * Click-to-copy webhook URL and verify token chips
 * 6-question FAQ accordion (pricing, rate limits, template rejection, debugging)

#### 1.1.1

 * Pro-only Settings tabs (Cart Recovery, Quiet Hours) properly filtered in free
   build
 * Settings save handler refuses Pro-only tabs in free (defense in depth)

#### 1.1.0

 * Plugin version bump for cache busting
 * Settings tab filtering refinements

#### 1.0.0

 * Initial public release

## Meta

 *  Version **1.4.6**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [messaging](https://wordpress.org/plugins/tags/messaging/)[order notifications](https://wordpress.org/plugins/tags/order-notifications/)
   [whatsapp](https://wordpress.org/plugins/tags/whatsapp/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/codeatoz-cloud-messaging-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/codeatoz-cloud-messaging-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/codeatoz-cloud-messaging-for-woocommerce/reviews/)

## Contributors

 *   [ codeatoz ](https://profiles.wordpress.org/codeatoz/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/codeatoz-cloud-messaging-for-woocommerce/)