GA4 Ecommerce Event Architecture
GA4 ecommerce tracking uses a specific set of recommended event names and parameter structures. Using the correct event names is critical — GA4's built-in ecommerce reports (Monetisation section) only populate with data when you use the exact recommended names and include the required parameters.
The Items Array
All GA4 ecommerce events include an items array — a list of product objects. Each product object should include:
item_id(required): your product SKU or unique identifieritem_name(required): product name as it appears in your cataloguequantity: quantity of this itemprice: unit price of the itemitem_brand: brand nameitem_category: primary categoryitem_category2throughitem_category5: subcategory hierarchyitem_variant: variant (e.g. colour, size)item_list_name: name of the product list (used in list attribution reporting)index: position of the item in the list
Product List Events
view_item_list: User views a list of products (category page, search results)
gtag('event', 'view_item_list', {
item_list_id: 'category_shoes',
item_list_name: 'Shoes',
items: [{item_id: 'SKU-001', item_name: 'Running Shoe', price: 89.00, index: 1}]
});
select_item: User clicks a product from a list
Product Detail Events
view_item: User views a product detail page
gtag('event', 'view_item', {
currency: 'GBP',
value: 89.00,
items: [{item_id: 'SKU-001', item_name: 'Running Shoe', price: 89.00, quantity: 1}]
});
Cart Events
add_to_cart: User adds an item to the cart
remove_from_cart: User removes an item from the cart
view_cart: User views the cart
All cart events require the items array, currency, and value parameters.
Checkout Events
begin_checkout: User initiates the checkout process
add_shipping_info: User selects shipping method
add_payment_info: User selects payment method
These events power the checkout funnel in GA4's Monetisation reports.
Purchase Event
purchase: Transaction completed
gtag('event', 'purchase', {
transaction_id: 'T-12345',
value: 89.00,
currency: 'GBP',
tax: 14.83,
shipping: 4.99,
coupon: 'SALE10',
items: [{
item_id: 'SKU-001',
item_name: 'Running Shoe',
price: 89.00,
quantity: 1,
coupon: 'SALE10',
discount: 9.90
}]
});
Required for the purchase event: transaction_id, value, currency, and items.
refund: Full or partial refund processed (use negative value for the refunded amount)
GA4 Ecommerce Reports That Need This Data
With correctly implemented ecommerce events, GA4 populates:
- Reports then Monetisation then Ecommerce purchases: revenue by product, brand, category
- Reports then Monetisation then Purchase journey: funnel from view_item_list to purchase
- Reports then Monetisation then Checkout journey: funnel from begin_checkout to purchase
Summary
GA4 ecommerce tracking requires using the exact event names from the spec and including the items array on every event. The purchase event is the most critical — always include transaction_id for deduplication, value, currency, and items. Without these, the built-in Monetisation reports remain empty.
See our Enhanced Ecommerce Tracking service and GA4 Setup & Audit service for ecommerce implementation.
Need GA4 ecommerce tracking set up correctly? Contact Adslytics.
Need expert tracking setup?
Our Google Tag Manager experts have delivered 500+ tracking setups with a 98% success rate.
Get a Free Consultation →