← Back to blog
Share

Ecommerce Google Analytics 4 Verification Checklist. A Spilno Agency Template

| 21 May 2026 Updated: 22 May 2026 | 10 min read 1 views
Ecommerce GA4 checklist — cover

Before we spend the first euro on Google Ads or Meta Ads, the Spilno Agency team always runs the same check — making sure ecommerce tracking in Google Analytics 4 actually works. If the purchase event never arrives, or arrives without value, your ads are flying blind: the Google optimiser has no idea what a conversion is and burns budget on the wrong people. In this article — our 7-step checklist and the Google Sheets template we use on every client project.

Why you must always verify GA4 ecommerce events before launching paid ads

Launching Google Ads or Meta Ads without proper analytics is like driving down a motorway at night with the headlights off. You can see there is a road, but you have no idea where it leads or whether it is safe. Google Smart Bidding and Meta Advantage+ algorithms learn from data: the more accurately you fire purchase with a valid value, the faster your ads find the right audience.

The second reason is the cost of error. If during the first week pixels report 2× more purchases than really happened (duplicate add_to_cart counted as purchase), the optimiser will inflate bids. A month later you’ll see ROAS at 50 % of the real number and the client will conclude the channel doesn’t work. The real issue is the data.

The third reason is attribution. If transaction_id isn’t sent, GA4 counts the same purchase multiple times (every refresh of the thank-you page becomes a new event). In Google Ads, imported conversions inflate by 3–10×. ROAS on paper is great, the cash register is empty.

  • Smart Bidding optimises what it sees — if purchase has no valid value, bids are tuned to noise
  • Duplicate events (one purchase = 2–5 hits) inflate conversions and ROAS in both Google Ads and GA4
  • Without currency on purchase, Google Ads imports conversions in the account currency, corrupting data for multi-currency stores
  • Without view_item you cannot run dynamic remarketing in Google Ads (Performance Max, Demand Gen)
  • Without correctly set item_list_id on view_item_list, you can’t see which categories convert better

9 essential ecommerce events in GA4

In Google Analytics 4 ecommerce events are a separate standard documented by Google in the Measurement Protocol. Not all are mandatory, but to build a complete funnel from the first view to checkout, you need at least 9. Here they are, in the order they appear in the funnel.

9 key ecommerce events in GA4
  1. view_item_list — User opens a category, search results or product list page. Parameters: item_list_id, item_list_name, an items array.
  2. select_item — Click on a product card in the list. Same parameter structure as view_item_list, but for one specific product.
  3. view_item — Product detail page view. currency, value and an items array with item_id, item_name, price are mandatory.
  4. add_to_cart — Item added to cart. Parameters: currency, value, items with quantity.
  5. view_cart — Cart page view. Without it you have no data for CRO analysis — you won’t see how many people open the cart but never proceed.
  6. remove_from_cart — Item removed from cart. Helps you understand which products feel wrong once price / shipping become visible.
  7. begin_checkout — Checkout started. This is your benchmark for the Cart-to-Checkout conversion rate.
  8. add_payment_info — Payment method added. Optional, but useful — the largest drop-off in any funnel sits between this step and the purchase.
  9. purchase — Completed purchase. Required parameters: transaction_id (unique!), value, currency, items, shipping, tax. It is the GA4 key event and your main Google Ads conversion.

GA4 recognises all of these events out of the box — you don’t have to create them manually under Custom events. Your dataLayer simply needs to push them with the right names and parameters. GA4 picks them up automatically and surfaces them in the Ecommerce and User journey reports.

7-step checklist to verify ecommerce GA4 before launching Google Ads

This is our working checklist. Each step closes a separate risk before the client sees the first paid impression. All seven steps are already inside our Google Sheets template — link is below.

7 steps to verify ecommerce GA4 before launching ads
  1. Step 1. GA4 data stream and Measurement ID. Open Admin → Data Streams. Confirm there is one stream (not duplicates) and the Measurement ID (G-XXXXXXX) matches the one used in GTM tags. Two streams on the same site means half of your events go to nowhere.
  2. Step 2. GTM on every page. Use DevTools → Network → filter gtm.js to confirm the container loads on home, category, product, cart, checkout and the thank-you page. Special attention on thank-you: that is where purchase fires.
  3. Step 3. dataLayer pushes 9 events. Open DevTools → Console → type dataLayer. Walk through the entire funnel and see what gets pushed. All 9 events with the right parameters must be there. If view_item arrives without value, that is a blocker.
  4. Step 4. DebugView in GA4. Open GA4 → Admin → DebugView, enable debug mode (GTM debug or the GA Debugger extension), make a test purchase. Confirm purchase arrives with all parameters and the right transaction_id.
  5. Step 5. purchase parameters. In DebugView open the Event parameters tab: transaction_id must be unique, value a number (not a string!), currency in ISO 4217 (USD, EUR, UAH), items a non-empty array. One missing field and the ad algorithm trains on the wrong signal.
  6. Step 6. Mark as key event. In GA4 → Admin → Events find purchase and toggle Mark as key event. Without this Google Ads cannot import purchase as an optimisation goal.
  7. Step 7. Google Ads ↔ GA4 link. In GA4 → Admin → Product links → Google Ads create the link. In Google Ads → Tools → Conversions import the purchase key event from GA4. Confirm the status is Recording and attribution is Data-driven (not Last click).

3 tools to verify GA4 events

No single tool gives the full picture. We always combine three: DebugView shows how GA4 interpreted the event, GTM Preview shows whether the tag fired correctly, Chrome DevTools shows whether the hit reached Google at all.

3 tools to verify GA4 events

DebugView is the admin panel inside GA4 that lets you see every event from your device in real time. You enable it via the Google Analytics Debugger Chrome extension or via GTM preview mode. You see the event itself and all of its parameters — this is the final check before launching ads.

GTM Preview is Google Tag Manager’s preview mode. It shows which tag fired and when, which triggers matched, which variables were passed. If your GA4 Event — purchase tag did not fire on the thank-you page, Preview tells you in 2 seconds. Chrome DevTools → Network is the lowest level. Here you see whether the hit to /g/collect actually left for Google’s server. If Preview is happy but Network shows nothing, an adblocker or a CSP rule is blocking the request.

The Spilno Agency checklist template in Google Sheets

We use the same checklist template across every client project — from a Ukrainian fashion marketplace to an EU auto-parts store. It already contains:

  • A table of the 9 ecommerce events with GTM / dataLayer / DebugView / Google Ads import check-boxes
  • A dedicated sheet for purchase parameters — to verify each field one by one
  • A Common mistakes sheet — 12 issues we’ve seen on real client projects and how to diagnose them
  • An Owner column — to lock in who is responsible (PM, dev, analyst)
  • A Status column with 4 values: To check / In progress / Passed / Failed
  • A Verification date column — to freeze the moment of a successful check and catch regressions later

Save the template to your own Google Drive

Click Save to Google Drive — Google opens its Make a copy dialog automatically. The copy lands in your Drive and you can freely edit it for your project. The original Spilno Agency template stays untouched — you can always compare changes.

📋 Save to Google Drive
👁 View the template

If you are a freelancer or an agency, the template is yours to adapt — change the colours, add a logo, rename the sheets. We don’t mind: this is not a commercial product, this is a tool we share with the market.

Common mistakes and how to avoid them

Here are 6 problems we regularly find when auditing new client GA4 setups.

  1. Duplicate purchase on thank-you page reload. If the event is tied to page load and not to a server callback, refreshing the thank-you page produces +1 purchase. The fix: deduplicate by transaction_id in a GTM custom variable and block repeated pushes.
  2. value sent as a string, not a number. value: "1500" is not the same as value: 1500. GA4 accepts the number form; the string form is silently ignored. Check the parameter type in DebugView.
  3. Missing currency. If your store serves UA, EU and US customers, an empty currency on purchase forces GA4 to log every order in the account default currency. The Revenue report no longer matches reality.
  4. add_to_cart on every + / − click. If the cart lets users bump quantity with a + button, do not push the event on every click. Otherwise Cart additions inflate 5–10×.
  5. view_item on a list page. Developers often confuse view_item (single product card) with view_item_list (a category). Check: a category page must push view_item_list with an array; a product page must push view_item with one object inside items.
  6. Purchase with value: 0. Test or promo orders with value: 0 are interpreted by Smart Bidding as a free sale and bids drop. Filter such orders at the GTM or server-side layer.

FAQ

What should I check first if GA4 ecommerce isn’t working?

Open DebugView, run the site in debug mode (GA Debugger extension) and walk through the customer journey. If purchase never shows up in DebugView, the issue is the dataLayer or your GTM tags. If it shows up but parameters are empty, the issue is in the GA4 Event tag parameter mapping.

Do I need to create GA4 ecommerce events manually?

No. GA4 recognises the 9 standard ecommerce events by name automatically — you don’t need to create them under Custom events. Just push them from the dataLayer with the right names and parameters and the GA4 tag in GTM will forward them intact.

How often should I run this checklist?

The first time — mandatory before launching any paid campaign. After that — once a quarter as a planned check, plus after every site release, every checkout template change, every new currency or language. Any frontend update can break the dataLayer.

Can I use the template for Shopify / WooCommerce / OpenCart?

Yes. The template describes the events that must arrive, regardless of who emits them. Shopify and WooCommerce have official integrations that emit these events out of the box. The checklist stays the same — you just spend less dev time.

What if transaction_id repeats?

GA4 silently drops a new purchase with an existing transaction_id — this is duplication protection. But if you accidentally generate the same ID for different orders (for example, timestamp without milliseconds), you will lose part of your purchases. Audit the ID generation logic on the backend.

Bottom line

Verifying ecommerce GA4 is not a technical formality, it is budget protection. If you spend €10,000 per month on Google Ads and 20 % of your purchases are missing or duplicated, you are paying €2,000 per month just for noise. Run the 9-event checklist, save the template to your own Google Drive and re-use it before every new campaign you launch.

Save the template to your own Google Drive

Click Save to Google Drive — Google opens its Make a copy dialog automatically. The copy lands in your Drive and you can freely edit it for your project. The original Spilno Agency template stays untouched — you can always compare changes.

📋 Save to Google Drive
👁 View the template

Валерій Красько
Валерій Красько Spilno Agency All articles by author →
← Back to blog