WapifyDocs

Cancellation after shipping

Once an order is on its way: ask why it was cancelled, and check with the customer when a courier reports a failed delivery.

Opens inside WhatsApp
Select a reason
○ Changed my mind
○ Product size issue
○ Product material not good
○ Delivery takes too long
○ Ordered by mistake
○ I didn't cancel my order
○ Other
Submit

A cancelled order normally tells you nothing. One tap turns it into a reason you can count.

FreeBasicGrowthProIncluded on every plan.

Cancellations are the most expensive data your store throws away. You know how many you get; you almost never know why. This automation asks the customer directly, in the one channel they'll actually answer, and turns the answer into something you can filter and count.

When to send

There are two messages — the survey, which asks why, and the cancel check, which first asks whether the customer really cancelled. For each of two events you pick Survey only (the survey straight away), Ask, then survey (the cancel check first, and the survey only after a “Yes”), or Off:

Order cancelled or returnedCancelled or returned from your Shopify Orders page, or through the API. Survey only, unless you change it.
Delivery failedThe courier marks the shipment as failed. Ask, then survey, unless you change it.

Each message goes once per order, from whichever of its events happens first. An order can get both messages when different events send them — say, the cancel check on a failed delivery and the survey when you then cancel the order — but the survey is never sent to a customer who already answered the cancel check, and the cancel check is never sent to one who already gave a reason.

Only couriers that report tracking events to Shopify can trigger the delivery event — if your courier updates orders by hand, Shopify never sees them.

A courier attempted delivery used to be a third event here. It was removed: couriers set that status wrongly more often than any other, and a message sent on a wrong report asks a customer about a problem they don't have. Only a failed delivery — the courier's own final word — reaches this automation now.

This is separate from the Cancel button on the COD confirmation. That has its own reason picker and fires when the customer refuses an order before it ships. Both file into the same place in the Feedback Center, tagged by source.

The survey

The survey goes out once per product — an order with three products gets three messages, each with that product's photo as the image and its name in the text, so every item gets its own reason. Up to five products per order are asked about, the same rule as Ask for review.

Share Feedback opens the reason form without leaving WhatsApp. Order Details opens the customer's order page on your store.

Each message is an approved template and counts toward your monthly messages — three products, three messages.

The cancel check

The customer isn't told they cancelled — a courier's report may be wrong, and on cash on delivery it often is, while orders also get cancelled by mistake. They're asked instead. After a delivery event, the message names the courier:

No "Call Support" on the question — it sits on the reply, where the customer who needs help is.

After a cancellation from your Orders page — which usually never reached a courier — it says only that the order was cancelled:

  • Yes, I cancelled — the customer is thanked and sent the survey: one message per product, each with its photo.
  • No, I didn't — the chat stays unread in your Inbox, and the customer gets an approved reply. After a delivery event it asks them to check the courier's messages and calls — where they can ask to postpone the delivery — with a Track My Order button when the order has a tracking link, and the chat is flagged Delivery issue. After an Orders-page cancellation it tells them your team will look into it. Either reply carries Call Support when you've saved a number.
  • I asked to postpone — everything happens exactly as for "No": the chat stays unread and flagged, and the customer gets the same reply.
  • Call Support (on the reply) — replies with your support number, and opens a 24-hour window in which you can message the customer freely from the Inbox.

The reply to "No, I didn't" or "I asked to postpone" after a delivery event. Each button appears only when there's something behind it.

"Yes" is answered with the survey, one approved template per product, and "No" and "I asked to postpone" with one approved reply — all of them count toward your monthly messages. A customer who changes their answer replaces it, so an order only ever has one. Nothing here cancels or restores an order — Analytics tells you what the customer said, and you decide.

Answers are not tagged onto your orders. They used to be, and that's been removed — an answer to a question we asked isn't a fact about the order, and the tags appeared, swapped and lingered. Everything the customer said is in Analytics → Cancellation after shipping, which lists every order and its answer. The one thing still written to an order is the cancellation reason, when the customer gives one.

The cancel check replaced the separate Delivery Attempted automation. If you used it, the messages it already sent keep working, including their buttons.

The reasons customers can pick

The list is fixed, so answers stay countable — free-text reasons can't be ranked or compared across months.

Post-cancellation surveyCOD cancel (before shipping)
Changed my mindChanged my mind
Product size issueFound a better price
Product material not goodDelivery takes too long
Delivery takes too longOrdered by mistake
Ordered by mistakeOther
I didn't cancel my order
Other

Both lists include a free-text box for extra detail, and both exist in English and Arabic. The two lists differ because the two moments differ: a customer refusing at the door hasn't seen the product, so "product material not good" can't be their reason.

"I didn't cancel my order" is worth watching. It appears when someone else cancelled — a staff mistake, a courier wrongly marking a delivery failed, or a fraudulent cancellation. Any of those is a process problem, not a customer problem.

It isn't treated as a cancellation reason: picking it counts as Didn't cancel in Analytics, exactly like tapping "No, I didn't" on the cancel check, and no reason is written to the order.

What happens to the answer

  • The Shopify order is tagged with the reason — Cancel reason: Product size issue — so you can filter and analyse cancellations directly in your admin. This is the only tag this automation writes.
  • It files in the Feedback Center under Cancellation reasons, with the order, the customer, the reason and any comment.
  • It's counted in Analytics as a ranked list of top reasons, and as most-cancelled products.
  • It appears on your dashboard in the Top cancellation reasons card.
  • Every answer is in Analytics — under Cancellation after shipping: how many orders were asked, and how many said they cancelled, didn't cancel, asked to postpone, or haven't answered. Each of those is a card you can click to see the orders behind it, with the customer, the answer and the reason.

Settings

The master toggle, the triggers, and the Call Support button with its number. Everything else — the message wording, the reason list, the form — is fixed, because a survey whose options change month to month produces data you can't compare.

The card also links straight to the Feedback Center, so you can read what's come in without hunting for it.

Reading the results

The point isn't the individual answers, it's the pattern. A few examples of what a ranked list tends to reveal:

  • "Delivery takes too long" dominating — a courier or a lead-time problem, not a product problem.
  • "Product size issue" concentrated on a few products — those product pages need a size guide.
  • "Found a better price" rising — a competitor moved, and your COD customers are checking.
  • "Ordered by mistake" on a specific product — usually a confusing variant picker or a misleading photo.

Cross-reference with customer acceptance rate. A customer who cancels everything everywhere is a different problem from a product that everyone cancels.