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 |
|
parameter | Tracks additional custom data points for an event. More details below. | Object |
|
goal | Defines and tracks key website goals related to events. More details below. | Object |
|
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 |
| Completely overwrites existing data with provided values. |
| Updates or adds only specific values, keeping existing data unchanged. |
| Retrieves the current configuration or stored data. |
| 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.