docs
  1. Features
  2. Analytics & Tracking
  3. Tracking Events

Tracking Events

As outlined in the Analytics & Tracking guide, the SCAYLE Storefront Application automatically tracks a range of key e-commerce interactions. This page delves into the specifics of each of these tracking events, providing in-depth descriptions of their function and the parameters they capture, enabling a deeper understanding of your customer's journey.

Shop Initialization Events

shop_init

  • Triggered on every page load when a user opens the shop for the first time.
Data Layer KeyValueDescriptionType
event"shop_init"Event name.string
landing_page<landing_page>The full URL of the page the user landed on (e.g., "https://www.scayle.com/platform/digital-storefront/").string
locale<locale>Language-country code (ISO 639-1 combined with ISO 3166-1 Alpha-2), e.g., "de_DE".string
origin"web"Source of the event (typically "web" for storefront applications).string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
parameter<document.location.search>The URL query parameters, including UTM parameters and search terms, e.g., "?utm_source=awin&utm_medium=campaign123&search=shoes".string
referrer<referrer>The URL of the page that referred the user to the current page (e.g., "https://www.google.com/").string
shop_currency<currency_code>Currency code (ISO 4217), e.g., "EUR".string
shop_id<shop_id>Unique identifier of the shop, e.g., 139.number
shop_version<git_hash>The version identifier of the deployed Storefront Application (e.g., "1.0.0-rc.06").string

shop_change

  • Triggered when a user changes the shop, e.g. after a language / country change.
Data Layer KeyValueDescriptionType
event"shop_change"Event name.string
locale<locale>Language-country code of the newly selected shop (ISO 639-1 combined with ISO 3166-1 Alpha-2), e.g., "de_DE".string
shop_currency<currency_code>Currency code (ISO 4217) of the newly selected shop, e.g., "EUR".string
shop_id<shop_id>Unique identifier of the newly selected shop, e.g., 139.number

content_view

  • Triggered when a user navigates to a new page within the shop or views a page for the first time in their session.
Data Layer KeyValueDescriptionType
event"content_view"Event name.string
content_client_group<content_client_group>Overarching category of the shop, possible values: "female", "male", "kids", "none" (default or fallback).string
content_name<page_path>The current page's path, e.g., "/" for the homepage or "/en/c/women-50337" for a category page.string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
title<page_title>The SEO title of the current page, e.g., "Women | SCAYLE Storefront".string

customer_data

  • Triggered when a user visits the shop for the first time in their session, immediately after a successful login or logout action, and upon the successful creation of a new customer account.
Data Layer KeyValueDescriptionType
event"customer_data"Event name.string
customer_id<customer_id>Unique identifier of the logged-in customer, e.g., 84, null or absent for guest users.number
customer_type<customer_type>Type of customer: "guest" (after logout or before login), "new" (newly registered), "existing" (logged in), e.g., "existing".string
eh<email_hash>SHA256 hash of the customer's email address, if available and user is logged in; undefined otherwise.string
logintrue | falseIndicates if the user is currently logged in (true) or not (false), e.g., true.boolean
login_method<login_method>Method used for login, e.g., "none" (guest), "email", "facebook", "apple".string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

Product Interaction Events

select_item

  • Triggered when a user clicks on a product tile or color variant thumbnail to view the Product Detail Page. This event captures user interest in specific products.
Data Layer KeyValueDescriptionType
event"select_item"Event name.string
content_name<page_path> The current page's path (document.location.pathname) where the product selection occurred, e.g., "/en/c/women-50337" (Category Page) or "/en/search?q=dress" (Search Results Page).string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

view_item

  • Triggered when a user lands on the Product Detail Page (PDP), indicating engagement with a specific product's details.
Data Layer KeyValueDescriptionType
event"view_item"Event name.string
content_name<page_path> The current page's path (document.location.pathname) of the PDP, e.g., "/en/p/sweatshirt-adicolor-essentials-205765".string
ecommerce<ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

add_to_cart

  • Triggered when a user adds an item to their shopping basket.
Data Layer KeyValueDescriptionType
event"add_to_cart"Event name.string
content_name<page_path> The current page's path (document.location.pathname) of the PDP, e.g., "/en/p/sweatshirt-adicolor-essentials-205765".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

remove_from_cart

  • Triggered when a user removes an item from their basket.
Data Layer KeyValueDescriptionType
event"remove_from_cart"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/basket".string
ecommerce<ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

cart

  • Triggered on basket updates, such as adding or removing items, or changing quantities. This event sends the updated list of products in the basket.
Data Layer KeyValueDescriptionType
event"cart"Event name.string
items<items>An array of items currently in the basket. Each item is an object containing detailed information about the product, such as item_id, item_name, quantity, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated Items documentation for details.array
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
total_campaign_reduction_with_tax<total_campaign_reduction_with_tax> The total monetary reduction applied to the basket due to campaigns, including tax.number
total_sale_reduction_with_tax<total_sale_reduction_with_tax> The total monetary reduction applied to the basket due to general sales, including tax.number
total_with_tax<total_with_tax>The total value of all items in the basket after all discounts and including tax.number
total_without_tax<total_without_tax>The total value of all items in the basket after all discounts and excluding tax.number

view_cart

  • Triggered when a user navigates to the basket page.
Data Layer KeyValueDescriptionType
event"view_cart"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/basket".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

add_to_wishlist

  • Triggered when a user adds an item to their wishlist.
Data Layer KeyValueDescriptionType
event"add_to_wishlist"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/basket".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

remove_from_wishlist

  • Triggered when a user removes an item from their wishlist.
Data Layer KeyValueDescriptionType
event"remove_to_wishlist"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/wishlist".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

wishlist

  • Triggered on wishlist updates, such as adding or removing items. This event sends the updated list of products in the wishlist.
Data Layer KeyValueDescriptionType
event"wishlist"Event name.string
items<items>An array of items currently in the wishlist. Each item is an object containing detailed information about the product, such as item_id, item_name, quantity, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated Items documentation for details.array
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

select_promotion

  • Triggered when a user interacts with a promotion component that has a link, such as clicking on a promotion ribbon, a promotion overview card, or a promotion banner displayed on a page. This event helps track user engagement with specific promotional offers.
Data Layer KeyValueDescriptionType
event"select_promotion"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/basket".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

Checkout Funnel Events

begin_checkout

  • Triggered before redirecting to the checkout process, indicating the start of the checkout funnel.
Data Layer KeyValueDescriptionType
event"begin_checkout"Event name.string
content_name<page_path> The current page's path (document.location.pathname) right before the checkout redirection, typically the basket page, e.g., "/en/basket".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

purchase

  • Triggered when a user lands on the order success page after completing a purchase. This event confirms a completed transaction.
Data Layer KeyValueDescriptionType
event"purchase"Event name.string
content_name<page_path> The current page's path (document.location.pathname), typically the Order Success page, e.g., "/en/success".string
ecommerce <ecommerce>Contains an object with e-commerce related information, including an array of items. Each item in the array represents the product that was selected and includes details like item_id, item_name, price, item_variant, item_brand, and potentially custom parameters like color and size. See the dedicated E-commerce Object documentation for details.object
page_type<page_type>Type of the current page (e.g., "osp", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

User Authentication Events

sign_up

  • Triggered when a user registers or signs up for an account.
Data Layer KeyValueDescriptionType
event"sign_up"Event name.string
content_name<page_path> The current page's path (document.location.pathname), typically the sign-up page, e.g., "/en/signin".string
customer_id<customer_id>Unique identifier of the newly registered customer, e.g., 85.number
customer_type<customer_type>Type of customer, which will always be "new" for this event.string
eh<email_hash>SHA256 hash of the newly registered customer's email address.string
login_method<login_method>Method used for sign-up, e.g., "email", "facebook", "apple".string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
status<status>Indicates if the user's registration was successful, e.g., "successful" or "error".string

login

  • Triggered when a user successfully logs into their account.
Data Layer KeyValueDescriptionType
event"login"Event name.string
content_name<page_path> The current page's path (document.location.pathname), typically the login page, e.g., "/en/login".string
customer_id<customer_id>Unique identifier of the logged-in customer, e.g., 84.number
customer_type<customer_type>Type of customer, which should always be "existing" for a successful login event.string
eh<email_hash>SHA256 hash of the logged-in customer's email address.string
login_method<login_method>Method used for login, e.g., "email", "facebook", "apple".string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
status<status>Indicates if the login attempt was "successful" or resulted in an "error".string

logout

  • Triggered when a user logs out of their account.
Data Layer KeyValueDescriptionType
event"logout"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/basket".string
customer_id<customer_id>Must be set to undefined to overwrite existing dataLayer information and remove identifying information from subsequent events.string
eh<email_hash>SHA256 hash of the customer's email address. Must be set to undefined to overwrite existing dataLayer information and remove identifying information from subsequent events.string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

Search and Filter Events

  • Triggered when a user performs a search query.
Data Layer KeyValueDescriptionType
event"search"Event name.string
content_name<page_path> The current page's path (document.location.pathname), e.g., "/en/c/women-50337".string
page_type<page_type>Type of the current page (e.g., "category_page", "homepage", "basket_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string
search_term<search_term>The term the user entered in the search input, e.g., "sneakers".string
search_term_completed<term_by_shop>The term suggested by the shop (e.g., from autocomplete) that the user interacted with or that resulted in the search, e.g., "Sneaker".string
search_action<search_action>

The specific action related to the search interaction:

  • "search_term": The user chose "See all {search_term} results".
  • "suggested_category": The user chose a suggested category.
  • "suggested_product": The user chose a suggested product.
string
search_destination<url>The URL of the page the user is redirected to after performing the search or clicking a suggestion, e.g., "/en/c/women/sneaker-50342" or "/en/search?q=sneakers".string

filter_flyout

  • Triggered when the filter flyout is opened or closed. This event tracks interactions with the filter menu.
Data Layer KeyValueDescriptionType
event"filter_flyout"Event name.string
action<filter_action>Describes the interaction with the filter flyout, e.g., "open".string
label<filter_value>Indicates the current state of the filter flyout: "true" if open, "false" if closed.string
page_type<page_type>Type of the current page (e.g., "category_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

filter_slider

  • Triggered when a user applies a filter option.
Data Layer KeyValueDescriptionType
event"filter_slider"Event name.string
action<filter_action>Describes the type of filter being applied (e.g., "price", "size", "brand").string
label<filter_value>Describes the specific value or range applied for the filter (e.g., "40-80" for a price range, "M" for size).object
page_type<page_type>Type of the current page (e.g., "category_page", "search_results_page"). See the dedicated Page Types documentation for details.string
page_type_id<page_type_id>Represents the product ID (on a product detail page) or category ID (on a product listing page), e.g., "134".string

Supporting Data Structures

This section provides details on the common data structures used as values within the tracking event parameters, such as the different page types and the format of the ecommerce and items objects.

Page Types

The <page_type> parameter in various tracking events can have the following values:

  • "homepage"
  • "search_result_page"
  • "category_page"
  • "product_detail_page"
  • "basket_page"
  • "wishlist_page"
  • "account_area"
  • "signin_page"
  • "content_pages" - Pages created via CMS
  • "checkout"
  • "osp" - Order Success Page

E-commerce Object

The ecommerce parameter is an object that often contains an items array (for product-related events).

Items Array

The ecommerce.items array contains objects representing individual products and includes the following properties:

Data Layer KeyValueDescriptionType
campaign_discount<discount>Discount amount due to a campaign as a number (in major units), e.g., 0.number
currency<currency_code>Currency code (ISO 4217), e.g., "USD".string
destination<type|id>Type and ID of the destination the user navigated to (e.g., `"product|206107")string
destination_url<url>The URL of the destination page, e.g., "/en/p/sneakers-adifom-climacool-206107".string
item_brand<brand_name>Brand of the product, e.g., "ADIDAS ORIGINALS".string
item_brand_id<brand_id>Unique identifier of the product's brand, e.g., "2259".string
item_category<category_name>Primary category of the product, e.g., "Sneaker".string
item_category_id<category_id>Unique identifier of the product's primary category, e.g., "50363".string
item_id<product_id>Unique identifier of the product, e.g., "206107".string
item_list_id<list_id>Unique identifier of the product list, e.g., "CategoryProductList", "BL".string
item_list_name<list_name>Name of the product list the item appeared in, e.g., "Category Product List", "Basket List".string
item_name<product_name>Name of the product, e.g., "Sneakers 'AdiFOM CLIMACOOL'".string
item_size<size>Size variant of the product, e.g., "M".string
original_price<price>Original price of the product as a number (in major units), e.g., 119.number
price<price>Current price of the product as a number (in major units), e.g., 69.9.number
quantity<quantity>The quantity of the product (as a string), e.g., "1".string
sale_discount<discount>Discount amount due to a sale as a number (in major units), e.g., 49.1.number
sold_outtrue | falseIndicates if the product is currently sold out.boolean
tax<tax_amount>Tax amount applied to the product as a number (in major units), e.g., 49.1.number