Event reference
- PageView
- ViewContent
- AddToCart and AddToWishlist
- InitiateCheckout and AddPaymentInfo
- Purchase
- Lead, CompleteRegistration, Subscribe, StartTrial
- Other events
Complete overview of all supported SEM events, their parameters and code examples. Events are sent using SEM('track', 'EventName', data).
Basic rules
Currency must always be CZK. Convert other currencies before sending. The value parameter is always excl. VAT (total product price). Shipping price (delivery_price), other costs (other_costs) and unit price (unit_price) are incl. VAT.
Overview of all events
| Name in interface | Event | Required | Recommended |
|---|---|---|---|
| Page view | PageView | – | – |
| Content view | ViewContent | – | content_type, currency, value, contents |
| Add to cart | AddToCart | – | currency, value, contents |
| Add to wishlist | AddToWishlist | – | currency, value, contents |
| Initiate checkout | InitiateCheckout | – | currency, value, contents |
| Add payment info | AddPaymentInfo | – | currency, value, contents |
| Purchase | Purchase | order_id, currency, value | value_tax, content_type, contents, review_email, delivery_type, delivery_price |
| Search | Search | – | search_string |
| Lead | Lead | – | currency, value |
| Complete registration | CompleteRegistration | – | status, currency, value |
| Subscribe | Subscribe | – | currency, value, predicted_ltv |
| Start trial | StartTrial | – | currency, value, predicted_ltv |
| Contact | Contact | – | – |
| Schedule | Schedule | – | – |
| Donate | Donate | – | – |
| Customize product | CustomizeProduct | – | – |
| Submit application | SubmitApplication | – | – |
PageView
Send on every page of the website. The base script calls PageView automatically. For SPA applications (React, Vue, etc.) call the event manually on every route change.
PageView is also used for dynamic product retargeting – add content_type: 'product' and the product ID in the contents array.
// Basic PageView (called automatically by the script)
SEM('track', 'PageView');
// PageView with product data (for DRTG)
SEM('track', 'PageView', {
content_type: 'product',
currency: 'CZK', // only CZK supported
value: 27677, // excl. VAT
contents: [{
id: 'ABC12345',
quantity: 1,
unit_price: 33490, // incl. VAT
content_name: 'iPhone 15 Pro Max',
content_category: 'Elektronika | Mobilní telefony | Apple'
}]
});
ViewContent
Send when a product page or category page is displayed. This is the key event for dynamic retargeting – use content_type to distinguish between a product and a category.
Paired parametersvalue and currency must always be sent together. The same applies to contents and content_type – one without the other is not sufficient.
| Parameter | Type | Requirement | Example | Description |
|---|---|---|---|---|
content_type | string | Recommended | 'product' | Content type: product for a product detail page, product_group for a category, page for other pages |
currency | string | Recommended | 'CZK' | Always CZK. Convert other currencies. |
value | number | Recommended | 33490 | Total cart value in CZK excl. VAT |
contents | array | Recommended | see example | Array of products. See the Contents[] object description. |
Product detail
SEM('track', 'ViewContent', {
content_type: 'product',
currency: 'CZK', // only CZK supported
value: 27677, // excl. VAT
contents: [{
id: 'ABC12345',
quantity: 1,
unit_price: 33490, // incl. VAT
content_name: 'iPhone 15 Pro Max',
content_category: 'Elektronika | Mobilní telefony | Apple'
}]
});
Category
// For a category page – content_type must be 'product_group'
SEM('track', 'ViewContent', {
content_type: 'product_group',
currency: 'CZK', // only CZK supported
value: 0,
contents: [{
content_category: 'Elektronika | Mobilní telefony | Apple' // category for DRTG
}]
});
AddToCart and AddToWishlist
Send when a product is added to the cart (AddToCart) or to favourites (AddToWishlist). The data structure is identical for both events.
| Parameter | Type | Requirement | Example | Description |
|---|---|---|---|---|
currency | string | Recommended | 'CZK' | Always CZK |
value | number | Recommended | 33490 | Total cart value in CZK excl. VAT |
contents | array | Recommended | see example | Added products. See Contents[]. |
SEM('track', 'AddToCart', { // or 'AddToWishlist'
currency: 'CZK', // only CZK supported
value: 27677, // excl. VAT
contents: [{
id: 'ABC12345',
content_name: 'iPhone 15 Pro Max',
content_category: 'Elektronika | Mobilní telefony | Apple',
quantity: 1,
unit_price: 33490 // incl. VAT
}]
});
InitiateCheckout and AddPaymentInfo
Send when the order process is started (InitiateCheckout) and when payment details are entered (AddPaymentInfo). These events allow you to measure cart abandonment rates.
SEM('track', 'InitiateCheckout', { // or 'AddPaymentInfo'
currency: 'CZK', // only CZK supported
value: 28090, // excl. VAT
contents: [
{
id: 'ABC12345',
quantity: 1,
content_name: 'iPhone 15 Pro Max',
content_category: 'Elektronika | Mobilní telefony | Apple',
unit_price: 33490 // incl. VAT
},
{
id: 'KRYT999',
quantity: 1,
content_name: 'Ochranný kryt',
content_category: 'Elektronika | Příslušenství | Kryty na telefon',
unit_price: 500 // incl. VAT
}
]
});
Purchase
The most important e-commerce event – send it immediately after the order is completed on the order confirmation page. It contains complete order data including products, shipping and payment.
review_email must not be hashed
The review_email parameter is used to send a customer satisfaction survey from Seznam Shopping. Unlike other email fields, do not hash this value. Only send it if the customer has not opted out of receiving surveys.
| Parameter | Type | Requirement | Example | Description |
|---|---|---|---|---|
order_id | string | Required | 'OBJ-987654' | Unique order number. Used for deduplication. |
currency | string | Required | 'CZK' | Always CZK |
value | number | Required | 27364 | Total cart value in CZK excl. VAT |
value_tax | number | Recommended | 5746 | VAT on the value amount |
content_type | string | Recommended | 'product' | Always product for product purchases |
contents | array | Recommended | see example | Purchased products. See Contents[]. |
review_email | string | Recommended | 'jan@email.cz' | ⚠️ DO NOT HASH. Email for the Seznam Shopping survey. |
delivery_type | string | Recommended | 'CESKA_POSTA' | Shipping method per DELIVERY_ID from the XML feed |
delivery_price | number | Recommended | 121 | Shipping price incl. VAT in CZK |
payment_type | string | Optional | 'karta' | Payment method – any string value |
other_costs | number | Optional | -500 | Additional costs/discounts incl. VAT. Discounts = negative number. |
SEM('track', 'Purchase', {
content_type: 'product',
currency: 'CZK', // only CZK supported
order_id: 'OBJ-987654',
review_email: 'zakaznik@email.cz', // ⚠️ DO NOT HASH
value: 27364, // total value excl. VAT (in CZK)
value_tax: 5746, // VAT amount (in CZK)
delivery_type: 'CESKA_POSTA',
delivery_price: 121, // shipping incl. VAT
other_costs: -500, // discount incl. VAT (negative number)
payment_type: 'karta',
contents: [
{
id: 'ABC12345',
quantity: 1,
content_name: 'iPhone 15 Pro Max',
content_category: 'Elektronika | Mobilní telefony | Apple',
unit_price: 33490 // incl. VAT
}
]
});
Search
Send on every search performed on the website. Allows you to target retargeting at users searching for specific products.
SEM('track', 'Search', {
search_string: 'bezdrátová sluchátka'
});
Lead, CompleteRegistration, Subscribe, StartTrial
Events for non-e-commerce websites – lead generation, registration, subscriptions.
Lead
SEM('track', 'Lead', {
currency: 'CZK', // only CZK supported
value: 500 // estimated lead value
});
CompleteRegistration
SEM('track', 'CompleteRegistration', {
status: true, // true = successful registration
currency: 'CZK', // only CZK supported
value: 0
});
Subscribe / StartTrial
SEM('track', 'Subscribe', { // or 'StartTrial'
currency: 'CZK', // only CZK supported
value: 199, // subscription price (excl. VAT)
predicted_ltv: 2400 // estimated customer lifetime value
});
Other events
These events have no required parameters and are used to measure specific interactions.
| Event | When to use |
|---|---|
Contact | User contacted the company (phone, chat, email) |
CustomizeProduct | User customized a product (colour, configuration) |
Donate | Donation to a charitable cause |
Schedule | Booking an appointment (hairdresser, doctor, etc.) |
SubmitApplication | Submitting an application or request |
// No parameters
SEM('track', 'Contact');
// With optional value
SEM('track', 'Schedule', {
currency: 'CZK', // only CZK supported
value: 1000
});
Product object contents[]
The parameters for individual products passed in the contents array are described on the dedicated page Product object – contents.