• Free shipping on orders over €50

Repository markdown

Source: docs/data-layer/EVENTS.md

Wiki home

Data Layer Events Reference

Complete list of all events pushed to window.dataLayer by the application, grouped by category.


Routing

virtual_page_view

Fired on every page navigation (both initial load and client-side). Always the first custom event on each page.

PropertyTypeDescription
eventstring"virtual_page_view"
page.urlstringFull URL including query string
page.pathstringPathname only (no origin or query)
page.referrerstringPrevious page URL (internal) or external referrer on new entry
page.titlestringDocument title at time of push

Trigger logic: Inline script on initial load; RoutingCompleteTracker on client-side route changes.


Pushed as the very first dataLayer entry, before virtual_page_view. Sets the baseline consent state.

json
["consent", "default", { "ad_storage": "denied", "analytics_storage": "denied", ... }]

Pushed when the user interacts with the consent banner.

json
["consent", "update", { "ad_storage": "granted", "analytics_storage": "granted", ... }]

Custom event fired alongside consent: update for GTM trigger use.

PropertyTypeDescription
eventstring"cookie_update"
consent_statusstring"accepted" or "denied"
consent_modestring"update"
consentsobjectFull consent state object

Ecommerce (GA4)

All ecommerce events follow the GA4 recommended event schema. They are gated behind virtual_page_view — guaranteed to never fire before the routing event on any page.

Each ecommerce push is preceded by { ecommerce: null } to clear the previous ecommerce object (GA4 requirement).

view_item_list

User views a list/collection of products.

PropertyTypeDescription
eventstring"view_item_list"
ecommerce.item_list_idstringUnique list identifier
ecommerce.item_list_namestringDisplay name of the list
ecommerce.itemsGa4Item[]Array of product items

select_item

User clicks/selects a product from a list.

PropertyTypeDescription
eventstring"select_item"
ecommerce.item_list_idstringList the item was selected from
ecommerce.item_list_namestringDisplay name of that list
ecommerce.itemsGa4Item[]The selected item(s)

view_item

User views a product detail page.

PropertyTypeDescription
eventstring"view_item"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberTotal value of items viewed
ecommerce.itemsGa4Item[]The viewed item(s)

add_to_cart

User adds item(s) to the cart.

PropertyTypeDescription
eventstring"add_to_cart"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberTotal value of added items
ecommerce.itemsGa4Item[]Added item(s)

remove_from_cart

User removes item(s) from the cart.

PropertyTypeDescription
eventstring"remove_from_cart"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberTotal value of removed items
ecommerce.itemsGa4Item[]Removed item(s)

view_cart

User views the cart page/drawer.

PropertyTypeDescription
eventstring"view_cart"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberTotal cart value
ecommerce.itemsGa4Item[]All items in cart

begin_checkout

User initiates the checkout process.

PropertyTypeDescription
eventstring"begin_checkout"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberCheckout value
ecommerce.couponstringApplied coupon code (empty string if none)
ecommerce.itemsGa4Item[]Items in checkout

add_shipping_info

User selects a shipping method.

PropertyTypeDescription
eventstring"add_shipping_info"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberOrder value
ecommerce.couponstringApplied coupon code
ecommerce.shipping_tierstringSelected shipping method name
ecommerce.itemsGa4Item[]Items in order

add_payment_info

User selects/enters payment information.

PropertyTypeDescription
eventstring"add_payment_info"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberOrder value
ecommerce.couponstringApplied coupon code
ecommerce.payment_typestringPayment method name
ecommerce.itemsGa4Item[]Items in order

purchase

Order is completed/confirmed.

PropertyTypeDescription
eventstring"purchase"
ecommerce.transaction_idstringUnique order/transaction ID
ecommerce.affiliationstringStore name
ecommerce.valuenumberTotal order value
ecommerce.taxnumberTax amount
ecommerce.shippingnumberShipping cost
ecommerce.currencystringISO 4217 currency code
ecommerce.couponstringApplied coupon code
ecommerce.itemsGa4Item[]Purchased items

refund

An order (or part of an order) is refunded.

PropertyTypeDescription
eventstring"refund"
ecommerce.transaction_idstringOriginal transaction ID
ecommerce.valuenumberRefund amount
ecommerce.currencystringISO 4217 currency code
ecommerce.itemsGa4Item[]Refunded items

add_to_wishlist

User adds item(s) to a wishlist.

PropertyTypeDescription
eventstring"add_to_wishlist"
ecommerce.currencystringISO 4217 currency code
ecommerce.valuenumberTotal value of wishlisted items
ecommerce.itemsGa4Item[]Wishlisted item(s)

view_promotion

User views a promotional banner/element.

PropertyTypeDescription
eventstring"view_promotion"
ecommerce.promotion_idstringPromotion identifier
ecommerce.promotion_namestringPromotion display name
ecommerce.creative_namestring?Creative asset name
ecommerce.creative_slotstring?Slot/placement identifier
ecommerce.location_idstring?Location on page

select_promotion

User clicks/interacts with a promotion.

PropertyTypeDescription
eventstring"select_promotion"
ecommerce.promotion_idstringPromotion identifier
ecommerce.promotion_namestringPromotion display name
ecommerce.creative_namestring?Creative asset name
ecommerce.creative_slotstring?Slot/placement identifier
ecommerce.location_idstring?Location on page

User performs a search.

PropertyTypeDescription
eventstring"search"
search_termstringThe search query
result_countnumberNumber of results returned

Ga4Item Schema

All ecommerce events include an items array. Each item follows this schema:

PropertyTypeRequiredDescription
item_idstringYesProduct SKU
item_namestringYesLocalized product name
affiliationstringNoStore/seller name
couponstringNoItem-level coupon
discountnumberNoDiscount amount per unit
indexnumberNoPosition in list (0-based)
item_brandstringNoBrand name
item_categorystringNoPrimary category
item_list_idstringNoID of the list this item appeared in
item_list_namestringNoName of that list
item_variantstringNoVariant (color, size, etc.)
pricenumberYesUnit price in the specified currency
quantitynumberYesNumber of units

GTM Internal Events

These are pushed by GTM itself (not by application code), but appear in the dataLayer:

EventSource
gtm.jsGTM container initialization
gtm.domDOM ready
gtm.loadWindow load complete