Pages
    • 8 Minutes to read
    • Dark
      Light

    Pages

    • Dark
      Light

    Article summary

    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 Parameterand 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

    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

    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?

    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


    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.

    /**
     * @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);
    /**
     * @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);
    /**
     * @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();
    /**
     * @param {string[]} [removeList]
     *
     * @returns {wtSmart.page.data}
     */
    wtSmart.page.data.remove(removeList);

    Example

    The following example demonstrates how these methods are combined in practice:

    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: 'parameter value 5'
    		},
    		category: {
    			8: 'category value 8'
    		},
    		goal: {
    			2: 'goal value 2'
    		}
    	});
    
    	// add page data
    	wtSmart.page.data.add({
    		paywall: true,
    		category: {
    			5: 'category value 5'
    		}
    	});
    
    	// 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.

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

    Example

    The following example demonstrates how these methods are combined in practice:

    window.wtSmart = window.wtSmart || [];
    window.wtSmart.push(function(wtSmart) {
    	// set page parameter
    	wtSmart.page.parameter.set({
    		5: 'parameter value 5'
    	});
    
    	// add page parameter
    	wtSmart.page.parameter.add({
    		8: 'parameter value 8'
    	});
    
    	// 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.

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

    Example

    The following example demonstrates how these methods are combined in practice:

    // set page category
    wtSmart.page.category.set({
    	5: 'category value 5'
    });
    
    // add page category
    wtSmart.page.category.add({
    	8: 'category value 8'
    });
    
    // 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.

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

    Example

    The following example demonstrates how these methods are combined in practice:

    // set page goal
    wtSmart.page.goal.set({
    	5: 'goal value 5'
    });
    
    // add page goal
    wtSmart.page.goal.add({
    	8: 'goal value 8'
    });
    
    // 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.


    Was this article helpful?

    What's Next
    ESC

    AI Assistant, facilitating knowledge discovery through conversational intelligence