Exit survey and cart recovery for Shopify

Ask why they’re leaving. Then answer that.

When a shopper with a full cart heads for the exit, WhyNotBuy asks one question and responds to the answer. A code for price. Your size guide for fit. Shipping terms for shipping. Their cart by email for later.

Coming to the Shopify App StoreSee pricing
  • 14 days free on every plan
  • From $19 a month
  • 6 KB on each page

This is the real widget, not a recording. Click any answer to take over.

01 / The idea

One question. A different answer for each reason.

Pick what a shopper might say. The live widget shows what they get back.

A single-use code with a real expiry. Created in Shopify the moment they ask, applied at checkout, dead when the timer ends. Percentage, fixed amount or free shipping.

A blanket discount answers a question nobody asked.

Most exit popups open with ten percent off. Some of those shoppers were only checking the size chart. Some wanted to know when it ships. They get a discount they did not need, and you still don’t know why they were leaving.

WhyNotBuy asks first. You spend margin only on the people who said price, and every answer becomes a row in your dashboard: what stops people from buying in your store, in their words, ranked.

02 / Honest numbers

Would they have bought anyway?

It is the fair question to ask of any recovery tool. Every experiment here keeps a holdout group that never sees the widget, and each group is counted by the same rule, so the difference you read is the difference the widget made.

  • Recovered revenue counts real orders: ones that used a WhyNotBuy code, or a cart where the shopper answered the widget. An estimate is always labelled as one.
  • A winner is suggested only when the two versions really differ, not when both beat doing nothing.
  • Holdout shoppers are not counted against your plan. Experiments are on every plan.
Experiment: 10% against 15%Example numbers
Variant A10% code
4.1%
Variant B15% code
4.6%
HoldoutNo widget
3.2%

Orders per hundred shoppers. The gap between a variant and the holdout is what the widget added. The gap between A and B decides the offer.

03 / In the admin

Built for the person who runs the store.

a

The ranked list of why people leave

Every answer is recorded with the cart it came from. After a few days you know whether your problem is price, fit or shipping, and what to fix first.

Example numbers
Price is too high
46%
Shipping cost or speed
27%
Not sure about size or fit
15%
Just browsing
9%
Something else
3%
b

A different offer for a $40 cart and a $400 cart

Smart rules change the offer, the headline or the whole mode by cart value, device, new or returning, and how interested the shopper looked. They are judged at the moment the widget opens.

If cart value is at least $200

and device is phone

then offer 15% off with the headline “Your cart qualifies for more”

c

Set up in a few clicks, previewed for real

A five-step wizard turns the widget on. A three-step builder makes a bundle. The design, offer and bundle screens each have a preview that opens the real widget with your own products, and creates no code.

  1. What to offerDiscount on an add-on, a gift, or two for one price
  2. ProductsThe main product and the add-on, from your catalogue
  3. The deal“Shirt and knit together for $129.” Shopper saves $23.

04 / Design

Ten looks. Your fonts, your photo, your accent.

Each look is a different layout, not a recolour. Most of them pick up your theme’s fonts, so the widget feels like part of the store.

The Minimal look on an example store
MinimalHairline list, black on white
The Soft look on an example store
SoftRounded cards, violet accent
The Bold look on an example store
BoldDark tiles in two columns
The Playful look on an example store
PlayfulPill chips, coral accent
The Luxe look on an example store
LuxeSerif headline, numbered list
The Glass look on an example store
GlassFrosted panel over the page
The Poster look on an example store
PosterThe photo behind the question
The Chat look on an example store
ChatBubbles and quick replies
The Receipt look on an example store
ReceiptMonospace, dotted lines, a barcode
The Brutal look on an example store
BrutalThick borders, hard shadows

05 / On your storefront

A good guest in your theme.

6 KB
The script that loads on each page, gzipped. The widget itself arrives only when it is needed.
0
Theme files edited. It runs as a Shopify app embed and is gone the moment you uninstall.
Consent
It follows your store’s customer privacy settings. No visitor id without analytics consent.
Esc
Closes it. Focus is kept inside and handed back, taps are finger-sized, motion respects the system setting.

06 / Getting started

Your first two weeks.

  1. Minute 3Switched on

    Turn on the app embed, pick a goal and a look, start the trial. Five short steps.

  2. Day 1First answers

    Each exit with a cart is a chance to ask. Home shows the funnel and the reasons as they come in.

  3. Week 1Reasons, ranked

    As answers add up, Analytics shows which reason leads and what each response did.

  4. Day 14Your call

    The trial ends. Keep it, change plan or cancel. Nothing is charged before then.

07 / Pricing

Priced by shoppers who saw the widget.

An intervention is one shopper who was shown the widget. Visitors who never see it are not counted. If the allowance runs out the widget pauses, with no overage fees. Every plan starts with 14 days free and is billed through Shopify.

Starter

For stores finding their footing

$19 a month

3,000 interventions every 30 days

  • Exit widget on desktop and phone, every trigger included
  • Exit survey with editable reasons and a free-text answer
  • Time-limited single-use codes: percent, fixed amount or free shipping
  • Cart-link email and opt-in reminder emails
  • A/B experiments with a holdout group
  • Your logo, custom CSS, no WhyNotBuy branding
  • Attributed-revenue dashboard and survey answers

Growth

For stores optimising every exit

$49 a month

15,000 interventions every 30 days

  • Everything in Starter
  • Smart rules and segments by cart value, device and intent
  • Bundle cross-sell on the shipping answer
  • Callback requests on big carts
  • SMS & WhatsApp cart links with your own Twilio account

Pro

For high-traffic brands

$99 a month

60,000 interventions every 30 days

  • Everything in Growth
  • 300 SMS / WhatsApp messages a month included, no extra account to set up
  • Priority support within one business day
  • Launch review of your setup

08 / Questions

The hard ones first.

Won't this train shoppers to wait for a discount?

In the standard setup, only a shopper who says price is the problem gets a code, and that code is single-use and stops working when its timer ends. A sizing question gets your size guide, not money off. You can also run the survey with no offers at all, and every experiment keeps a holdout group so you can see what the widget adds.

How does it know a shopper is leaving on a phone?

There is no cursor to watch, so it listens for three things: the Back button when it would leave your store, a fast scroll back towards the address bar, and a return to the tab after a minute or more away. It opens as a bottom sheet, once per page, and by default only when something is in the cart.

Will it slow my store down?

About 6 KB of script loads on each page. The widget itself, about 23 KB, loads only when it is about to be shown. It runs as a Shopify app embed, so it never edits your theme files and leaves nothing behind in your theme when you uninstall.

What about cookie consent?

The widget follows your store's Shopify customer privacy settings. Without analytics consent it stores no visitor id and sends no analytics events. An email address or phone number is only kept when the shopper asks for their cart, and texts need a confirmation code first.

How is recovered revenue counted?

An order counts as recovered when it used a code the widget issued, or when the shopper answered the widget on that same cart before ordering. Until the first such order, the dashboard shows the value of carts that clicked your offer and labels it an estimate. In an experiment, every group, the holdout included, is measured by the same rule: orders from shoppers the widget opened for, or would have.

Is there a free plan?

No. Every plan starts with a 14-day trial billed through Shopify, and nothing is charged if you cancel before it ends. Plans differ by features and by how many shoppers can be shown the widget in 30 days. Pageviews are never counted.

Find out why they leave.

Coming to the Shopify App Store