Checkout exit survey: how to ask customers why they don't buy
Analytics tells you how many customers abandon the checkout, not why. A one-click question at the right moment gives you the reason. We explain how to ask it without being annoying, when an incentive makes sense and how to turn the answers into changes.
Your analytics dashboard tells you that, out of every hundred people who reach the checkout, a significant share leave without paying. It tells you at which step and on which device. What it doesn't tell you is why. And without the why, any change is a gamble: you cut shipping costs when the problem was the payment method, or you redesign the form when the customer was only comparing prices.
The most direct way to find out is to ask. A one-click exit survey in the checkout appears when the customer shows signs of leaving and asks them for the reason.
When to ask
The survey has to appear when the customer is about to leave, not when they have just arrived. The usual signals are:
- Exit intent on desktop: the mouse leaves through the top edge of the window, towards the tabs or the address bar.
- Sudden upward scrolling, especially on mobile, where there is no mouse.
- Inactivity: the customer sits still on the form for a while.
And only with products in the cart: asking someone who landed on the checkout by mistake tells you nothing.
What to ask
A single question, with closed answers and an optional free-text field. The more questions, the fewer answers. A reasonable starting point:
- Shipping is expensive.
- Delivery takes too long.
- I can't find my payment method.
- The payment failed.
- I'd rather not create an account.
- I was just looking or comparing.
- I found a better price.
- Other reason (free text).
Adapt the list to your store. If you sell to businesses, "I need a quote or invoice first" may be the most frequent reason. If you sell technical products, "I'm not sure it's compatible".
A coupon in return, or not?
Offering a discount to people who are leaving recovers sales, but it carries a risk: if the coupon always appears, you teach your customers that pretending to leave gets rewarded. Stores that do it well follow three rules:
- Incentive based on the reason. For someone who says shipping is expensive, a free-shipping coupon makes sense. For someone who says "just looking", it doesn't.
- A unique, single-use coupon tied to the customer, with an expiry date. A generic code shown in a popup ends up being shared.
- Minimum cart value for showing the incentive, so you don't give away margin on orders that can't absorb it.
And start without a coupon. In the first few weeks, the survey is for learning. Once you know which reasons carry weight, you decide which ones are worth answering with an incentive.
How to read the answers
Individual answers are misleading. A handful of complaints about shipping doesn't mean shipping is the main problem. Wait until you have a reasonable sample and then cross-reference the reason with the context:
- Device: if almost all payment errors come from mobile, the problem is technical, not price.
- Chosen payment method: a method that concentrates abandonments usually has a gateway fault or an extra step that you don't see on desktop.
- Carrier: if "delivery takes too long" keeps coming up with one particular option, there is your answer.
- Cart total: complaints about shipping cluster just below your free-shipping threshold.
- Language and country: a foreign customer may not find their usual payment method.
Compare across periods too: if you change something (lower the free-shipping threshold, add a payment method), the reasons given in the following weeks tell you whether it worked.
Read the free-text answers as well, even if there are only a few. They often describe a fault that no closed option captures: a coupon that won't apply, a field that rejects a postcode, a button that doesn't respond.
For each reason, an action
| Frequent reason | What to check |
|---|---|
| Shipping is expensive | Free-shipping threshold, rates by zone, showing the cost before the checkout |
| Delivery takes too long | The carrier's real delivery time, an express option, stating the delivery time on the product page |
| My payment method is missing | The usual methods in your market (card, Bizum, PayPal, bank transfer) |
| Payment error | Gateway logs, tests on mobile, payment module version |
| I don't want to create an account | Visible guest checkout with no catches |
| Better price elsewhere | Compare properly; sometimes the difference is shipping, not the product |
When the reason is a payment error, first check whether your store and your payment modules are up to date. Gateways change their requirements (strong customer authentication, new API versions), and an old payment module on an outdated PrestaShop is a common cause of failures that only show up with certain banks or browsers.
Common mistakes
- Long surveys, with several questions and mandatory fields.
- Showing it as soon as the page loads.
- A coupon for everyone from day one.
- Drawing conclusions from a handful of answers.
- Not testing it on mobile before going live.
- Collecting the reasons and changing nothing.
Checklist
- One question, closed reasons adapted to your store and a free-text field.
- Exit trigger on desktop and an alternative on mobile.
- Once per session and only with a cart.
- No incentive at first; later, only for specific reasons and with a unique coupon.
- Cross-reference answers with device, payment, carrier and amount.
- Review every month and note what you change for each reason.
How to do it in PrestaShop
RKR Exit Poll shows a one-click survey in the checkout with eight editable reasons and optional free text, triggered by the mouse leaving the window, sudden scrolling, inactivity or a combination of all three (on mobile it uses the combined mode). By default it appears once per session, and you can exclude customer groups. Each reason can carry its own message and a unique single-use coupon tied to the customer, with a minimum cart value. Each answer stores the device, carrier, payment method, language and total, and the dashboard shows you the reasons, the funnel and the value of recovered orders.