How to send Shopify order confirmations and shipping updates over WhatsApp with the official Cloud API
What you need from Meta, how message templates and variables work, what a conversation costs, and how to wire Shopify orders and fulfillments to WhatsApp without an unofficial gateway.
Email open rates for order confirmations are fine; WhatsApp read rates are simply higher, and the shipping message is the one customers actually want on their phone. This guide covers the official route: Meta's WhatsApp Business Platform (the Cloud API), which is the only way to send automated messages without risking your number.
Official API versus "WhatsApp Web" tools
Some tools drive a logged-in WhatsApp Web session from a server and send messages as if a human were typing. That violates WhatsApp's terms, gets numbers banned without warning, and stops working whenever WhatsApp changes its web client. The Cloud API is the supported alternative: you register a business phone number with Meta, get approved message templates, and send through an HTTP API. Meta bills you per conversation at its published rates; there is no middleman markup unless your app adds one.
What you need from Meta
- A Meta Business Portfolio (formerly Business Manager) and a Meta developer app with the WhatsApp product added.
- A WhatsApp Business Account (WABA) and a phone number registered to it. The number cannot be active on the regular WhatsApp or WhatsApp Business apps at the same time.
- The phone number ID and WABA ID, both shown in the WhatsApp section of your Meta app.
- A permanent access token, generated through a System User in Business settings with the whatsapp_business_messaging and whatsapp_business_management permissions.
- Your app secret, so your Shopify app can verify webhook signatures from Meta.
Templates and variables
Business-initiated messages must use templates that Meta has approved. A template is a fixed text with numbered placeholders, for example: "Hi {{1}}, thanks for your order {{2}} from {{3}}. Total: {{4}}." Utility templates (order and shipping updates) are approved quickly and cost less than marketing templates. Create them in WhatsApp Manager, wait for approval, then map each placeholder to an order field in your Shopify app.
In Beacon Messenger the mapping is a dropdown per placeholder with fields such as customer first name, order number, order total with currency, shop name, tracking number and tracking URL. The app shows a live preview with a sample order so you can see the final message before turning the automation on.
Wiring Shopify events to messages
- Order confirmation: triggered by Shopify's orders/create webhook when an order is paid or created, depending on your payment flow.
- Shipping update: triggered by fulfillments/create and fulfillments/update when a tracking number is added. The template gets the carrier's tracking URL.
- Cash-on-delivery confirmation: triggered on orders whose payment gateway is COD or manual, with interactive Confirm and Cancel buttons. See the dedicated guide.
- Abandoned checkout: triggered by checkouts/update after a delay you choose, only if the checkout is still unpaid and the customer has marketing consent.
Beacon Messenger subscribes to these webhooks when you install it, so there is nothing to configure in Shopify. In the app you switch each automation on, pick a template, map the fields and optionally add a delay.
Delivery statuses and what they mean
- Sent: Meta accepted the message and assigned a message ID.
- Delivered: the message reached the customer's phone.
- Read: the customer opened it (only if they have read receipts on).
- Failed: Meta rejected it, with an error code. Common causes are a template that was paused, a number that is not on WhatsApp, or a rate limit.
- Skipped: your app decided not to send, for example because the customer has no phone number, has not given consent, or the monthly limit was reached.
Whatever tool you use, insist on seeing all five states with the reason. A dashboard that only counts "sent" hides exactly the failures you need to fix.
Cost control
Meta charges per 24-hour conversation, and the price varies by country and category. Your Shopify app may add a per-message fee or a monthly plan. Beacon Messenger uses monthly plans with a fixed number of automated messages (50 on Free, up to 10,000 on Pro) and stops sending when the limit is reached rather than charging overage, so the app's bill is known in advance and Meta's bill scales with your actual orders.