Why it happens
Only one sender sends it, and it is switched off. On Shopify, add_to_cart reaches GA4 from your store's own Google tag. That tag can come from the Google & YouTube app, a custom pixel, Google Tag Manager or theme code. Google's help for the Google & YouTube app says that disconnecting the app's Analytics connection stops all Analytics data from the app. If you removed it to stop its purchases, its add_to_cart events stopped too. A tool that sends only purchases from a server does not replace them.
A custom pixel does not subscribe to the event. Shopify's custom pixels run on Shopify's customer events. The event for a cart addition is product_added_to_cart. Shopify's own example subscribes to it and to checkout_started. A custom pixel that only listens to checkout_completed sends a purchase and nothing else.
The add to cart does not happen on the online store. Shopify's reference says product_added_to_cart is available on the online store page. A headless storefront, or a buy button on another site, needs its own code to report the event.
The shopper skips the cart. Shopify says that a customer who clicks an unbranded accelerated checkout button skips the cart and goes to the Shopify Checkout. These buttons sit next to Add to cart on the product page. Those orders can show begin_checkout and purchase with no add_to_cart before them. That is expected.
Consent stops the tag. Shopify's pixels overview says that in markets where consent is required, web pixels run only when visitors have given the permissions the pixel asks for. Visitors who declined send no add_to_cart. Google's DebugView help adds that events are not visible in debug mode when users have not given consent for Analytics cookies.
The event is sent, but without items. Google's event reference marks items as required for add_to_cart. Each item needs item_id or item_name. If you send value, currency is required for revenue metrics to be computed accurately. An event with an empty items array reaches GA4 but adds little to the ecommerce reports.
The report is too new. Google says reports and explorations can take up to 24 hours to fill with ecommerce data. Realtime shows events sooner.
Check it yourself
- 1List every place that can send GA4 events: the Google & YouTube app, Shopify admin > Settings > Customer events (custom pixels and app pixels), Google Tag Manager and your theme code.
- 2In the Google & YouTube app, check that the Google Analytics connection is still on and points to your GA4 property.
- 3Open each custom pixel under Settings > Customer events. Look for code that subscribes to product_added_to_cart and sends add_to_cart to GA4.
- 4Turn on debug mode with Google Tag Assistant on your store's address. Accept analytics on your cookie banner first.
- 5In GA4, open Admin > Data display > DebugView. Add a product to the cart with the Add to cart button, not a Buy it now button.
- 6Select the add_to_cart event and read its parameters. Look for currency, value and an items array with item_id or item_name.
- 7If nothing arrives, open the GA4 Realtime report and read Event count by event name. If add_to_cart shows there, the event works and the gap is in reporting time or in consent.
- 8Compare the number of add_to_cart events with begin_checkout over the same days. A gap that grows after an app change points to that change.
How the purchase itself reaches GA4 is in Shopify conversion tracking.
FAQ
Why does GA4 show purchases but no add_to_cart?
Purchases and cart events can come from different senders. A server connection or a custom pixel can send purchases alone. The cart events still need your store's own Google tag.
Does Buy it now skip add_to_cart?
Shopify says an unbranded accelerated checkout button skips the cart. So such an order can have no add_to_cart. Count those orders apart before you call it missing data.
Can I see add_to_cart in GA4 Realtime?
Yes. Realtime shows event counts by event name for recent activity. The ecommerce reports take longer.
Why does add_to_cart have no revenue?
Check value and currency. Google says currency is required for revenue metrics when you send value. Also check that items is not empty.
My purchases are missing too. Is it the same problem?
Often not. Purchases have their own page: GA4 shows fewer purchases than Shopify. For a purchase that never fires at all, see GA4 purchase event not firing on Shopify.