From initial catalog browse to issuing a full refund. Every micro-interaction is tracked.
view_item_list catalog loadedselect_item product clickedview_item product page viewedadd_to_cart added to cartremove_from_cart removed from cartbegin_checkout checkout startedadd_shipping_info shipping info addedadd_payment_info payment info addedpurchase purchase completerefund refund issuedEvery e-commerce event in GA4 follows the same shape: a top-level event with currency and value, plus an items[] array describing what was acted on. Here's an add_to_cart push as a reference:
dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'USD',
value: 49.00,
items: [{
item_id: 'SKU_42',
item_name: 'Halyk Hoodie',
item_brand: 'Halyk',
item_category: 'Apparel',
price: 49.00,
quantity: 1,
}]
}
});Why this matters:
view_item_list, select_item, view_item, add_to_cart, begin_checkout, purchase (one trigger per event name).purchaserefund