Checkout Abandonment Sankey Diagram: Editable Template
Show where shoppers leave between cart, shipping and payment, and the reasons behind each exit. Replace the example counts with your own checkout data.
A checkout Sankey shows where carts are abandoned and why. The first half is the path through the checkout, the second half sorts the lost carts by reason.
Of 1,000 carts, 460 become orders. The other 540 leave at one of three steps, and each of those exits is then split by the reason given in an exit survey or inferred from events.
Reasons are rarely this clean in practice. Use the categories your own data supports, and keep an Unknown node rather than forcing a guess.
How to read this diagram
- 460 of 1,000 carts become orders (46%). The cart step loses the most, 300 carts, but those are often browsers.
- Unexpected cost is the largest reason at 220 carts, about 41% of everything abandoned.
- Failed payments cost 80 carts that wanted to buy, which is a fault to fix rather than a preference.
- Reasons are invented categories; the counts are for illustration.
The data behind it
Invented figures for illustration. Not data about any real business.
| From | To | Amount (carts) |
|---|---|---|
| Carts started | Reached shipping | 700 |
| Carts started | Left at cart | 300 |
| Reached shipping | Reached payment | 560 |
| Reached shipping | Left at shipping | 140 |
| Reached payment | Order placed | 460 |
| Reached payment | Left at payment | 100 |
| Left at cart | Unexpected cost | 100 |
| Left at cart | Just browsing | 150 |
| Left at cart | Account required | 50 |
| Left at shipping | Unexpected cost | 120 |
| Left at shipping | Account required | 20 |
| Left at payment | Payment failed | 80 |
| Left at payment | Account required | 20 |
The same data as CSV
source,target,value
Carts started,Reached shipping,700
Carts started,Left at cart,300
Reached shipping,Reached payment,560
Reached shipping,Left at shipping,140
Reached payment,Order placed,460
Reached payment,Left at payment,100
Left at cart,Unexpected cost,100
Left at cart,Just browsing,150
Left at cart,Account required,50
Left at shipping,Unexpected cost,120
Left at shipping,Account required,20
Left at payment,Payment failed,80
Left at payment,Account required,20How it works
Count carts at each step
Use the same period and the same definition of a cart throughout.
Count exits at each step
Each step's exits are the carts that reached it and did not move on.
Attach a reason to each exit
Use exit surveys or event data, and keep an Unknown node for the rest.
Check the balance
Each step and each exit node should send on exactly what it received.
Frequently asked questions
Where do I get reasons for leaving?
From a short exit survey, from error events such as a declined card, or from cart contents and shipping cost shown at the time. Treat inferred reasons as estimates.
Should I merge the three exit nodes?
You can, with one Abandoned node. Keeping them apart shows which step loses carts and where each reason arises.
Edit this checkout Sankey
Open the example as your own chart and enter your cart counts and reasons.