Documentation Index

Fetch the complete documentation index at: https://docs.mapp.com/llms.txt

Use this file to discover all available pages before exploring further.

Events

Prev Next

You can use the Event Tracking Extension to automatically track clicks on internal or external links.

1 Overview

This page provides a comprehensive guide on how to track and analyze event-related data in Mapp Intelligence. Events complement page tracking by offering detailed insights into user interactions, such as clicks on links or buttons, navigation through specific page elements, and other actions users perform on your website.

Event tracking requires JavaScript to be enabled in the visitor's browser.


2 Configurable Properties

The following table outlines all supported properties, their descriptions, and request parameters.

Property

Description

Data Type

Request Parameter

name

Unique identifier of your event. This property must be explicitly set. The value is analyzed in Navigation > Events.

String

ct

parameter

Tracks additional custom data points for an event. More details below.

Object

ck[ID]

goal

Defines and tracks key website goals related to events. More details below.

Object

cb[ID]

2.1 Event Parameters

Event parameters allow tracking of additional details about specific user interactions, such as link types (internal/external), click areas (text, image, header), Scroll Depth, or errors.

  • Mapp Intelligence provides predefined parameters and also allows the creation of custom event parameters for specific tracking needs.

  • Event parameters must be set up under Configuration > Custom Parameters > Event Parameter before use.

  • Text parameters are analyzed in Navigation > Event Parameter, numeric parameters are analyzed as metrics.

For setup instructions, see: How to Set Up Custom Parameters.

2.2 Goals

Goals measure specific user actions linked to your events, such as newsletter signups, registrations, or downloads. They are essential for evaluating user behavior and  performance.

  • Goals track meaningful actions that users complete after interacting with an event.

  • Goals enable campaign evaluations by tracking attributed conversions.

  • Once tracked, goals are marked as achieved. Track positive achievements (e.g., "Newsletter Signup: yes").

Goals can be analyzed in Marketing > Website Goals.

For setup instructions, see: How to Define Website Goals.


3 Objects and Methods

Tracking Objects

Mapp Intelligence uses three primary objects for event tracking:

  • data 
    Contains complete event tracking data for initial setup or updating multiple values.

  • parameter 
    Stores custom event values separately, useful for dynamic updates.

  • goal
    Tracks user-defined actions or conversions independently.

Supported Methods

Each object supports the following four methods:

Method

Description

set()

Completely overwrites existing data with provided values.

add()

Updates or adds only specific values, keeping existing data unchanged.

get()

Retrieves the current configuration or stored data.

remove()

Removes the current configuration or individual values.

3.1 data – Full Event Configuration

The data object includes all event-tracking information, combining the event name and the nested objects parameterand goal.

/**
 * @param {{
 *      [name]: string,
 *      [parameter={}]: {[number]: string},
 *      [goal={}]: {[number]: string}
 * }} data
 *
 * @returns {wtSmart.action.data}
 */
wtSmart.action.data.set(data);
/**
 * @param {{
 *      [name]: string,
 *      [parameter]: {[number]: string},
 *      [goal]: {[number]: string}
 * }} data
 *
 * @returns {wtSmart.action.data}
 */
wtSmart.action.data.add(data);
/**
 * @returns {{
 *      name: string,
 *      parameter: {[number]: string},
 *      goal: {[number]: string}
 * }}
 */
wtSmart.action.data.get();
/**
 * @param {string[]} [removeList]
 *
 * @returns {wtSmart.action.data}
 */
wtSmart.action.data.remove(removeList);

Example

// set event data
wtSmart.action.data.set({
    name: 'filter.applied',
    parameter: {
        1: 'color'
    },
    goal: {
        2: 'filter-used'
    }
});

// add event data
wtSmart.action.data.add({
    name: 'filter.refined'
});

// get event data
var data = wtSmart.action.data.get();
  
// remove all event data
wtSmart.action.data.remove();

// remove only name
wtSmart.action.data.remove(['name']);

3.2 parameter – Custom Event Values

The parameter object stores custom values assigned to an event.

A parameter can submit several values in one request. Separate the values with a semicolon (;) — for example, all values selected for a single filter. These are called multi-value parameters; for analysis behavior and examples, see What are multi-value parameters and how are they working?

/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.action.parameter}
 */
wtSmart.action.parameter.set(data);
/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.action.parameter}
 */
wtSmart.action.parameter.add(data);
/**
 * @returns {{[number]: string}}
 */
wtSmart.action.parameter.get();
/**
 * @param {number[]} [removeList]
 *
 * @returns {wtSmart.action.parameter}
 */
wtSmart.action.parameter.remove(removeList);

Example

// set event parameter
wtSmart.action.parameter.set({
    1: 'color' // the filter that was clicked
});

// add event parameter (parameter 7 holds multiple values in one request, separated by ';')
wtSmart.action.parameter.add({
    7: 'black;white' // all values selected for that filter
});

// get event parameter
var data = wtSmart.action.parameter.get();
  
// remove all event parameter
wtSmart.action.parameter.remove();

// remove only event parameter 7
wtSmart.action.parameter.remove([7]);

3.3 goal – Event Goals

The goal object is used to track specific actions completed by users in response to an event.

/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.action.goal}
 */
wtSmart.action.goal.set(data);
/**
 * @param {{[number]: string}} data
 *
 * @returns {wtSmart.action.goal}
 */
wtSmart.action.goal.add(data);
/**
 * @returns {{[number]: string}}
 */
wtSmart.action.goal.get();
/**
 * @param {number[]} [removeList]
 *
 * @returns {wtSmart.action.goal}
 */
wtSmart.action.goal.remove(removeList);

Example

// set event goal
wtSmart.action.goal.set({
	5: 'filter-used'
});

// add event goal
wtSmart.action.goal.add({
	8: 'results-viewed'
});

// get event goal
var goal = wtSmart.action.goal.get();

// remove all event goals
wtSmart.action.goal.remove();

// remove only event goal 8
wtSmart.action.goal.remove([8]);

4 Code Generator

Use the Code Generator to create customized event-tracking code snippets for integration into your website.