--- title: "Pages" slug: "intelligence-smart-pixel-pages" updated: 2026-06-19T14:19:25Z published: 2026-06-19T14:19:25Z canonical: "docs.mapp.com/intelligence-smart-pixel-pages" --- > ## 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. # Pages ## 1 Overview This page provides a comprehensive guide on how to track and analyze page-related data in Mapp Intelligence. It details the configurable properties, analysis locations, and request parameters. ### 1.1 Individual Setup Only **name** and **search** are automatically available when data is transmitted. All other properties—whether Page Parameters, Categories, or Goals—require individual setup. While most customers receive a predefined configuration, all these elements can be fully customized based on tracking requirements. Before defining new parameters, categories, or goals, check your existing setup to determine which elements are already available and which need to be configured manually. --- ## 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 page. By default, the page URL is used. Parameters and hash in the URL are excluded. This property is **automatically available**. The value is analyzed in *Navigation > Pages > Pages*. | String | `p` | | **search** | Contains terms entered in the internal search of the website or app. This property is **automatically available**. The value is analyzed in *Marketing > Search Phrases > Internal Search Phrases*. | String | `is` | | **numberSearchResults** | The number of results returned in an internal search query. This is a **Page Parameter** and requires setup. The value is analyzed as a **metric**. | Number | `cp771` | | **errorMessages** | Tracks error messages on the page, such as system errors or missing content warnings. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp772` | | **paywall** | Indicates whether an article is behind a paywall. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | Boolean | `cp773` | | **articleTitle** | Captures the specific title of an article in addition to the general page name. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp774` | | **contentTags** | Allows tagging articles with multiple categories or keywords for analysis. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp775` | | **title** | Stores a readable version of the page title for improved reporting and analysis. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp776` | | **type** | Defines the type of page (e.g., "overview"). This is a **Page Parameter**and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp777` | | **length** | Specifies the length classification of the page (e.g., "large"). This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp778` | | **daysSincePublication** | Tracks how many days have passed since an article was published. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | Number | `cp779` | | **testVariant** | Stores the name of a test variant for A/B testing. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp780` | | **testExperiment** | Captures the name of an experiment in A/B testing. This is a **Page Parameter** and requires setup. The value is analyzed in *Navigation > Page Parameters*. | String | `cp781` | | **parameter** | Tracks additional custom data points for a page. More details below. | Object | `cp[ID]` | | **category** | Groups pages into structured content categories. More details below. | Object | `cg[ID]` | | **goal** | Defines and tracks key website goals. More details below. | Object | `cb[ID]` | ### 2.1 Page Parameters Page parameters refer to individual pages and are used to track additional details such as error messages, content tags, and test experiments. - Mapp Intelligence provides a set of predefined Page Parameters, including those listed in the table above (e.g., `paywall`, `title`, `type`). These predefined parameters can be enabled as needed. - Additionally, users can create completely custom Page Parameters if their tracking requirements go beyond the predefined options. Custom parameters allow you to track any additional data relevant to your website. - Values can be analyzed in *Navigation > Page Parameters* if they are of type **text**, or as **metrics** if they are of type **number**. For setup instructions: [How to Set Up Custom Parameters](/v1/docs/how-to-set-up-custom-parameters) ### 2.2 Categories (Content Groups) Categories define **fixed classifications** for pages, typically used to group content into structured areas. - Categories are assigned once to a page, in the first-ever request of that page, and do not change unless imported manually. - The ID and data type (text/number) are defined during setup. - Categories are useful for defining **structural groupings**, such as: - **Main Section** of a website (e.g., "News," "Sports," "Lifestyle") - **Subsections** within a main section (e.g., under "News": "Politics," "Technology," "Economy") - It is recommended to implement page and content group tracking in parallel. - Values can be analyzed in *Navigation > Content Groups* if they are of type **text**, or as **metrics** if they are of type **number**. For setup instructions: [How to Set Up Categories](/v1/docs/how-to-set-up-categories) > [!NOTE] > Content groups are assigned one time to a page. If a page is tracked together with a content group, all subsequent page calls of the page will also be assigned to this content group. Only the first-ever tracked value will be shown. > > We, therefore, recommend implementing content IDs and content groups while embedding the pixel. > > See also [How can I replace missing values ("-") in categories?](/v1/docs/how-can-i-replace-missing-values-in-categories) ### 2.3 Goal Tracking Goal tracking allows you to measure when a specific action has been completed on a page. This is essential for evaluating user behavior and performance. - Goals can be used to track specific actions completed on a page, such as a newsletter signup or user registration. - They are crucial for campaign success analysis, enabling attributed campaign evaluation. Ideally, users interacting with a campaign complete a goal, which must be tracked. - If a goal should be tracked when a page loads, it needs to be explicitly passed. - The Order goal is predefined for e-commerce tracking and does not need to be manually set on a page. - Goals can be analyzed in *Marketing > Website Goals*. For setup instructions: [How to define website goals](/v1/docs/how-to-define-website-goals) --- ## 3 Objects and Methods **Tracking Objects** Mapp Intelligence provides four distinct tracking objects, each intended for a specific purpose. The main object, data, includes the entire tracking configuration, while parameter, category, and goal allow selective updates. - **data** Contains **all tracking information**. Use this object to **initialize tracking** or **update multiple tracking values at once**. - **parameter** Stores **custom tracking attributes** (e.g., A/B-test variants or error codes). Use this object to **update or set custom values independently**, without affecting other page properties. - **category** Assigns pages to **structured content groups**. Use this object to **update content group assignments individually**. - **goal – Tracking User Actions** Tracks **key actions or conversions** (e.g., newsletter sign-ups or purchases). Use this object when you need to **track a specific goal independently** from other page data. **Supported Methods** Each of the objects above supports the following four methods: | Methods | 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()** | Deletes all or selected data from the object. | ### 3.1 data – Full Page Configuration The data object includes all page-tracking information, combining page attributes (name, search) and the nested objects parameter, category, and goal. SetAddGetRemove ```javascript /** * @param {{ * [name="default page name"]: string, *      [search=""]: string, *      [numberSearchResults=0]: number, *      [errorMessages=""]: string, *      [paywall=false]: boolean, *      [articleTitle=""]: string, *      [contentTags=""]: string, *      [title=""]: string, *      [type=""]: string, *      [length=""]: string, *      [daysSincePublication=0]: number, *      [testVariant=""]: string, *      [testExperiment=""]: string, *      [parameter={}]: {[number]: string}, *      [category={}]: {[number]: string}, *      [goal={}]: {[number]: string} * }} data * * @returns {wtSmart.page.data} */ wtSmart.page.data.set(data); ``` ```javascript /** * @param {{ * [name]: string, *      [search]: string, *      [numberSearchResults]: number, *      [errorMessages]: string, *      [paywall]: boolean, *      [articleTitle]: string, *      [contentTags]: string, *      [title]: string, *      [type]: string, *      [length]: string, *      [daysSincePublication]: number, *      [testVariant]: string, *      [testExperiment]: string, *      [parameter]: {[number]: string}, *      [category]: {[number]: string}, *      [goal]: {[number]: string} * }} data * * @returns {wtSmart.page.data} */ wtSmart.page.data.add(data); ``` ```javascript /** * @returns {{ *    name: string, *      search: string, *      numberSearchResults: number, *      errorMessages: string, *      paywall: boolean, *      articleTitle: string, *      contentTags: string, *      title: string, *      type: string, *      length: string, *      daysSincePublication: number, *      testVariant: string, *      testExperiment: string, *      parameter: {[number]: string}, *      category: {[number]: string}, *      goal: {[number]: string} * }} */ wtSmart.page.data.get(); ``` ```javascript /** * @param {string[]} [removeList] * * @returns {wtSmart.page.data} */ wtSmart.page.data.remove(removeList); ``` **Example** The following example demonstrates how these methods are combined in practice: ```javascript window.wtSmart = window.wtSmart || []; window.wtSmart.push(function(wtSmart) { // set page data wtSmart.page.data.set({ name: 'en.index.home', search: 'search term', numberSearchResults: 7, errorMessages: 'error: ...', paywall: false, articleTitle: 'article title', contentTags: 'content tags', title: 'page title', type: 'page type', length: 'medium', daysSincePublication: 5, testVariant: 'test variant', testExperiment: 'test experiment', parameter: { 5: 'jane-doe;john-smith' }, category: { 8: 'politics' }, goal: { 2: 'newsletter-signup' } }); // add page data wtSmart.page.data.add({ paywall: true, category: { 5: 'editorial' } }); // get page data var data = wtSmart.page.data.get(); // remove all page data wtSmart.page.data.remove(); // remove only testVariant and testExperiment from page data wtSmart.page.data.remove(['testVariant', 'testExperiment']); }); ``` ### 3.2 parameter – Custom Page Values The parameter object stores **custom values** assigned to a page. A parameter can submit several values in one request. Separate the values with a semicolon (`;`) — for example, all authors of an article. 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.page.parameter} */ wtSmart.page.parameter.set(data); ``` ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.page.parameter} */ wtSmart.page.parameter.add(data); ``` ```javascript /** * @returns {{[number]: string}} */ wtSmart.page.parameter.get(); ``` ```javascript /** * @param {number[]} [removeList] * * @returns {wtSmart.page.parameter} */ wtSmart.page.parameter.remove(removeList); ``` **Example** The following example demonstrates how these methods are combined in practice: ```javascript window.wtSmart = window.wtSmart || []; window.wtSmart.push(function(wtSmart) { // set page parameter (multiple values in one request, separated by ';') wtSmart.page.parameter.set({ 5: 'jane-doe;john-smith' }); // add page parameter wtSmart.page.parameter.add({ 8: 'sponsored' }); // get page parameter var parameter = wtSmart.page.parameter.get(); // remove all page parameter wtSmart.page.parameter.remove(); // remove only page parameter 5 wtSmart.page.parameter.remove([5]); }); ``` ### 3.3 category – Page Classification The category object assigns a page to content groups. SetAddGetRemove ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.page.category} */ wtSmart.page.category.set(data); ``` ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.page.category} */ wtSmart.page.category.add(data); ``` ```javascript /** * @returns {{[number]: string}} */ wtSmart.page.category.get(); ``` ```javascript /** * @param {number[]} [removeList] * * @returns {wtSmart.page.category} */ wtSmart.page.category.remove(removeList); ``` **Example** The following example demonstrates how these methods are combined in practice: ```javascript // set page category wtSmart.page.category.set({ 5: 'editorial' }); // add page category wtSmart.page.category.add({ 8: 'politics' }); // get page category var category = wtSmart.page.category.get(); // remove all page category wtSmart.page.category.remove(); // remove only page category 8 wtSmart.page.category.remove([8]); ``` ### 3.4 goal – Tracking User Actions The goal object is used to track specific actions completed by users on a page. SetAddGetRemove ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.page.goal} */ wtSmart.page.goal.set(data); ``` ```javascript /** * @param {{[number]: string}} data * * @returns {wtSmart.page.goal} */ wtSmart.page.goal.add(data); ``` ```javascript /** * @returns {{[number]: string}} */ wtSmart.page.goal.get(); ``` ```javascript /** * @param {number[]} [removeList] * * @returns {wtSmart.page.goal} */ wtSmart.page.goal.remove(removeList); ``` **Example** The following example demonstrates how these methods are combined in practice: ```javascript // set page goal wtSmart.page.goal.set({ 5: 'newsletter-signup' }); // add page goal wtSmart.page.goal.add({ 8: 'article-shared' }); // get page goal var goal = wtSmart.page.goal.get(); // remove all page goals wtSmart.page.goal.remove(); // remove only page goal 8 wtSmart.page.goal.remove([8]); ``` --- ## 4 Code Generator Use the code generator to create individual code that you can then integrate directly into the website. [Embedded content](https://static.webtrekk.com/pixel/wtsmart-gui/data/page/?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.