Product

Prev Next

1 Overview

Mapp Intelligence enables tracking of different product statuses to analyze user interaction across the full shopping funnel. The product status defines the context in which a product is viewed or interacted with.

The following product statuses are available:

Product Status

Description

list

Viewed in a catalog or product overview page

view

Viewed on a product detail page

addToWishlist

Added to a wishlist

deleteFromWishlist

Removed from a wishlist

addToCart

Added to a shopping cart

deleteFromCart

Removed from a shopping cart

checkout

Moved to checkout

confirmation

Purchased

displayReco

A product in a recommendation is loaded

clickReco

A product in a recommendation is clicked

For details on implementing each product status, see section 3 Objects and Methods.


2 Configurable Properties

The following properties are available for product tracking:

Property

Description

Data type

Request Parameter

id

A unique product identifier. Use a SKU or article number to support catalog imports.

string

ba

cost

Product price. For multiple quantities, send the total price. "0" values are allowed.

number

co

quantity

Quantity of the product.

number

qn

soldOut

Indicates if the product is sold out (true) or in stock (false).

boolean

cb760

variant

Identifier of the product’s variant or style context (not SKU-level).

string

cb767

fashionStyleId

Product code or variant identifier. (Mapp Fashion only)

string

fashionItemTitle

Product name. (Mapp Fashion only)

string

fashionItemCategory

Product category (Mapp Fashion only)

string

parameter

Optional e-commerce parameters. Can enrich product data with attributes like color or size.

object

cb[ID]

category

Defines the product category. Each product can only have one category per category ID.

object

ca[ID]

Mapp Fashion only

These properties are processed exclusively by the Mapp Fashion extension and are sent to Mapp Fashion. They are not transferred to Mapp Intelligence and therefore do not appear as request parameters in Mapp Intelligence tracking requests.

2.1 Parameters

Parameters allow you to enrich product data with website-specific values (e.g., product size, color). You must configure parameters in Mapp Q3 > Configuration > Custom Parameters > E-Commerce Parameters. Values appear in E-Commerce > E-Commerce Parameters for type "Text" or as metrics for type "Number".

For setup instructions: How to Set Up Custom Parameters

2.2 Categories (Product Categories)

Categories group products into structured hierarchies (e.g., category, brand). Each product can only have one value per category ID. Categories must be set up under Mapp Q3 > Configuration > Categorisation > Product Categories.

Tracked categories of type "Text" appear under E-Commerce > Product Categories. Categories of type "Number" are available as metrics.

For setup instructions: How to Set Up Categories


3 Objects and Methods

Tracking Objects

Mapp Intelligence provides two main tracking objects for product tracking:

  • data: Contains all product details including price, quantity, parameters, and categories.

  • parameter: Allows custom attributes to be assigned to each product separately.

In addition, the following product status objects are available:

Object

Description

list

Product viewed in a catalog

view

Product detail view

addToWishlist

Product added to wishlist

deleteFromWishlist

Product removed from wishlist

addToCart

Product added to shopping cart

deleteFromCart

Product removed from shopping cart

checkout

Product moved to checkout

confirmation

Product purchased

displayReco

A product in a recommendation is loaded

More information

clickReco

A product in a recommendation is clicked

More information

The following examples use the confirmation object, which supports multiple products.

Methods

Each object supports the following methods:

Method

Description

set()

Overwrites all existing values

add()

Adds or updates values. Existing values remain unchanged

get()

Returns the current configuration

remove()

Deletes the entire configuration or selected values

3.1 data – Full Product Configuration

The data object includes all relevant product attributes, such as ID, cost, and quantity, as well as nested parameter and category objects.

This example uses the confirmation status. Other product status objects are structured identically.

/**
 * @param {{
 *      id: string,
 *      [cost=0]: number,
 *      [quantity=0]: number,
 *      [soldOut=false]: boolean,
 *      [parameter={}]: {[number]: string},
 *      [category={}]: {[number]: string}
 * }[]} data
 *
 * @returns {wtSmart.product.confirmation.data}
 */
wtSmart.product.confirmation.data.set(data);
/**
 * @returns {{
 *      id: string,
 *      cost: number,
 *      quantity: number,
 *      soldOut: boolean,
 *      parameter: {[number]: string},
 *      category: {[number]: string}
 * }[]}
 */
wtSmart.product.confirmation.data.get();
/**
 * @param {{
 *      id: string,
 *      [cost=0]: number,
 *      [quantity=0]: number,
 *      [soldOut=false]: boolean,
 *      [parameter={}]: {[number]: string},
 *      [category={}]: {[number]: string}
 * }[]} data
 *
 * @returns {wtSmart.product.confirmation.data}
 */
wtSmart.product.confirmation.data.add(data);
/**
 * @param {number[]} [removeconfirmation]
 *
 * @returns {wtSmart.product.confirmation.data}
 */
wtSmart.product.confirmation.data.remove(removeconfirmation);

Example

var product = {
    id: 'SKU-12345',
    cost: 99.90,
    quantity: 2,
    soldOut: false,
    parameter: {
        1: 'L'
    },
    category: {
        1: 'Blue Denim Jeans',
        2: 'Men'
    }
};

// set product confirmation data
wtSmart.product.confirmation.data.set([product, product2]);

// add product confirmation data
wtSmart.product.confirmation.data.add([product3, product4]);

// get product confirmation data
var data = wtSmart.product.confirmation.data.get();
  
// remove all product confirmation data
wtSmart.product.confirmation.data.remove();

// remove only the first (product) product confirmation data
wtSmart.product.confirmation.data.remove([1]);

3.2 parameter – Custom Product Values

The parameter object allows the independent assignment of custom values to product calls.

This example uses the confirmation status. Other product status objects are structured identically.

/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.product.confirmation.parameter}
 */
wtSmart.product.confirmation.parameter.set(data);
/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.product.confirmation.parameter}
 */
wtSmart.product.confirmation.parameter.add(data);

/**
 * @returns {{
 *      id: string,
 *      cost: number,
 *      quantity: number,
 *      soldOut: boolean,
 *      parameter: {[number]: string},
 *      category: {[number]: string}
 * }[]}
 */
wtSmart.product.confirmation.data.get();
/**
 * @param {number[]} [removeconfirmation]
 *
 * @returns {wtSmart.product.confirmation.parameter}
 */
wtSmart.product.confirmation.parameter.remove(removeconfirmation);

Example

// set product confirmation parameter
wtSmart.product.confirmation.parameter.set({
    1: 'bar'
});

// add product confirmation parameter
wtSmart.product.confirmation.parameter.add({
    7: 'foo.bar'
});

// get product confirmation parameter
var data = wtSmart.product.confirmation.parameter.get();
  
// remove all product confirmation parameter
wtSmart.product.confirmation.parameter.remove();

// remove only product confirmation parameter 7
wtSmart.product.confirmation.parameter.remove([7]);

4 Code Generator

Use the code generator to create tracking code for product-related data that you can directly integrate into your website.