TopEdge Docs

COD confirmation and the prepaid switch

Return-to-origin is the most expensive problem in Indian D2C, and most of it is decided before dispatch. A confirmation message with two buttons, sent minutes after the order, separates the customers who meant it from the ones who did not.

Publish a journey on the order placed trigger, filtered to COD orders, that sends an approved template with Confirm and Cancel buttons within minutes of the order. Confirmed orders go to dispatch, unconfirmed ones get a follow-up, and on Growth plans and above you can offer a prepaid payment link that replaces the COD order with a paid one.

Before you start

  • Shopify and WhatsApp connected, with orders syncing.
  • An approved template with quick-reply buttons — see Message templates.
  • For the prepaid switch: a plan that includes COD → prepaid, and Shopify permission to create draft orders.
  • A COD order you can place as a test.

Why confirmation works

A COD order costs nothing to place, so it attracts impulse, duplicate and mistaken orders alongside real ones. You only find out at the door, after paying for forward and reverse shipping. Asking for one tap of confirmation moves that discovery to before dispatch, where cancelling is almost free.

Customer responseWhat you should do
Taps ConfirmDispatch normally. Tag the order as confirmed so your warehouse can see it.
Taps CancelCancel in Shopify before dispatch. You just saved both legs of shipping.
Replies with a questionThe thread is in Live Chat with the order beside it — answer and confirm manually.
Never respondsSend one follow-up. After that, decide by your own risk rules: hold, call, or dispatch anyway.

Build the confirmation journey

  1. Create a journey on order placed Journeys → New, trigger Order placed. Order confirmation is the order-placed trigger — there is no separate "order confirmed" event. This is the single most common point of confusion when building this journey.
  2. Filter to COD only In the trigger setup, add a payment method rule set to COD. Without it, prepaid customers get asked to confirm an order they already paid for.
  3. Add a short wait Five to fifteen minutes. Long enough that the customer has left your site, short enough to be clearly about the order they just placed.
  4. Send the confirmation template Map an approved template with Confirm and Cancel quick replies. TopEdge sets the step to wait for a button tap rather than free text.
  5. Branch on the answer (Growth and above) A conditional split routes confirmed and cancelled down different paths — tag and dispatch on one side, cancel and notify on the other. On Launch, skip the branch and handle non-responders from the Orders screen instead.
  6. Add a follow-up for silence A second wait of a few hours followed by one more message. Do not build an endless chase — two asks is the limit before it reads as harassment.
  7. Publish and place a test COD order Use your own phone. Tap Confirm and check the order records the response, then place another and tap Cancel.

Offering the prepaid switch

The strongest version of this flow does not just confirm — it offers to convert. A small incentive to pay now turns your riskiest orders into your safest ones, and prepaid orders essentially cannot be returned to origin.

What happens when a customer chooses to prepay Shopify voids the COD order and creates a paid one, so expect two order records for one purchase.
DecisionGuidance
How much to offerEnough to beat the customer’s inertia, well below your RTO cost per order. Free shipping or a small flat discount is typical.
When to offer itIn the confirmation message itself, as the alternative to confirming COD. A separate later message converts far less.
What happens to the COD orderIt is voided when the payment succeeds. The new paid order carries a tag identifying it as a conversion.
If they ignore the linkNothing breaks. The original COD order stands and your normal flow continues.

How to check it worked

  • A test COD order produces a confirmation message with working buttons.
  • A prepaid test order does not receive the confirmation.
  • Tapping Confirm is recorded against the order.
  • Tapping Cancel routes down the cancel path, if you built one.
  • A prepaid payment link opens a valid Shopify checkout for the right amount.

If confirmation is not working

Prepaid customers are getting the COD confirmation
  • Add the payment method = COD filter to the trigger. Without it, order placed matches every order.
  • Republish after editing the trigger — a live journey keeps the trigger it was published with.
Buttons appear but taps do nothing
  • The template must use quick-reply buttons, not a URL button.
  • Confirm the messages webhook field is subscribed, which is how button taps reach TopEdge.
  • Check nobody has taken over the thread in Live Chat — that pauses automation.
The COD → prepaid node is locked
  • It is a Growth-and-above feature. See plan limits.
  • Already-published journeys keep running after a downgrade, but you cannot edit or create them.
A converted order looks like two orders
  • That is Shopify’s behaviour — the COD order is voided and a paid one created.
  • TopEdge skips the replacement for order counting, revenue and re-enrolment, so you are not billed or messaged twice.
  • If a replacement did get a second message, the conversion tag was stripped from the order in Shopify.

Frequently asked questions

Does WhatsApp COD confirmation actually reduce RTO?

It reduces the share of RTO caused by unintended and duplicate orders, which is the largest removable chunk. It cannot fix RTO caused by delivery failures, wrong addresses or buyer remorse after dispatch. Measure your own before-and-after rather than trusting a headline number.

When should the COD confirmation message be sent?

Five to fifteen minutes after the order. The customer still remembers placing it, and you are well ahead of dispatch. Sending instantly feels automated and jumpy; waiting hours means the order may already be packed.

What should I do when a customer never confirms?

Send exactly one follow-up, then apply your own rule. Many stores hold high-value unconfirmed COD orders for a phone call and dispatch low-value ones anyway, because the shipping cost of being wrong is smaller than the lost sale.

Do I need a separate template for COD confirmation?

Yes. It needs quick-reply buttons so the customer can answer with one tap, and the body has to read as a transactional order confirmation to pass review as a Utility template. Your order confirmation template will not have the buttons.

Updated 2026-10-04