Why it happens
The upsell comes after the checkout events. A post-purchase offer appears once the shopper has paid, before the final thank-you page. The first purchase is reported when the order is paid. The offer is a separate step that an upsell app adds to the same order afterwards. A tracking tool that reports only the first payment never sees the added amount.
The upsell app reports on its own, or not at all. Some upsell apps send their own purchase event to Meta or GA4 when an offer is accepted. Others send nothing and leave the added value out of your ad platforms. Which one you have depends on the app and its settings, so two stores with the same offer can see different numbers.
Counting rules differ between Shopify and the platforms. Shopify may show the upsell inside the original order, so you see one order with a higher total. A platform that received two events can show two purchases, and a platform that received one shows the lower value. Neither side is wrong. They count different things, and the gap shows up as a revenue difference with no matching order count difference.
Check it yourself
- 1In Shopify admin > Orders, open a recent order that carried an accepted upsell. Note the order number, the first total and the added amount.
- 2In Shopify admin > Orders, filter by Sales channel and keep the online store. Count paid orders for the last 7 full days, leaving out draft orders, point of sale sales and subscription renewals. Add up the order totals too.
- 3In Meta Events Manager > Data sources > your pixel > Overview, set the same days and read the Purchase count and, where the event details show it, the value received. If the count matches your orders but the value is lower, the upsell amounts are probably missing. If the count is higher, the upsell is reported as its own purchase.
- 4In Meta Events Manager > Data sources > your pixel > Test events, place a test order with an upsell if your upsell app lets you, and watch which Purchase events arrive and with what value.
- 5In GA4 > Reports > Monetization > Ecommerce purchases, compare item revenue for the same days with your Shopify item totals.
- 6In GA4 > Explore, make a Free form exploration with the dimension Transaction ID and the metrics purchase revenue and ecommerce purchases. Find the transaction ID of your upsell order and read its revenue. A lower value than Shopify shows means the added amount did not arrive. Two rows for one order mean the upsell was sent as its own transaction.
- 7Open your upsell app's settings and read what it says about tracking and about Meta and Google Analytics. Check whether it has a switch for sending purchases, and whether that switch is on.
An upsell is often lost because no browser reports it; server-side tracking for Shopify stores explains what a server changes.
FAQ
Is the upsell a new order in Shopify?
It depends on the app and on Shopify's setup. Many offers are added to the original order, so Shopify shows one order with a higher total. Open the order to see how your store records it.
Why does GA4 show a different revenue than Shopify after upsells?
GA4 only knows what it was sent. If the added amount never reached GA4, revenue is lower than Shopify's. If the app sent it under a new transaction ID, GA4 shows two transactions where Shopify shows one order.
Should I turn off my upsell app's tracking?
Not before you know what it sends. If it reports purchases to a platform that another tool also reports to, you can get duplicates. Check Test events in Meta or the transaction IDs in GA4 first, then decide.
Can I test an upsell without paying?
Shopify's test mode lets you place test orders, and some upsell apps work in it. Check your app's help. Test orders are marked as test in the order list.