🛍️ Shopify on WhatsApp

Asking for a review on WhatsApp after delivery

Asking every customer for a public review is how you collect bad ones. Ask for a private rating first.

A review request flow waits a day or so after delivery, asks the customer to rate their order, thanks the happy ones and routes the unhappy ones to a person before they write anything public. The ordering is the whole technique.

Most review automations invite a public review from everybody. That is an efficient way to collect the reviews of customers whose parcel arrived damaged. A private rating first costs one extra step and changes who ends up on your product page.

Check the trigger actually fires first

This flow is usually built on Shopify's order delivered event, and that event only arrives if your carrier reports delivery back to Shopify. Many carriers do not.

Test before you build. Place a real order, fulfil it, and watch whether a delivered event ever arrives. If it does not, trigger on order shipped plus a delay matching your typical delivery time instead. Less precise — and it actually runs, which beats precise and silent.

The flow

Rate privately, review publicly

TriggerShopify: order delivered
Wait1 dayLong enough to have opened it
SendCheck the order arrivedUtility template — the chat is cold
Ask"How would you rate your order?"List of five, rating recorded
5 · 4
Thank them, invite a public review

Only the happy ones get the link.

3 · 2 · 1
Apologise, promise a person
Assign the chat

The complaint you get to fix privately.

Install this flow

Needs Shopify connected, an approved utility template, and the team that handles complaints.

Add this automation to my account It installs as a draft. Nothing is switched on and no customer is messaged until you press Publish.

Why the first message is a template

A day after delivery, the customer has almost certainly not messaged you recently, so the 24-hour window is closed and only an approved template will send. Keep it utility — it is about an order that exists — which means it is free when a window happens to be open and charged when it is not, per Meta's pricing rules.

Once the customer taps a rating, the window opens and everything after is free text. So the rating question can follow the template as an ordinary message, and the thank-you or apology after it costs nothing.

Use a list, not buttons

WhatsApp allows a maximum of three interactive buttons, and a 1–5 scale needs five options — so set the reply type to list.

Put the number at the front of each label — "5 - Excellent" through "1 - Bad" — because the score is read from the label text. "Excellent" without its digit does not score. The mechanics are in collecting satisfaction scores.

When to ask

TimingArgument
Same day as deliveryThey may not have opened it. Too early for most categories.
1 day afterOpened, tried, still fresh. A reasonable default.
3 days afterBetter for clothing and anything that needs using first.
A week afterFine for durable goods; too late for most.

We are not going to quote you a percentage uplift for any of these, because the figures circulating for review-request timing are vendor marketing rather than research. Pick from the reasoning, then compare your own reply rates.

Ask once

A review request is a message, and it counts against the same finite patience as everything else you send. A customer ordering twice a month should not be surveyed twice a month.

Add a Pause Before Repeating step so the same contact is not asked again within, say, 30 days. And keep the total number of automated messages per customer in view — how many automations a store should run works through the arithmetic.

What the rating will and will not do

Read the low scores, not the average

Response rates are low and skewed: very happy and very annoyed customers answer, the middle does not. So the average is a trend, not a measurement.

The individual 1s and 2s are the product. Each one is a customer telling you privately what they were about to say publicly, in a channel where you can still fix it — which is the entire reason to build this flow rather than emailing a review request to everybody.

For consumables, the same delivery moment is also the natural place to ask whether they want a check-in when they run low — see reorder and replenishment reminders.

What to say to an unhappy customer

The low-score branch is the part of this flow that earns its keep, and the message on it does most of the work. Three things belong in it:

  1. An apology without a defence. "I'm sorry that wasn't right" — not "sorry you feel that way", and not an explanation of your dispatch process.
  2. A commitment to a person. Say someone will pick it up, not that their feedback has been "logged".
  3. No request for anything. This is not the moment to ask what went wrong in detail; a human can do that. Asking a dissatisfied customer to fill in more of your process is how a 2 becomes a public 1.

Then assign the chat with an internal note carrying the score, so your colleague opens it already knowing. Handing a chat from bot to human covers doing that well.

What the message costs

The opening message is a utility template, because a day after delivery the customer has almost certainly not written to you recently and the 24-hour window is shut. It is charged when sent outside a window and free inside one, per Meta's pricing documentation.

Everything after the customer taps a rating is free, because the tap opens the window. So the whole flow costs one template per order — and if you would rather pay nothing at all, ask for the rating at the end of a live support conversation instead, where no template is involved.

Keeping it out of the way of everything else

A review request is one more message competing for the same finite patience as your order updates and campaigns. Two guards worth adding:

The wider budget question — how many automated messages one customer should get in total — is in how many automations a store should run.

Getting more replies

Response rates on rating questions are low everywhere. Four things that demonstrably help, none of which involve asking harder:

  1. Ask one question, not a survey. A single tap is a low enough cost that people do it. A form is not.
  2. Ask about the order, not about you. "How would you rate your order?" gets more answers than "how did we do?", because the customer has an opinion about the product and rarely one about your service.
  3. Ask when the memory is fresh — a day after delivery for most things, three days for clothing that needs trying.
  4. Ask at the end of a conversation the customer started, where it costs nothing and feels natural rather than solicited.

Turning a good rating into a public review

The high-score branch is where the commercial return sits, and the sequencing matters. Thank them first, then ask — in the same message, with a direct link to wherever you collect reviews. Do not send them to a homepage to find it.

Expect a fraction to follow through, and treat that as fine: the reviews you get are from people who have just told you privately that they are happy, which is a very different population from everyone who bought. That selection is the entire point, and it is what makes this flow better than an untargeted review request emailed to your whole customer list.

The rating does not sync anywhere. It appears in your analytics, and that is all — it does not post to your product pages or into a reviews app. The public review only happens if the customer chooses to leave one after following your link.

If delivered events never arrive

Since this flow usually hangs off Shopify's order-delivered event, and that event depends on your carrier reporting back, a meaningful number of stores find it never fires. The fallback is straightforward: trigger on order shipped instead and add a delay matching your typical delivery time.

It is less precise — some customers will be asked before the parcel lands — so soften the opening line to "your order should have arrived by now" rather than asserting that it has. An honest hedge reads better than a confident message that is wrong.

It also gives you a second, useful signal. A customer who replies "it hasn't arrived" to that message has just told you about a delivery problem you did not know about, days before they would otherwise have complained — which is worth as much as the rating you were asking for.

Frequently asked questions

When should I ask for a review after delivery?

About a day after delivery is a reasonable default — opened and tried, still fresh. Three days suits clothing and anything that needs using first. Published uplift figures for review timing are vendor marketing, so compare your own reply rates.

Why does my review request never send?

Because Shopify's order-delivered event only arrives if your carrier reports delivery back, and many do not. Test with a real order, and fall back to order-shipped plus a delay.

Should I ask every customer for a public review?

No. Ask for a private rating first and invite a public review only from customers who rated 4 or 5. Asking everyone is how you collect the reviews of people whose parcel arrived damaged.

Why do rating options need buttons or a list?

WhatsApp allows a maximum of three interactive buttons, so a 1–5 scale needs the list reply type. Keep the number at the front of each label, because the score is read from the label text.

Need help? Message us