Short answer
Shopify’s built-in notifications use email and SMS, so Shopify WhatsApp order notifications need a WhatsApp app, Shopify Flow’s Send HTTP request action (Grow, Advanced or Plus plans) or a custom webhook to the WhatsApp API. Send approved utility templates for confirmations and shipping updates, tag COD orders by the customer’s reply, and fulfil only confirmed ones.
Which Shopify order notifications belong on WhatsApp?
WhatsApp suits messages the customer needs and is likely to act on: confirming a COD order, a delivery about to arrive, a failed delivery attempt. It is less suited to every email Shopify can send.
Shopify’s customer notifications are automated emails for orders, shipping and account events, plus text message order confirmations for customers who give a phone number at checkout. WhatsApp is not one of the built-in channels. Every WhatsApp notification therefore runs through something you add, and every template message has a price, so choose the events deliberately.
Meta prices WhatsApp per delivered template message, by category. Order confirmations and delivery updates are utility messages when they are tied to the customer’s own order and contain nothing promotional; Meta’s template guidelines use “Your order is confirmed” and a tracking number with expected delivery date as utility examples, and say order messages should not promote, upsell, cross-sell or include offers. A cart reminder is marketing: Meta’s own example, “You left items in your cart”, is classed as marketing even when users ask for it.
| Shopify event | Message | Meta category | India list rate (INR) |
|---|---|---|---|
| Order created (COD) | Confirm or cancel your order, with buttons | Utility | ₹0.115 |
| Order created (prepaid) | Order confirmed, order number, items | Utility | ₹0.115 |
| Fulfilment created | Shipped, with tracking link | Utility | ₹0.115 |
| Out for delivery or failed attempt | Courier status from your shipping tool | Utility | ₹0.115 |
| Customer abandons checkout | Reminder to complete purchase | Marketing | ₹0.8631 |
| Any update with a discount or upsell | Order update plus promotion | Marketing (mixed content) | ₹0.8631 |
| Reply to a customer message | Free-form, inside the 24-hour window | Service | Free |
Three ways to send WhatsApp notifications from Shopify
The choice depends mostly on your Shopify plan, whether you already have a WhatsApp provider, and how much control you need over tags and the Meta Purchase event.
| WhatsApp app from the Shopify App Store | Shopify Flow plus a provider API | Custom webhook or middleware | |
|---|---|---|---|
| Plan needed | Any plan the app supports | Send HTTP request needs Grow, Advanced or Plus; Flow itself is free on Basic and above | Any plan |
| Setup effort | Lowest: install, connect number, approve templates | Medium: build workflows, store the API token as a Flow secret | Highest: a developer and hosting |
| COD confirm and tag | Many apps include it; check how they tag and cancel | Possible with a provider that calls back into Shopify | Full control |
| Meta Purchase on confirmation | Rarely built in | Possible with an extra HTTP step or server container | Full control, deduplicated by order ID |
| Watch out for | App writes tags that clash with Flow; per-message markup | Flow waits 30 seconds for a response, retries up to 24 hours | You own monitoring and failures |
Which method fits your store?
Is the store on the Basic plan?
See the whole decision tree
Is the store on the Basic plan?
- YesWhatsApp app, or a custom webhookFlow’s Send HTTP request action is not available on Basic. Use an app, or have a developer subscribe to order webhooks and call the WhatsApp API.
- No (Grow, Advanced or Plus)
Do you need confirmations to change the order (tag, cancel) and drive the Meta Purchase event?
- Yes
Is there a developer or agency to maintain code?
- YesCustom webhook plus server-side eventsOrder webhook to middleware, WhatsApp API, reply handler that tags or cancels in Shopify and sends Purchase through the Conversions API.Shopify server-side tracking →
- NoFlow plus a provider with callbacksFlow sends the template through the provider; the provider’s reply webhook tags the order; a second Flow handles tag-based cancellation.Compare providers →
- Yes
- No, updates onlyWhatsApp appAn app is enough for shipped and delivered messages. Keep templates strictly utility so they are billed at the utility rate.
- Yes
Shopify COD confirmation on WhatsApp, step by step
The point of COD confirmation is to stop paying to ship orders that will come back. That only works if the customer’s answer changes what the warehouse does and what Meta is told.
Shopify WhatsApp COD confirmation path
- ShopifyOrder createdShopify Flow’s Order created trigger fires when a customer places an order.
- FlowTag COD ordersCondition on the payment gateway (check your exact COD gateway name), then Add order tags, for example cod-pending. Tags are case sensitive.
- WhatsAppSend the confirmation templateApp, Flow Send HTTP request or middleware sends an approved utility template with Confirm and Cancel buttons.
- CustomerCustomer repliesThe reply opens a 24-hour customer service window, so follow-up utility messages in it are free.
- ShopifyWrite the answer backProvider callback or middleware replaces cod-pending with cod-confirmed or cod-cancelled; no reply after your cut-off becomes cod-unreachable.
- OperationsAct on the tagFulfil only cod-confirmed. Cancel cod-cancelled with Flow’s Cancel order action. Call cod-unreachable before shipping.
- TrackingTell Meta the truthSend Purchase through the Conversions API on confirmation, with the order ID as event_id, within Meta’s 7-day event_time limit.
Shopify’s Order created trigger starts a workflow when a customer places an order, and the Add order tags action applies tags to that order; tags are case sensitive, so agree on one spelling. Shopify documents a known issue: Flow can report adding a tag that then disappears, usually because an app or a staff member overwrote it on the same event. If you run a WhatsApp app and Flow together, decide which one owns the tags.
On Grow, Advanced and Plus, Flow’s Send HTTP request action can call your WhatsApp provider’s API directly. Store the API token as a Flow secret, which Shopify redacts from run logs. Flow treats 2XX and 3XX as success, waits at most 30 seconds for a response, and can retry 4XX, 5XX and 429 responses for up to 24 hours, so set the error handling explicitly: retrying a confirmation for a day is worse than failing and alerting.
For cancellations, Flow’s Cancel order action cancels the triggering order and voids the authorisation, with options to notify the customer, restock items and record a reason. Run it from a separate workflow triggered by the cod-cancelled tag, or by the provider, so a mistaken tag can be caught before stock and notifications move.
Meta says order messages should not promote, recommend, upsell or cross-sell, and that since 16 April 2025 a template approved as utility can be recategorised to marketing instantly. A “confirm your order and get 10% off your next one” line turns a ₹0.115 message into a ₹0.8631 one at current India list rates.
Does WhatsApp COD confirmation pay for itself?
Use your own RTO rate and shipping cost. The answer depends far more on those two numbers than on the message price.
COD confirmation on WhatsApp: cost vs RTO saved
Put in your own COD numbers. The calculator compares what WhatsApp confirmation and update messages cost each month with the shipping you stop paying on orders that are cancelled before dispatch instead of coming back as RTO.
From your courier or shipping aggregator report
For example confirmation, reminder, shipped, out for delivery
At these inputs, confirmation pays for its messages. Validate the cancellation share on one month of orders before scaling it to every pin code.
Method: message cost = COD orders × messages per order × (Meta utility rate + provider markup). Meta’s India utility list rate is ₹0.115 per delivered message in its INR rate card effective 1 October 2026, before GST; utility templates sent inside an open 24-hour customer service window are free, so this is an upper bound. RTO orders today = COD orders × RTO rate. RTO avoided = RTO orders × the share you expect to be cancelled at confirmation instead of shipped. Savings = RTO avoided × your cost per RTO order (forward and return shipping plus handling). The default inputs are placeholders, not benchmarks: replace the RTO rate, cost per RTO and cancellation share with your own data from your courier or shipping aggregator. Product loss, payment fees and the value of better Meta optimisation are not included.
Reduce RTO with WhatsApp COD confirmation, and fix what Meta learns
Confirmation reduces RTO in two ways: it cancels orders before they ship, and, if you feed it back, it teaches Meta to find buyers who confirm rather than people who place orders and refuse them.
The direct saving is shipping. An order cancelled at confirmation never incurs forward or return shipping. The calculator above sizes that with your own numbers; the wider effect on campaign economics is what RTO-adjusted ROAS measures, and the RTO-adjusted ROAS calculator applies it to your ad spend.
The indirect saving is optimisation. The default Shopify and Meta setup sends Purchase when the thank-you page loads, so every COD order counts as revenue, including the ones that are refused at the door. The guide to Meta CAPI for Shopify COD orders explains the alternative in detail: a lighter event at checkout, and Purchase sent from the server when the order is confirmed. The WhatsApp reply is the cleanest confirmation signal a store has, because it is the customer’s own action, timestamped and tied to the order.
Two rules from Meta’s server event parameters shape the design. The event_time can be up to 7 days before you send the event, and one event older than that makes Meta reject the whole request. And deduplication needs the browser eventID and the server event_id to match, so use the Shopify order ID on both sides and stop the browser pixel from sending Purchase for COD orders. Confirmation usually arrives within hours, which keeps the event inside the window; delivery often does not.
Who does what in a confirmed COD order
Shopify WhatsApp abandoned cart messages in India
Abandoned checkout reminders work on WhatsApp, but they are marketing messages with marketing rules: explicit opt-in, the higher rate, and quality risk if you over-send.
Shopify Flow’s Customer abandons checkout trigger starts a workflow when a customer abandons the checkout, and Shopify’s test advice is to enter checkout details on your store and leave without paying. It fires for checkouts, not for products left in a cart without starting checkout, so a store that wants cart-level reminders needs an app that tracks carts.
Three rules apply on WhatsApp:
- Opt-in first. Meta’s opt-in requirements say the business must clearly state that the person is opting in to receive messages from it, name the business, and comply with applicable law. A phone number typed at checkout is not, on its own, a clear marketing opt-in; add an explicit checkbox.
- Pay the marketing rate. Meta’s retargeting example (“You left items in your cart”) is marketing even when requested, at ₹0.8631 per message at current India list rates.
- Protect quality. Meta says people can block or report a business and that it rate-limits businesses whose quality stays low. One reminder, sent at a sensible hour, protects the number that also carries your COD confirmations. Many stores keep marketing and order messages on separate numbers for this reason.
If you want the provider choice made on CRM and Shopify depth rather than features, the Interakt vs Wati vs AiSensy comparison covers Shopify triggers and markup.
- Triggered by the customer’s own order
- No offers, no upsell
- ₹0.115 per message at India list rates; free inside an open window
- Order confirmation, shipped, out for delivery
- Triggered by an incomplete checkout
- May include an offer
- ₹0.8631 per message at India list rates
- Needs a clear marketing opt-in
What breaks in Shopify WhatsApp notifications
Most failures are silent: the order ships, nobody notices the confirmation never went out, and the RTO arrives two weeks later.
- Tags overwritten. Two apps, or an app and Flow, write tags on the same Order created event and one wins. Shopify documents this as a known Flow issue.
- Wrong gateway name. The COD condition checks a gateway string that does not match your store’s actual COD method, so no order is tagged.
- HTTP action on the wrong plan. The workflow was built on a trial or a higher plan; on Basic, Send HTTP request is not available.
- Retries that confirm a day late. Flow retries failed requests for up to 24 hours unless set to fail; the warehouse ships before the message lands.
- Template recategorised. Promotional wording moved a utility template to marketing, raising the cost of every confirmation.
- Phone numbers without country code. Templates fail for numbers saved without +91 or with spaces; normalise at checkout or in the middleware.
- Double Purchase in Meta. The pixel still fires Purchase on the thank-you page for COD orders while the server sends it on confirmation.
- Unreplied orders shipped by default. No cut-off for cod-unreachable, so silence is treated as confirmation.
Myth Shopify can send WhatsApp order notifications natively.
Reality Shopify’s built-in notifications are email and SMS. WhatsApp needs an app, Flow with an HTTP request, or a custom integration.
Myth All order messages cost the same.
Reality Utility and marketing templates are priced differently, and promotional wording in an order update makes it marketing.
Myth Confirming COD orders is only an operations task.
Reality The confirmation is also the best Purchase signal you can send Meta, which changes who your campaigns find.
How to test the notification flow
Place real test orders on each payment method and walk every branch: confirm, cancel, no reply.
Shopify WhatsApp notification test plan
Where this fits in a D2C growth system
WhatsApp confirmation is one piece of the COD problem. The rest is measurement, checkout and channel mix.
If tracking is the weak link, read the Shopify server-side tracking guide and the post on Shiprocket and GoKwik checkout tracking, since third-party checkouts change where the order event comes from. For the business view, D2C growth marketing and the D2C performance marketing playbook for India cover margin, COD and channel decisions. A real example of fixing Meta signal for a D2C brand is the skincare Meta CAPI case study.
If you are not sure whether RTO, tracking or acquisition is the binding constraint, the Revenue Diagnostic is two weeks of read-only access to ad accounts, analytics and store data, ₹90,000 for companies in India ($1,500 elsewhere), ending in the constraint in writing and a 90-day plan. Teams also selling B2B can see the CRM side in the HubSpot WhatsApp integration guide.
Request a Shopify WhatsApp notification plan
Share your store, COD share and current tools. You will get a reply with the recommended method, the tag design and the tracking changes.
Tell me about your store
A few details are enough to recommend a setup. Nothing is changed in your store or ad accounts without written approval.
Shopify WhatsApp order notifications: common questions
Can Shopify send WhatsApp order notifications without an app?
Not natively: Shopify’s built-in customer notifications are email and SMS. Without an app, you can use Shopify Flow’s Send HTTP request action on Grow, Advanced or Plus to call a WhatsApp provider’s API, or build a webhook integration with a developer. Either way you need a WhatsApp Business Platform number and approved templates.
How much does a WhatsApp order notification cost in India?
At Meta’s India list rates effective 1 October 2026, a utility template such as an order confirmation is ₹0.115 per delivered message and a marketing template is ₹0.8631, before GST. Utility templates are free inside an open 24-hour customer service window. Apps and providers add their own fees.
How do I set up Shopify COD confirmation on WhatsApp?
Tag COD orders on creation with Shopify Flow, send an approved utility template with Confirm and Cancel buttons, write the reply back as an order tag, fulfil only confirmed orders and cancel the rest with Flow’s Cancel order action. Set a cut-off for no reply and call those customers.
Does WhatsApp COD confirmation reduce RTO?
It can, by cancelling orders before they ship and by giving Meta a better purchase signal. How much depends on your own RTO rate, why orders are refused and how many customers reply. Measure it on one month of orders before and after, by pin code if possible.
Are abandoned cart messages allowed on WhatsApp?
Yes, as marketing templates with a clear opt-in. Meta classes cart reminders as marketing, priced at ₹0.8631 per message in India at current list rates, and requires the person to have opted in to messages from your business by name. Over-sending risks blocks and rate limits.
Which Shopify Flow triggers are useful for WhatsApp?
Order created for confirmations, fulfilment-related triggers for shipping updates, and Customer abandons checkout for reminders. Order created fires when a customer places an order or a draft order is marked paid. The abandoned checkout trigger fires only after the customer reaches checkout.
Should the Meta Purchase event fire on order or on WhatsApp confirmation?
For COD, on confirmation. Send Purchase from the server with the Shopify order ID as event_id, stop the browser pixel sending Purchase for COD, and keep the event within Meta’s 7-day event_time limit. Confirmation usually happens within hours, while delivery can take longer than a week.
What happens if a customer does not reply to the COD confirmation?
Decide in advance. A common rule is a cut-off, after which the order is tagged unreachable and a team member calls before shipping. Treating silence as confirmation defeats the purpose, and auto-cancelling can lose genuine buyers who did not see the message.
Can I use the WhatsApp Business App for Shopify order notifications?
Not for automated notifications at scale. Automated templates triggered by Shopify events run on the WhatsApp Business Platform through an app, a provider or your own integration. The phone app suits manual replies to a small number of customers.
Sources
- Customer notifications, Shopify Help Center. Accessed 2026-10-17.
- Shopify Flow, Shopify Help Center. Accessed 2026-10-17.
- Send HTTP request (Shopify Flow action), Shopify Help Center. Accessed 2026-10-17.
- Order created (Shopify Flow trigger), Shopify Help Center. Accessed 2026-10-17.
- Cancel order (Shopify Flow action), Shopify Help Center. Accessed 2026-10-17.
- Customer abandons checkout (Shopify Flow trigger), Shopify Help Center. Accessed 2026-10-17.
- Pricing on the WhatsApp Business Platform, Meta for Developers. Accessed 2026-10-17.
- Cost per message in INR on the WhatsApp Business Platform, effective 1 October 2026 (rate card linked from the pricing page), Meta for Developers. Accessed 2026-10-17.
- Template category guidelines, Meta for Developers. Accessed 2026-10-17.
- Get opt-in for WhatsApp, Meta for Developers. Accessed 2026-10-17.
- Server event parameters (Conversions API), Meta for Developers. Accessed 2026-10-17.