Skip to content
Guide

GA4 audit checklist for Shopify and WooCommerce stores

Updated October 23, 2026

This GA4 audit checklist is for Shopify and WooCommerce stores that don't trust what Google Analytics is telling them. Work through it in order: property settings, ecommerce events, purchases, key events, traffic sources, then a live test. Most checks take a minute in Admin, and each one says what to look for.

Start the GA4 audit checklist with property settings

  • Use one web data stream for the store. Google's account structure guide recommends one data stream for a business with one website, and one web stream across multiple domains, combined with cross-domain measurement.
  • Check that the G- ID installed on your site is the one from that web data stream. You'll find the stream under Admin → Data collection and modification → Data streams.
  • Open the stream and make sure Enhanced measurement is on. It measures page views, scrolls, outbound clicks, site search, video engagement, file downloads and form interactions without code changes. Page views are always collected.
  • Google says you must make sure no personally identifiable information is collected, so look at what your site search terms and form fields send.
  • Data retention: on a standard property, user-level and event-level data can be kept for 2 or 14 months (Analytics 360 has longer options). The setting only affects explorations and funnel reports, not standard reports. If you want explorations that reach back more than a few months, choose 14 months.
  • Next to it, Reset user data on new activity restarts a user's retention period each time that user sends a new event.

Ecommerce events, in funnel order

Google's ecommerce guide lists a recommended event for each step of the purchase path. For a typical store, check that these fire on the right pages, in this order:

  • view_item when a product page loads. view_item_list and view_cart cover collection and cart pages.
  • add_to_cart when a product goes in the cart, then begin_checkout when checkout starts.
  • add_shipping_info and add_payment_info as the shopper fills in shipping and payment details, then purchase on the order confirmation page.
  • From add_to_cart through purchase, items is required. Each item needs item_id or item_name, and Google recommends sending both.
  • value is the sum of price times quantity for all items, without shipping or tax. If you send value, currency is required for revenue to be calculated correctly, as a 3-letter ISO 4217 code such as USD.

Purchases: one order, one event

Revenue in GA4 comes from purchase events, so check them closely:

  • Every purchase sends transaction_id. Google marks it required for purchase and says it helps you avoid duplicate events for a purchase.
  • The ID is a real order number, different for every order. Google warns that reusing one ID for different transactions can undercount key events, and that the ID must not contain anything that identifies the customer.
  • The ID is never an empty string. GA4 deduplicates all purchase events sent with transaction_id="", so you lose orders.
  • Deduplication only works on web streams, and only for the same user. A reload of the thank-you page with the same ID is caught. Two tags sending the same order under different IDs are not.
  • Only one setup sends purchase. Google's Shopify guide says to check for duplicate tags if you track in the Google & YouTube app and also in your storefront code or a custom pixel. WooCommerce's docs say multiple tracking code instances on the same page can cause issues.
  • Compare a week of GA4 purchases with orders in your store admin. Fewer in GA4 can mean blocked tags or declined consent. More in GA4 than real orders points to duplicates.

Key events

  • GA4 now calls the actions that matter to your business key events. Conversion now means an action used to measure Google Ads campaign performance.
  • purchase is marked as a key event by default. To mark another event, such as begin_checkout, go to Admin → Data display → Events, find it in Recent events and click the star. You need Editor access or above.
  • A standard property can have up to 30 key events. Marking one affects reports from that point on and doesn't change historic data.
  • Google recommends setting value on any event you mark as a key event.
  • If you share key events with Google Ads, test the Ads side too: see how to test Google Ads conversion tracking.

Referrals, internal traffic and cross-domain

  • Unwanted referrals: if customers pay on a third-party payment page and come back to your site, that payment domain shouldn't count as a referral. Add it under Admin → Data streams → your web stream → Configure tag settings → Show all → List unwanted referrals. Sessions that were already attributed to it stay that way.
  • Internal traffic: define your team's IP addresses in the same tag settings, then create an Internal Traffic filter under Admin → Data collection and modification → Data filters. Start it in Testing, check it, then switch it to Active. An active filter is permanent: excluded data is never processed. It can take 24 to 36 hours to take effect.
  • Cross-domain: if checkout or another step of the purchase path runs on a different domain you own, add every domain in the stream's tag settings and use the same G- tag on all of them. When it works, links between the domains carry a _gl parameter in the URL.

Shopify, WooCommerce and consent

  • Shopify: the documented route is the Google & YouTube app, connected to your GA4 web stream. Google's guide lists events it sends, including view_item_list, view_cart, remove_from_cart and add_shipping_info. Shopify notes that GA4 can't track events until you turn off private mode for the online store.
  • WooCommerce: the Google Analytics for WooCommerce extension takes your G- ID under WooCommerce → Settings → Integration → Google Analytics. Purchase tracking needs a payment gateway that redirects to the order-received page, and page views aren't tracked for logged-in admins, so test while logged out.
  • Consent mode: Google's tags use four consent types: ad_storage, analytics_storage, ad_user_data and ad_personalization. The default has to be set on every page before any config or event command, and your banner sends an update when the visitor chooses.
  • In basic consent mode, Google tags don't fire until consent is given. In advanced mode, they send cookieless pings while consent is denied. Google leaves the choice to your company's guidelines.
  • Accept the banner yourself and check that tracking starts. WooCommerce's docs note that if the consent plugin never updates consent, data won't reach Google Analytics.

Test it live

  • Reports → Realtime shows active users in the last 30 minutes. It's a quick way to confirm data reaches the property at all.
  • Turn on debug mode with Google Tag Assistant (tagassistant.google.com) or Tag Manager's preview mode, then open Admin → Data display → DebugView. The Seconds stream shows events from the last 60 seconds. Click one to see its parameters.
  • Walk the path a customer takes: product page, add to cart, checkout. Each event should appear once, in order, with items, value and currency.
  • Pixel Audit runs the same walk-through from our servers: it opens your store, goes through home, product, cart and checkout, and reports which GA4 events fired and with what parameters, along with seven other tags. It doesn't place an order, so it can't see purchase, and it can't see Measurement Protocol events.

See which GA4 events fire on product, cart and checkout pages in one run.

3 free checks a day. You'll sign in or create an account first.

Questions

What should a GA4 audit checklist include?
Property settings (one web stream, Enhanced measurement, data retention), ecommerce events and their parameters, purchase deduplication, key events, referral and internal traffic settings, consent, and a live test in DebugView.
Why does GA4 show more purchases than my store has orders?
Check whether two setups both send purchase, or whether transaction_id changes between sends. GA4 only deduplicates purchases from the same user with the same transaction_id on a web stream.
Does the GA4 data retention setting affect standard reports?
No. Google says it only affects explorations and funnel reports. Standard reports aren't affected.
How do I check GA4 ecommerce events on Shopify?
Turn on debug mode with Tag Assistant, open DebugView, and go through a product page, the cart and checkout. If you connected GA4 through the Google & YouTube app, make sure no other GA4 tag in your theme or a custom pixel sends the same events.

Related guides

Sources