Page

Prev Next

Page requests send page-related data such as the page name, parameters, or categories to Mapp Intelligence. These elements help structure your website tracking and enable deeper analysis of user behavior.

This configuration applies to Server-to-Server integrations.


Page Naming

By default, the library derives the page name from the URL, excluding any parameters.

For example, a URL like www.website.com/product_abc.htm?sid=7af49 is tracked as www.website.com/product_abc.htm.

If you want to use a custom name, define it with setName. When left blank, the library automatically generates the page name.


Categories (Content Groups)

Categories (also known as content groups) classify pages into structured groups.

These groups must be configured in Mapp Q3 before they can be tracked via the library. Find more information here.

When implementing, include the ID number and the respective value as a string. The value should not exceed 255 characters; additional characters are truncated.

Note

Content groups are assigned once to a page. If a page is tracked with a content group, all subsequent page calls will also be assigned to this content group. Only the first tracked value will be shown. Mapp therefore recommends implementing content IDs and content groups while embedding the library. See also How can I replace missing values ("-") in categories?

Mapp recommends implementing content IDs and content groups during the initial library setup.


Page Parameters

Page parameters refer to individual pages and can pass different values with each request. Unlike content groups, parameters can vary between page calls, making them useful for dynamic content or detailed tracking.

They must also be configured in Mapp Q3 before tracking. Find more information here.

When implementing, include the ID number and the value as a string.


Goals

Website goals measure the success of specific actions on your website. They allow you to analyze user behavior and attribute conversions to campaigns.

Goals must be configured before they can be tracked via the library. Find more information here.

When configuring tracking, include the goal ID and the value as a string.

Each goal is considered achieved as soon as a value is tracked—regardless of the actual content of that value.

Note

The predefined goal Order cannot be tracked within the page object.

Avoid submitting values like "no" for goals such as Newsletter Registration, as this would still mark the goal as achieved.


Method

Description

Where to configure *

Where to analyze

constructor

Defines the initial page request and can overwrite the default page naming.

–

Navigation > Pages > Pages

setName

Overwrites the default page naming.

–

Navigation > Pages > Pages

setSearch

Tracks search terms entered in the internal website search.

–

Marketing > Search Phrases > Internal Search Phrases

setNumberSearchResults

Tracks the number of results returned for an internal search query.

PP > Number of search results

Metric: [Name of Parameter]

setErrorMessages

Tracks system or content-related error messages.

PP > Error messages

Navigation > Page Parameters > [Name]

setPaywall

Tracks whether an article is behind a paywall.

PP > Paywall calls

Navigation > Page Parameters > [Name]

setArticleTitle

Captures the article headline.

PP > Article heading

Navigation > Page Parameters > [Name]

setContentTags

Tracks article tags or keywords.

PP > Content tags

Navigation > Page Parameters > [Name]

setTitle

Captures the page title for reporting and analysis.

PP > Page title

Navigation > Page Parameters > [Name]

setType

Defines the page type (e.g. “overview”).

PP > Page type

Navigation > Page Parameters > [Name]

setLength

Classifies the page length (e.g. “large”).

PP > Page length

Navigation > Page Parameters > [Name]

setDaysSincePublication

Tracks how many days have passed since publication.

PP > Days since publication

Navigation > Page Parameters > [Name]

setTestVariant

Stores the name of a test variant (A/B testing).

PP > Variant

Navigation > Page Parameters > [Name]

setTestExperiment

Stores the name of an experiment (A/B testing).

PP > Experiment

Navigation > Page Parameters > [Name]

setParameter

Tracks custom page-specific information or metrics defined by the website.

PP > Own Configuration

Text: Navigation > Page Parameters > [Name] / Number: Metric

setCategory

Groups pages into structured website sections (Content Groups).

CG > New Category

Text: Navigation > Content Groups > [Name] / Number: Metric

setGoal

Tracks website goals such as registrations or purchases.

EC > Own Configuration

Text: E-Commerce > E-Commerce Parameters > [Name] / Number: Metric

* Configuration Path Abbreviations:

  • PP = Mapp Q3 > Configuration > Custom Parameters > Page Parameters > Preconfigured > …

  • CG = Mapp Q3 > Configuration > Categories > Content Groups > …

  • EC = Mapp Q3 > Configuration > Custom Parameters > E-Commerce Parameters > Preconfigured > …

Generated request parameters

Method

Request parameter

Constant

constructor / setName

part of p (p=600,<name>,...)

PAGE_NAME

setSearch

is

SEARCH

setNumberSearchResults

cp771

NUMBER_SEARCH_RESULTS

setErrorMessages

cp772

ERROR_MESSAGES

setPaywall

cp773

PAYWALL

setArticleTitle

cp774

ARTICLE_TITLE

setContentTags

cp775

CONTENT_TAGS

setTitle

cp776

PAGE_TITLE

setType

cp777

PAGE_TYPE

setLength

cp778

PAGE_LENGTH

setDaysSincePublication

cp779

DAYS_SINCE_PUBLICATION

setTestVariant

cp781

TEST_VARIANT

setTestExperiment

cp782

TEST_EXPERIMENT

setParameter

cp<ID>

CUSTOM_PAGE_PARAMETER

setCategory

cg<ID>

CUSTOM_PAGE_CATEGORY

setGoal

cb<ID>

CUSTOM_PRODUCT_PARAMETER

Note

Values that are empty or exactly 0, 0.0, false or {} are not transmitted. For example, setPaywall(false) and setNumberSearchResults(0) are not sent, and neither is a parameter, category or goal with the value 0 or false. To transmit such a value, send the request with a parameter map (see Request Parameters).

constructor

/**
 * MappIntelligencePage constructor.
 * @param string $name
 */
$pageData = new MappIntelligencePage($name);

setName

/**
 * @param string $name
 * @return $this
 */
$pageData->setName($name);

Without a name (or with an empty name), the library uses the default page name: the request URL without protocol and URL parameters, in lower case. The request URL is the one set with setRequestURL, by default the URL of the current request (see Integration and Configuration). URL parameters listed in setUseParamsForDefaultPageName are appended if they have a value in the request URL. Without a request URL, the page name is 0.

setSearch

/**
 * @param string $search
 * @return $this
 */
$pageData->setSearch($search);

setNumberSearchResults

/**
 * @param int $numberSearchResults
 * @return $this
 */
$pageData->setNumberSearchResults($numberSearchResults);

setErrorMessages

/**
 * @param string $errorMessages
 * @return $this
 */
$pageData->setErrorMessages($errorMessages);

setPaywall

/**
 * @param bool $paywall
 * @return $this
 */
$pageData->setPaywall($paywall);

setArticleTitle

/**
 * @param string $articleTitle
 * @return $this
 */
$pageData->setArticleTitle($articleTitle);

setContentTags

/**
 * @param string $contentTags
 * @return $this
 */
$pageData->setContentTags($contentTags);

setTitle

/**
 * @param string $title
 * @return $this
 */
$pageData->setTitle($title);

setType

/**
 * @param string $type
 * @return $this
 */
$pageData->setType($type);

setLength

/**
 * @param string $length
 * @return $this
 */
$pageData->setLength($length);

setDaysSincePublication

/**
 * @param int $daysSincePublication
 * @return $this
 */
$pageData->setDaysSincePublication($daysSincePublication);

setTestExperiment

/**
 * @param string $testExperiment
 * @return $this
 */
$pageData->setTestExperiment($testExperiment);

setTestVariant

/**
 * @param string $testVariant
 * @return $this
 */
$pageData->setTestVariant($testVariant);

setParameter

/**
 * @param int $id
 * @param string $value
 * @return $this
 */
$pageData->setParameter($id, $value);

The IDs 771 to 779, 781 and 782 are used by the predefined page parameters (setNumberSearchResults to setTestExperiment). Do not use them with setParameter, otherwise one value overwrites the other.

setCategory

/**
 * @param int $id
 * @param string $value
 * @return $this
 */
$pageData->setCategory($id, $value);

setGoal

/**
 * @param int $id
 * @param string $value
 * @return $this
 */
$pageData->setGoal($id, $value);

Goals are sent as E-Commerce Parameters (cb<ID>). Page goals, event goals, order parameters and product parameters share these IDs: if several of them use the same ID in one request, only one value is sent.

$pageData = new MappIntelligencePage('name');
$pageData
    ->setName('name of a page')
    ->setSearch('search term')
    ->setNumberSearchResults(15)
    ->setErrorMessages('error message')
    ->setPaywall(true)
    ->setArticleTitle('name of an article')
    ->setContentTags('name of a content tag')
    ->setTitle('title of a page')
    ->setType('type of a page')
    ->setLength('large')
    ->setDaysSincePublication(8)
    ->setTestVariant('name of a variant')
    ->setTestExperiment('name of an experiment')
    ->setParameter(1, 'parameter 1')
    ->setParameter(2, 'parameter 2')
    ->setCategory(1, 'category 1')
    ->setCategory(2, 'category 2')
    ->setGoal(1, 'goal 1')
    ->setGoal(2, 'goal 2');

$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->page($pageData));