You can enrich your Kelkoo Sales Tracking (KST) implementation by sending information about the products included in each transaction. Basket information helps Kelkoo Group better understand which products generate sales and enables additional performance optimisations.
Always use the canonical field names below: productname, productid, quantity, price. This is the only reliable way to send basket data to Kelkoo Sales Tracking, whichever installation method you use. Other field names (such as name, sku, item_id, or id) are not guaranteed to be interpreted correctly, and are currently known to be mis-parsed for baskets containing more than one product with a non-canonical name — do not rely on them, even if your Data Layer already exposes your basket under those names.
Manual installation
Add a basket parameter to the _kkstrack object on your order confirmation page, containing an array of all products included in the transaction. Every product must use exactly these four field names:
window._kkstrack = {
...
basket: [
{ productname: 'Example product 1', productid: '1', quantity: '1', price: '4.2' },
{ productname: 'Example product 2', productid: '2', quantity: '3', price: '8.6' },
...
]
...
};
All four fields are required for each product, using exactly these names:
|
Field |
Description |
|---|---|
|
|
Name of the product |
|
|
Unique identifier of the product — see the note above on matching your feed |
|
|
Number of units purchased |
|
|
Unit price of the product |
Installation via Google Tag Manager (GTM)
If your Data Layer already pushes a standard GA4 or Universal Analytics purchase event with items already using the canonical field names (GA4: item_id/item_name/price/quantity; UA: id/name/price/quantity — see How Kelkoo Sales Tracking automatically reads your Google Analytics data layer , your basket is read automatically for those specific keys — no configuration needed.
For any other basket shape — a custom array, an older Enhanced Ecommerce-style transactionProducts push, or any product object using different field names — do not rely on automatic key-alias detection. Instead, map your basket to the tag's Basket / Items input using a Data Layer Variable that resolves to an array of products already using the canonical names (productname/productid/quantity/price). This may require a Custom JavaScript Variable that transforms your existing array into this shape before it reaches the tag. See Creating Custom GTM Data Layer Variables for Non-Standard Datalayer Formats for how to create and map it.
Verify your basket data is received correctly
After a test purchase with at least two different products in the basket, check the /st network call on your confirmation page (see Test your Kelkoo Sales Tracking setup ) and confirm the productsInfos parameter contains all the products in your test basket, with the correct name, ID, quantity, and price for every product — not just the first one.