Core Issue:
GA4 is failing to record a significant portion of purchase events (20-80% missing) when integrated via Shopify’s Google Channel app, despite other events (add_to_cart, begin_checkout) firing correctly. The thank_you page_view event fires in ~95% of cases, but corresponding purchase events are frequently absent.
Key Findings:
Issue affects multiple stores globally, with particularly high discrepancy rates reported in EU-based stores
Problem persists across different browsers, devices, operating systems, and screen resolutions
Occurs with both native Shopify integration and custom GTM implementations
Some users report purchases with multiple cart items are more likely to be missed
Transaction ID issues identified: Shopify previously sent Checkout IDs instead of Order IDs, and sometimes generates random order numbers
Attempted Solutions:
Custom pixels/Customer Events: Produced similar or worse results
Turning off cookie consent: No improvement observed
Current Status:
Shopify recently acknowledged that Custom Pixels may result in “reduced performance and degraded features” with potential data loss. Despite 18+ months of reports, no official fix has been provided. Both Shopify and Google support deflect responsibility to each other, leaving merchants unable to accurately track ad spend ROI.
Summarized with AI on October 25.
AI used: claude-sonnet-4-5-20250929.
I’m encountering an issue with GA4 integration via Google app. When customer does purchase, only every 3rd - 4th purchase is counted in my GA4. All events are triggered such as add_to_cart, begin_checkout and then no purchase counted.
Like yesterday, I made 3 sales, out of which 3 times begin_checkout recorded properly but then only 1 purchase was recorded.
From Shopify admin I know, all 3 purchases went through.
We’re having exactly the same issue and frustratingly, Shopify keep handing off the issue and telling us to contact Google’s Analytics support, despite this most likely not being a Google issue.
We can even provide the order IDs that we know haven’t been sent through as purchase events because of their size, but still nothing but shifting the blame.
We encountered the same issue with some of our stores where we set up GA4 with this new integration.
The key point is that we simultaneously use integration and add some events through GTM with ga4 config tag not sending page view . So there is no any duplication and all additional ecommerce events like view_cart or view_item_list are working perfectly.
But we noticed that this native integration started missing too much purchase events. Few thoughts why it’s happenning - because of mapping integration and GTM manual method. But checked some stores where there is no such method of implementation and we have met issue there also.
Also we have checked user info (browsers, OS, etc) - and there is no clue.
One thing that we’ve found is that page_view on the thank you page is firing in 95 % cases, but no purchase event on valuable part of them.
And also all stores where we observe the biggest discrepancy are in EU zone.
Still encountering this issue. Checked the reports in GA4 and Shopify Admin and there is no clue why some of transactions are not being recorded . It’s not a country, not device, not browser, not OS reason. Checked even screen resolution dimension.
And still in 95 % cases page_views of thank you pages are present and no purchase events on greater than 20 % of them. It means that Shopify blocks intentionally this amount of purchases as we have tried not to use native integration but pushing to dataLayer purchase event on the Thank you page.
The order was placed successfully. However, the conversion event includes begin_check_out and add_payment_info were captured by GA4 but not the purchase event.
We’re currently follow the suggestion from Shopify to integrate GA4 through Google Channel app and we’re also seeking the solution to fix this data missing bug.
Hi . Actually Shopify does have a bad check with this Native integration for duplication.
I saw myself duplication in transaction in GA4 exploration when user loads his thank you page 2 days after the purchase completed. That’s also a big bug.
But it does not concern current missing, as transaction should be recorded only the first time thank you page is seen. We see that even when thank you page is loaded first time there are no purchase events .
We run a report in GA4 to check the order ID for every conversion and no issues with duplicates there.
However we’ve noticed some of the order ids are standard shopify ones, and some are seemingly random numbers (often starting with 3), although they do map to real orders that have come in.
Shopify’s had an issue for a long time where they seem to send random order IDs in the {{order}} object.
I know this because pre-google / facebook channel apps, I was doing my own custom tracking and I would use {{ order.name }} as the transaction_id to the tracking pixels.
Shopify would sometimes send the proper {{ order.name }} value and sometimes it would use some integer number unrelated to order.name. I never looked into it and I got no idea why it happens. This has been going on for years and was never resolved.
Same issue still present 6/29/23 - Fresh GA4 Install on 3 separate stores via Google app. No events in GTM, strictly looking at events that are sent from Shopify to Analytics. Add To Cart, PDP Views, Begin checkout etc all work, but purchases still being skipped. Leaving this comment here to see if there ends up being a fix
We’re seeing the same issue across multiple separate Shopify Plus stores. This is a major issue and one that Shopify & Google do not seem to be communicating on.
The community urgently requires an update on this. We have major charities and retailers missing hundreds of thousands of revenue from GA4, it’s hugely detrimental to their ability to operate. We’ve tried creating our own custom pixel rather than use the official Google sales channel, and results are similar or worse.
It looks like Shopify finally fixed the issue (according to their email) of reporting the Checkout ID rather than Order ID to GA4, but it’s ridiculous they’re just ignoring the missing transactions error. People’s businesses rely on this data, so it’s more than just a minor glitch.
Shopify support seems stuck in a loop of blaming Google, because they design the integration and neither side are taking responsibility. IMO, if a primary 3rd party integration fails to work on your platform, Shopify should be taking at least some responsibility as the company who is getting paid in this relationship.
To make matters worse, if you attempt to build your own integration through the new Customer / Custom Events feature, that doesn’t work consistently either - something we only found out after losing a 1/2 day of development time.
This is a total sh!t show that I hope someone from Shopify takes responsibility for soon.
using {{ checkout.order_number }} for transaction_id in the purchase script.
Missing trsansactions still - no fix. We definitely need answer from some Official Shopify member because it’s awful. Our clients (I assume yours and other who writes here) invest lots of money into ads, but because of this problem they even have no possibility to control this investing.
We received an email on Thursday with the subject “OrderId will replace OrderName in your Google Analytics data” , but I haven’t checked to see if this is actually happening.
Just to add, that subject line actually contradicted the contents of the email - it’s Checkout ID apparently that’s being replaced, not OrderName - well done Shopify
Here’s the email for clarity
The data you see in the Transaction ID field of Google Analytics has changed. You will now see the Shopify OrderId instead of CheckoutId in this field. We have made this change to ensure that the data you see in Google Analytics is also searchable within the Shopify Admin, which CheckoutId was not.
We do not anticipate major impacts to your reporting, but if you use the Transaction ID field for your reports or to power your Google Ads, you should review and ensure that the change in format has no impact on your setup.