Add To Cart
Fire whenever a user adds one or more items to their cart.
Javascript Code
// When:
// User adds one or more items to cart
// Code:
window.dataLayer = window.dataLayer || [];
dataLayer.push({ event_data: null, ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
event: "add_to_cart",
event_data: {
identifier: "<identifier>", // REQUIRED | string | ex. uniquely_created_id, skin360_pwa_ntg_atc
name: '<name>' // REQUIRED | string | ex. pdp_add_to_cart, skin360_pwa_ntg add_to_cart
},
ecommerce: {
currency: "<currency>", // REQUIRED | string | ex. USD | pattern: ^[A-Z]{3}$ | min. 3| max. 3
items: "<items>", // REQUIRED | array | ex. [{item_id: "test"}]
value: "<value>" // REQUIRED | number | ex. 7.77 | pattern: ^\d\.\d\d$ | min. 0.00
}
});
Variable Definitions
Field | Type | Required | Description | Example | Pattern | Minimum Length | Maximum Length | Minimum |
---|---|---|---|---|---|---|---|---|
identifier | string |
required | The wtb-event machine-readable name. This should be a unique value specific to this piece of content, if one exists. If one does not exist, this can also be populated with the same value as the |
contact , lead_generation |
100 |
|||
name | string |
required | The wtb-event human-readable name. This should be something that an analyst without a deep knowledge of the technical implementation of the site can easily identify the event with. It should be lowercase snake_case. | contact , lead_generation |
100 |
|||
currency | string |
required | Currency of the items associated with the event, in 3-letter ISO 4217 format. | USD |
^[A-Z]{3}$ |
3 |
3 |
|
items | array of [items] (../../schemas/item.md) |
required | Populate with item objects that represent the product(s) added to the cart. | [{item_id: "test"}] |
||||
value | number |
required | The monetary value of the event. Does not include currency sign. | 7.77 |
^\d\.\d\d$ |
100 |
0.00 |