1,000+ people already sell with Fluxi

Dropshipping and cash on delivery

WhatsApp order confirmation: templates for receipts and cash-on-delivery orders

A receipt tells the buyer you got the order. A cash-on-delivery confirmation decides whether the parcel ships at all. Here are the templates for both, the WhatsApp rules behind them and what to do with every reply.

By the Fluxi team Updated 22 min read

In short

  • A WhatsApp order confirmation is one of two different messages: a receipt for orders that are already paid, or a cash-on-delivery (COD) confirmation that asks the buyer to approve the order before it ships.
  • Your first message to a new buyer has to be a template approved by Meta. Order confirmations fit the utility category, which in Colombia costs USD 0.0008 per delivered message versus USD 0.0125 for marketing (Meta rate card effective October 1, 2026).
  • Anything promotional in a confirmation (a discount, an upsell, a 'shop now') can get the template reclassified as marketing, which costs more and caps how many messages each person receives.
  • The best COD confirmations ask the buyer to check the delivery address instead of asking 'do you still want it?', and they never include a cancel button.
  • Send the confirmation within minutes of the order and before your supplier prints the shipping label; measure confirmation rate, cancellations before dispatch and delivery rate of shipped orders.

A WhatsApp order confirmation is one of two different messages. If the buyer already paid, it’s a receipt: it tells them the order exists and what happens next. If the buyer will pay cash on delivery (COD), it’s a question: you ask them to approve the order before it ships, and their answer decides whether you pay for a shipping label at all.

Most template lists online mix the two, and that’s why they underperform for COD stores. This guide separates them, gives you copy-ready templates for each step, explains the WhatsApp rules that decide whether your template gets approved and what it costs, and shows what to do with every kind of reply. It’s written for stores that sell cash on delivery in Latin America, where most orders are paid at the door, but the rules apply anywhere WhatsApp is the main channel.

Receipt or COD confirmation: two messages with different jobs#

There are actually three things people call “order confirmation” on WhatsApp. They solve different problems:

Message When you send it What it’s for Does the buyer need to reply? If there’s no reply
Order receipt Right after a paid order Reassure the buyer, share the order number and next steps No Nothing: the order ships anyway
Phone verification (OTP) During checkout Prove the phone number is real, with a one-time code Yes, the code The checkout doesn’t go through
COD confirmation Right after a cash-on-delivery order, before the label Get the buyer to approve the order and check the address Yes You hold, remind or cancel before paying for shipping

The difference matters because of money. With a prepaid order, the risk is already gone: the receipt is good service. With a cash-on-delivery order, every parcel that ships and comes back costs you the shipping and the ad spend that brought the order in, and you collect nothing. Industry data shared by sellers and logistics platforms in Colombia puts delivery at 45–65% of COD orders without confirmation and 70–85% with it. Those are sector benchmarks, not a promise, but they explain why COD stores treat confirmation as an operation, not a courtesy.

A phone code (OTP) doesn’t replace the confirmation either. It proves the number works; it doesn’t prove the buyer will be home with cash, that the address is complete, or that they still want the product after an impulse purchase.

WhatsApp’s rules for confirmation messages (and what they cost)#

Before you write a single template, five rules from Meta shape what you can send. They apply to the WhatsApp Business Platform (the official API: the version of WhatsApp that software can send messages through), which is what any automated confirmation uses.

1. You need the buyer’s permission#

WhatsApp’s Business Policy says you may only contact people who gave you their number and opted in to receive messages from you, and that you must respect any request to stop (WhatsApp Business Policy, checked October 13, 2026). In practice: add a line next to the phone field in your checkout, such as “We’ll confirm your order on WhatsApp,” and honor every “don’t message me.”

2. The first message has to be an approved template#

A template is a message you submit to Meta in advance, with variables like {{1}} for the name, that Meta reviews and approves. You can only send free-form messages inside the 24-hour customer service window, which opens when the buyer messages you and lasts 24 hours from their last message. A buyer who just ordered on your website hasn’t written to you yet, so your confirmation has to be a template. Once they reply, the window opens and the rest of the conversation can be normal messages.

3. Confirmations belong in the utility category#

Meta sorts templates into three categories: marketing, utility and authentication (one-time codes). Utility templates are “typically triggered by a user action or request” and must be non-promotional; Meta’s own utility examples include a message saying an order is confirmed and delivery updates (Meta, template categorization, checked October 13, 2026). An order is a user action, so a neutral confirmation is utility.

4. Meta decides the category, and mixed messages become marketing#

Since April 9, 2025, if you submit a template as utility and Meta judges it to be marketing, it gets approved as marketing (you can request a review within 60 days). Templates with mixed content, such as an order update with a promotion, count as marketing, and so do templates whose content is unclear. We’ve seen this in practice: setting up templates for stores, the same text submitted as utility can come back as marketing in one account and stay utility in another, so wording matters more than people expect.

What tends to push a confirmation into marketing: a discount or “today only,” an upsell, “shop now” or similar calls to action, and language that reads like pressure to pay rather than information about an order.

5. You pay per delivered template, and the category sets the price#

Since July 1, 2025, Meta charges per delivered template message, based on the recipient’s country code. On October 1, 2026, two things changed: your normal replies inside the 24-hour window (Meta calls them “service” messages) are billed after the first 1,000 per business phone number each month, at a rate in line with utility templates, and utility templates sent while the window is open are billed again instead of being free (Meta, WhatsApp Business Platform pricing; summary by respond.io, checked October 13, 2026). Only two things are still free: everything sent inside a free entry point window, which opens when a buyer writes to you from a Click-to-WhatsApp ad and can last up to 7 days, and the first 1,000 service messages of the month. An order placed on your website doesn’t open that window by itself. Many pricing pages from WhatsApp tools still describe the old free rules (or an older 72-hour window), so check the date on anything you read. Here’s what one template costs in the countries where most cash-on-delivery stores in Latin America sell:

Recipient’s country Utility template Marketing template Marketing costs…
Colombia USD 0.0008 USD 0.0125 ~16× more
Mexico USD 0.0085 USD 0.0397 ~5× more
Chile USD 0.0200 USD 0.0889 ~4× more
Peru USD 0.0300 USD 0.0703 ~2× more
Argentina USD 0.0260 USD 0.0618 ~2× more
Ecuador, Guatemala, Paraguay (“Rest of Latin America”) USD 0.0113 USD 0.0740 ~7× more
United States and Canada USD 0.0034 USD 0.0250 ~7× more

Meta’s WhatsApp Business Platform rate card, effective October 1, 2026, in USD per delivered message. Meta updates rates on the first day of each quarter. The platform you send through may add its own fee.

Two takeaways. First, confirmation is cheap: 100 confirmations plus 50 reminders to Colombian buyers cost about USD 0.12 in Meta fees; to Mexican buyers, about USD 1.28. The replies that follow fit inside the 1,000 free service messages for a small store. Second, a template that slips into marketing costs several times more, and Meta caps how many marketing messages each person receives from businesses, so some of your confirmations may simply not be delivered. Keeping confirmations strictly informational is both cheaper and more reliable.

Copy-ready WhatsApp order confirmation templates#

Each template below says whether it’s a template (it needs Meta’s approval because it can start a conversation) or an in-window reply (a normal message you send after the buyer has written, no approval needed). Variables are numbered the way Meta expects; the legend under each one says what goes where. Store names and products in the examples are made up.

Template 1: order receipt (prepaid orders)#

Type: template · Category: utility

Thanks for your order, {{1}}. We received order #{{2}} for {{3}}, paid by {{4}}.

We'll send your tracking number to this chat as soon as it ships.

{{1}} name · {{2}} order number · {{3}} product and quantity · {{4}} payment method. Use it for card or transfer orders. Don’t use it for cash-on-delivery orders: a COD buyer needs to be asked, not informed.

Template 2: COD confirmation (address first)#

Type: template · Category: utility

Hi {{1}}, this is {{2}} about the order you just placed: {{3}}, {{4}} to pay on delivery.

We'd ship it to: {{5}}

Is that address right? As soon as you confirm, we'll get it ready to ship.

{{1}} name · {{2}} store name · {{3}} product and quantity · {{4}} total in local currency · {{5}} full address with city. If you use quick-reply buttons, make them “Yes, that’s right” and “Change my details.” No cancel button (more on that below).

Why it asks about the address instead of “do you still want it?”: checking the address is a small, concrete task that buyers answer quickly, and it fixes one of the most common reasons parcels come back: an incomplete address. It’s the technique most cited in the Colombian cash-on-delivery material we reviewed for raising confirmation rates.

Template 3: reminder if there’s no reply#

Type: template · Category: utility · Send once.

Hi {{1}}, your order {{2}} is still waiting for your confirmation before we can ship it to {{3}}.

Reply here and we'll send it out today.

{{1}} name · {{2}} product · {{3}} city. One reminder is enough. A second and third push rarely convert and start to read like pressure, which hurts the quality rating Meta keeps for your number.

Reply 4: address check (when something is missing)#

Type: in-window reply (the buyer already wrote back, so no template is needed).

Thanks, Laura! One detail so the courier finds you: what's the house or apartment number, and is there a landmark nearby, like a store or a park?

Heads-up: couriers usually call from numbers you won't recognize, so please pick up unknown calls over the next few days.

Use it when the address has no number, says only a neighborhood, or is a rural area. The second paragraph prevents a classic failed delivery: the buyer ignores the courier’s call because they don’t know the number.

Reply 5: order confirmed (what happens next)#

Type: in-window reply. If you send it outside the window, create it as a utility template.

Done, Laura! Your order is confirmed and goes out with the courier soon. We'll message you here when it ships and when it's out for delivery.

Please have $29.90 in cash ready. If you won't be home, leave it with someone who can receive the package for you.

The cash reminder attacks the “no money at the door” refusal before it happens. Don’t promise an exact delivery day: give a range (for example, “between Wednesday and Thursday”). Couriers can’t commit to a day, and a missed promise turns a happy buyer into a refusal.

Reply 6: the buyer says no#

Type: in-window reply.

No problem, Laura. We've canceled it and nothing will ship.

Can I ask what changed? If it was the delivery time or the address, tell me: sometimes there's an easy fix.

Ask the reason once, then stop. If they give one you can fix (a different address, a later week), offer it. If not, cancel before the label exists, when canceling still costs nothing.

Reply 7: “not now” or “maybe later”#

Type: in-window reply.

Got it, we'll hold your order instead of canceling it. When would be a good week to ship it?

Delivery usually takes a few days and the courier can't pick an exact day, so choose a week when someone will be home.

“Later” is not “no.” Holding the order and agreeing on a week keeps a sale that a reflex cancellation would lose.

Reply 8: asking for shipping in advance (risky buyers only)#

Type: in-window reply.

Hi Andrés, before we ship your order: for this delivery we ask for the shipping cost in advance ($4.00), and you pay the rest on delivery as usual.

If that works for you, I'll send you the payment details here.

Use it only for buyers with a record of refused deliveries. Large COD operators filter by history, not by words: someone who refused several earlier parcels can say “yes” to every confirmation and still not pick up. Asking for the shipping cost up front turns that “yes” into a real commitment.

The tempting version you should not send#

Your order is confirmed! Add a second unit for 30% off — today only. Reply YES to add it.

This mixes an order update with a promotion, so Meta will treat it as marketing: it costs several times more, and it competes with the one thing you need from the buyer, which is a clear confirmation. Sell the extra unit on the checkout (quantity offers, order bump) or right after the purchase, not inside the confirmation.

Spanish versions for buyers in Latin America#

If your buyers speak Spanish, create these as separate templates in Spanish. Meta approves each language on its own, and a translated-sounding message gets fewer replies than one written the way people text in the region.

Hola {{1}}, te escribo de {{2}} por el pedido que acabas de hacer: {{3}}, {{4}} para pagar contra entrega.

Lo enviaríamos a: {{5}}

¿Esa dirección está bien? Apenas me confirmes, lo dejamos listo para el despacho.
Hola {{1}}, tu pedido de {{2}} sigue esperando tu confirmación para poder enviarlo a {{3}}.

Respóndeme por aquí y lo despachamos hoy mismo.
¡Listo, Laura! Tu pedido quedó confirmado y sale pronto con la transportadora. Te aviso por aquí cuando salga y cuando esté en reparto.

Ten a la mano $89.900 en efectivo. Si no vas a estar, déjaselo a alguien que pueda recibir el paquete.

When to send each message#

Timing decides more confirmations than wording does. Two clocks run against you after a COD order comes in, and Colombian operators describe both the same way (industry data, not a Fluxi measurement): the supplier’s warehouse accepts the order within an hour or two, after which changes get hard, and many suppliers print shipping labels around 10 a.m. A confirmation that lands at 11 a.m. is worth much less than one at 9.

Moment Message Why
Within minutes of the order Template 2 (or 1 if prepaid) The buyer still remembers the purchase and has the phone in hand
As soon as they reply Reply 4, 5, 6 or 7 The 24-hour window is open: you can answer with normal messages, no template needed
About 2 hours without a reply Template 3, once Catches people who were busy, without pressuring them
Before your supplier’s label cut-off Your decision: ship, hold or cancel After the label, canceling stops being free
Order placed at night Template 2 right away, reminder early next morning The reminder still lands before labels are printed

What to do with every reply#

The confirmation is only as good as what happens after the answer. This is the decision table we’d use:

The buyer replies… What it means What to do
“Yes” / “That’s right” Confirmed Mark it confirmed in your store or logistics platform and send Reply 5
A corrected address Confirmed, with fixed data Update the address before the label exists, then send Reply 5
“Who is this?” / “I didn’t order anything” Fake order, prank or a relative who ordered Explain the order in one line; if they still deny it, cancel
“Not now” / “Later” Interested, wrong timing Send Reply 7, hold the order with a date
“No” / “Cancel” Lost order Send Reply 6, ask why once, cancel before the label
A question (“Is it the blue one?”) Confirmation pending Answer it, then ask about the address again
Nothing Unknown Template 3 once; at the cut-off, apply your rule

For “nothing,” pick a rule and stick to it. Some sellers ship anyway when the buyer has a good history and hold the rest; others hold everything that isn’t confirmed. What doesn’t work is canceling everything that’s quiet: operators report products where they cancel a lot and delivery doesn’t improve, because the problem was a slow or pushy confirmation, not the buyers.

Example conversation (illustrative, made-up store and buyer):

Store (template): Hi Camila, this is Luna Home about the order you just placed: 1 × 3D Moon Lamp, $29.90 to pay on delivery. We’d ship it to: Calle 45 # 12-30, Medellín. Is that address right? As soon as you confirm, we’ll get it ready to ship.

Camila: it’s 12-30 apto 402, sorry

Store: Thanks, Camila! Updated to Calle 45 # 12-30, apartment 402, Medellín. Your order is confirmed and goes out with the courier soon. Please have $29.90 in cash ready, and pick up unknown calls over the next few days: that’s usually the courier.

Camila: perfect thanks!!

Mistakes that lower your confirmation rate#

  • Asking “is your order correct?” It invites second thoughts. Ask about the address: it’s concrete, quick, and fixes real problems.
  • A “Cancel order” button. It turns the confirmation into an exit. Cash-on-delivery stores that confirm well offer “Confirm” and “Change my details,” and let the buyer write if they want to cancel.
  • Promotions inside the confirmation. They push the template into marketing, raise the cost and distract from the one answer you need.
  • Confirming after the label is printed. By then the shipping is paid. Confirmation only saves money before the label.
  • Promising an exact delivery day. Give a two-day range. A missed promise is one of the easiest refusals to cause and the easiest to avoid.
  • Three or four reminders. One is enough. More hurt your number’s quality rating and rarely convert.
  • Writing like a company, not a person. “Your order #4196 requires validation” gets fewer replies than “Hi Laura, is this the right address?”
  • Messaging without opt-in. Besides breaking WhatsApp’s policy, it gets your number blocked and reported, which lowers its quality and can limit how much you can send.

How to measure whether confirmation is working#

Track four numbers every week, per product and, if you can, per city:

Metric Formula Benchmark (industry data, Colombia)
Confirmation rate Confirmed orders ÷ orders asked Automated confirmation typically gets 70–80% of buyers to confirm; the rest need follow-up
Cancellation before dispatch Canceled before the label ÷ all orders 10–15% is considered healthy; above 15–20% points to a problem with the product, the ad or the confirmation itself
Delivery rate of shipped orders Delivered ÷ shipped 70–85% with confirmation vs 45–65% without
Time to first message Minutes from order to confirmation sent As close to zero as possible, always before the label cut-off

Industry data from Dropi’s seller material and Colombian COD operators, 2025–2026. These are sector benchmarks, not Fluxi measurements, and they vary by product, city and country: use them as a reference, not as a target that applies to you.

Two warnings. A national average hides the real story: the same campaign can deliver nearly everything in one city and see most parcels returned in another, so look at delivery by city before blaming the product. And don’t judge confirmation by cancellations alone: if cancellations go up and delivery of shipped orders doesn’t, you’re canceling buyers who would have received. To see what each rate does to your profit, plug your numbers into the cash-on-delivery profit calculator.

Cash on delivery on Shopify: where confirmation fits#

If you sell on Shopify, cash on delivery is a manual payment method: you activate it under Settings > Payments, orders come in marked as unpaid, and you mark them paid when the money arrives. Shopify says you aren’t charged third-party transaction fees for manual payments (Shopify Help Center, checked October 13, 2026).

What Shopify doesn’t do on its own is talk to the buyer on WhatsApp. COD form apps such as Releasit and EasySell add a one-click order form, upsells and phone verification by SMS or WhatsApp, with free plans up to 60 orders a month; message fees are charged separately and their per-message price isn’t published on their listings (Releasit, EasySell, checked October 13, 2026). Verification proves the number is real. For a real confirmation conversation (the address check, the “later,” the “who is this?”) you’ll need a WhatsApp tool connected to your Shopify orders, or a person doing it by hand.

How Fluxi confirms cash-on-delivery orders automatically#

Fluxi is a platform for selling with AI, built for cash-on-delivery stores in Latin America: the sales page and its checkout, the WhatsApp agent and the orders live in one place. Confirmation is one of the jobs its AI agent does, and here is exactly how it works today.

  1. The order comes in through Fluxi's checkout

    A buyer orders on a Fluxi sales page with cash on delivery (or through the WhatsApp chat itself, where the agent takes the order, validates the address and quotes shipping). Fluxi sends the order to Dropi, Mastershop or your Shopify store, depending on how you set up the page.

  2. The agent sends the confirmation template on WhatsApp

    With the Confirmations role turned on, the agent writes to the buyer on your official WhatsApp number with an approved template that includes the product, the amount and the delivery address. Fluxi provides a suggested template pack for your number, and it requests the confirmation, reminder and shipping-update templates in the utility category. As described above, Meta has the final say on the category.

  3. The AI reads the reply the way a person would

    There’s no button tree to build. The agent understands “yes,” “it’s apartment 402,” “who is this?” or “next week,” and acts: it confirms the order, corrects the delivery details or cancels it. In Dropi, a confirmed order carries a note saying it was confirmed on WhatsApp in Fluxi, and a canceled one is canceled in Dropi too. If the buyer goes quiet, it picks the conversation back up with a natural reminder.

  4. Optional: nothing ships until the buyer confirms

    Each page can turn on “Ship only when the buyer confirms” (off by default, Dropi only). The order stays on hold until the buyer says yes; if they say no, it never ships; and if your waiting time runs out, it either ships anyway or waits for you, as you choose. You can also release an order manually without waiting.

  5. After dispatch, the Logistics role takes over

    The buyer gets WhatsApp updates as the parcel moves, and when the carrier reports a delivery issue to Dropi, the agent messages the buyer with the real reason, asks for the missing detail and resolves it in Dropi. In Fluxi’s metrics, a cash-on-delivery sale counts when the carrier marks it delivered, not when it’s ordered.

How a cash-on-delivery order gets confirmed on WhatsApp in Fluxi (illustration with a made-up store and buyer).

The agent replies in the buyer’s language, but Fluxi is built Spanish-first: its suggested templates are created in Spanish, for Latin American buyers. To see the full cash-on-delivery cycle, from the page to the delivered sale, read about the AI agent for cash-on-delivery dropshipping, or our guide to COD dropshipping in Latin America. Pricing isn’t published: Fluxi quotes it on WhatsApp based on your volume.

When Fluxi is not the right tool#

Being honest about fit saves everyone time. Fluxi is probably not what you need if:

  • Your orders come from Shopify’s own checkout and you only want a confirmation bot on top. Fluxi confirms orders created in its own checkout or chat; confirming orders placed in a separate Shopify checkout isn’t something we’ve verified, so we don’t offer it. A WhatsApp app built for Shopify is the better fit.
  • You only sell prepaid. A receipt and shipping updates are enough, and your store platform or a simple notification app already covers that.
  • You sell outside Latin America, or only in English. Fluxi’s cash-on-delivery flow is built around Latin American logistics: Dropi in Colombia, Mexico, Chile, Ecuador, Peru, Paraguay, Argentina and Guatemala, and Mastershop in Colombia.
  • You want button-only flows you design yourself. Fluxi is an AI agent that follows your instructions in plain language, not a drag-and-drop flow builder.
  • You don’t use Dropi products and want the hold-until-confirmed option: that option, and the Dropi integration, work with products from Dropi.

If none of those apply and you sell cash on delivery in Latin America, the cash-on-delivery dropshipping guide walks through the economics, our Meta Business Agent guide shows what Meta’s own agent can and can’t do for a COD store, and the profit calculator shows what a few points of delivery rate are worth to you.

FAQ#

Is WhatsApp order confirmation free?

No, but it's cheap. Meta charges per delivered template message, by the recipient's country. Utility templates (like order confirmations) are the low-cost category: USD 0.0008 per message in Colombia and USD 0.0085 in Mexico on the rate card effective October 1, 2026. Since that date, your normal replies are also billed after the first 1,000 per business number each month. The platform you use to send them may charge its own fee on top.

Can I send order confirmations on WhatsApp automatically?

Yes, through the WhatsApp Business Platform (the official API), not the regular WhatsApp Business app. You need an approved template for the first message, a trigger from your store or checkout when an order is created, and something that reads the replies: a person, a rules-based bot or an AI agent.

What should a cash-on-delivery confirmation message say?

The buyer's name, your store name, the product and quantity, the amount to pay on delivery and the full delivery address, followed by one question: is that address right? Keep it short, neutral and free of promotions so Meta approves it as a utility template.

What is the difference between an order confirmation and a COD confirmation?

An order confirmation (receipt) informs: the order exists and here are the details. A COD confirmation asks: the buyer has to reply, and the reply decides whether you ship, fix the address or cancel before paying for shipping. See the comparison table.

How long should I wait for a reply before canceling a COD order?

Send one reminder a couple of hours after the first message and decide before your supplier's label cut-off. Many sellers don't cancel unconfirmed orders automatically: they hold them, or ship the ones from buyers with a good history. Canceling by reflex raises cancellations without always improving delivery.

Does Shopify send WhatsApp order confirmations?

Shopify's built-in notifications go by email (and SMS in some setups). For WhatsApp you need an app or an external platform. COD form apps for Shopify usually offer phone verification by SMS or WhatsApp, which confirms the number is real but is not the same as a confirmation conversation.

Can the confirmation message be in Spanish if my store dashboard is in English?

Yes, and if you sell in Latin America it should be. Templates are approved per language, so create the Spanish version as its own template. This guide includes Spanish versions of the core messages.

Questions? Chat with us on WhatsApp