Most Magento teams treat checkout drop-off as a conversion-rate problem. The CRO deck shows a funnel. Someone says “we should A/B the place-order button.” Ads keep running.
That is the wrong unit.
Drop-off is a profit problem. Every session you paid to acquire that dies in cart, shipping, or payment still spent media. It did not contribute COGS, but it also did not contribute contribution. Yesterday's net profit already includes that waste — you just cannot see it if the only dashboards you trust are Magento sales and Google ROAS.
The decision Magento owners actually need
When yesterday's net is soft, there are two honest moves:
- Buy less of the traffic that never becomes an order — or stop scaling it.
- Fix the stage that is leaking paid sessions before you buy more of them.
If you cannot tell which stage lost the customer, you will pick (1) or (2) at random. Random is how Magento stores scale losses while ROAS stays “fine” — see ROAS looks fine, cash does not.
A Magento funnel that is useful for P&L
You do not need a session replay product. You need aggregated stages in store timezone, joined to the same day as DailyProfit:
- Product / category (merchandise intent)
- Add to cart
- Checkout started
- Payment started
- Place order / success
That is enough to answer: *did we lose them before cart, in checkout, or on payment?* It is not enough — and should not be used — to replay an individual person. Search queries, emails and addresses do not belong in this view.
A day that looks fine in ads and Magento
Illustrative store-timezone day (not a customer case study):
| Line | Amount |
|---|---|
| Ad spend | €2,400 |
| Sessions that hit a product | 1,800 |
| Add to cart | 420 |
| Checkout started | 190 |
| Payment started | 95 |
| Orders / success | 48 |
| Magento revenue | €9,600 |
| Platform ROAS | 4.0× |
Magento: “48 orders, €9.6k — acceptable.” Ads: “4× ROAS — scale.”
Now put the same day through a real P&L:
| Line | Amount |
|---|---|
| Revenue | €9,600 |
| Refunds | −€480 |
| COGS | −€4,100 |
| Merchant shipping | −€620 |
| Payment fees | −€175 |
| Ad spend | −€2,400 |
| Net | €1,825 |
Net is still positive. The leak is *where the other 142 checkout starts went*. If payment-started → success is 50%, you are paying for a payment step that throws away half of qualified demand. Buying another €2,400 of the same traffic doubles the waste. Fixing payment (method, 3-DS, wallet, timeout) raises yesterday's net without raising spend.
That is the point of joining drop-off to P&L. Conversion rate alone cannot tell you whether the leak is cheaper to fix than to starve.
Why Magento reports hide this
Magento is excellent at orders that completed. Admin reports, “sales,” most BI on top of Magento — they start at the order. Abandoned checkout is a different object. Payment step is often a hash route (#payment), a progress bar, or a radio list — not a Magento “page” your analytics suite mapped once in 2019.
Meanwhile ad platforms count the click and, if you are lucky, the Purchase. They do not know you lost 95 people on the payment radios after they already accepted shipping.
So the operator sees:
- Green Magento (green dashboard, red bank)
- Green ROAS
- Soft cash
and concludes “creative is tiring” or “CPM is up.” Sometimes that is true. Often the store simply cannot convert the demand it already bought.
What to measure (and what not to)
Measure
- Stage counts and drop-off rates for a store-timezone day or week
- The same stages by source / campaign when a purchase pixel has consented click ids
- Whether a net-profit dip lines up with a worse checkout→payment or payment→success rate
- Magento order count from REST vs pixel success count — they will not match; do not pretend they do
Do not measure
- Individual “journeys” with PII
- Search query dumps
- Speed / JS-error / Web Vital theatre unless you already know ops is the bottleneck (that is a different product)
If marketing consent was not granted, those sessions are not in the pixel funnel. Treat coverage as consented storefront sessions, not “all Magento visitors.”
How this changes the weekly ads meeting
A workable agenda:
- Yesterday (or last 7 days) net and POAS — how to read Overview
- Which stage got worse vs the previous equal period
- Which campaigns fed that stage (pixel attribution is Beta — campaign P&L)
- One action: fix the leak, cut the campaign, or do nothing because the leak is not the P&L story (refunds, COGS, free shipping, fees)
If payment→success collapsed and spend was flat, do not scale Google. If product→cart collapsed on one campaign only, that campaign's merchandising or landing is the leak — not “Magento checkout.”
Where Verid fits
Verid already puts Magento orders, refunds, COGS, shipping cost, fees and ad spend on one store-timezone P&L. The purchase pixel is one Settings snippet — no Magento module — and records consented PageView / Purchase plus checkout stages (cart, checkout, payment, place order) so drop-off can sit next to DailyProfit, not in a separate CRO tool.
You still decide. The job of the number is to stop you buying more traffic into a hole.
Practical checklist this week
- Write down your Magento stages (product → cart → checkout → payment → success) and who owns each
- Compare orders in Magento vs Purchases in the pixel — if Purchases are missing, start with success page fired PageView only
- For one soft-profit day, ask whether checkout→payment or payment→success moved
- Do not raise budget on a 4× ROAS campaign until you know those sessions survive payment
If Magento is green, ROAS is green, and cash is not, the missing slide is usually not another attribution model. It is where the sale died, on the same day as the P&L.
Try the demo, read one P&L without spreadsheet glue, or start a trial.