--- title: "Events" slug: "intelligence-smart-pixel-events" updated: 2026-06-23T09:21:09Z published: 2026-06-23T09:21:09Z canonical: "docs.mapp.com/intelligence-smart-pixel-events" --- > ## 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 > [!NOTE] > You can use the [Event Tracking Extension](/v1/docs/event-tracking) 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](/v1/docs/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 `parameter`and `goal`. SetAddGetRemove ```javascript /** * @param {{ *      [name]: string, *      [parameter={}]: {[number]: string}, *      [goal={}]: {[number]: string} * }} data * * @returns {wtSmart.action.data} */ wtSmart.action.data.set(data); ``` ```javascript /** * @param {{ *      [name]: string, *      [parameter]: {[number]: string}, *      [goal]: {[number]: string} * }} data * * @returns {wtSmart.action.data} */ wtSmart.action.data.add(data); ``` ```javascript /** * @returns {{ *      name: string, *      parameter: {[number]: string}, *      goal: {[number]: string} * }} */ wtSmart.action.data.get(); ``` ```javascript /** * @param {string[]} [removeList] * * @returns {wtSmart.action.data} */ wtSmart.action.data.remove(removeList); ``` **Example** ```javascript // 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?](/v1/docs/what-are-multi-value-parameters-and-how-are-they-working) SetAddGetRemove ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.action.parameter} */ wtSmart.action.parameter.set(data); ``` ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.action.parameter} */ wtSmart.action.parameter.add(data); ``` ```javascript /** * @returns {{[number]: string}} */ wtSmart.action.parameter.get(); ``` ```javascript /** * @param {number[]} [removeList] * * @returns {wtSmart.action.parameter} */ wtSmart.action.parameter.remove(removeList); ``` **Example** ```javascript // 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. SetAddGetRemove ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.action.goal} */ wtSmart.action.goal.set(data); ``` ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.action.goal} */ wtSmart.action.goal.add(data); ``` ```javascript /** * @returns {{[number]: string}} */ wtSmart.action.goal.get(); ``` ```javascript /** * @param {number[]} [removeList] * * @returns {wtSmart.action.goal} */ wtSmart.action.goal.remove(removeList); ``` **Example** ```javascript // 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. [Embedded content](https://static.webtrekk.com/pixel/wtsmart-gui/data/action/?nohelp=1) A **Request Parameter** displays the name of the parameter included in a tracking request. This information is crucial for debugging purposes (e.g., via **Mapp Cloud Debugger**), allowing you to verify the data transmitted to Mapp and understand how it is recorded. Scroll depth measures how far users scroll down a webpage, typically expressed as a percentage of the total page length viewed. This metric helps content-driven websites analyze user engagement and content effectiveness. Mapp provides a plugin to easily track and analyze scroll behavior across various tracking implementations.