- 27 Minutes to read
- Print
- DarkLight
Data
- 27 Minutes to read
- Print
- DarkLight
This section describes what kind of information can be sent for different request types. Find descriptions, methods, and examples which can be adapted for your needs.
Page
Page requests are used to send page-related data to Mapp Intelligence; such as the page name, parameters, or categories.
Page naming
By default, the library creates a name based on the page URL. Parameters in the URL are not automatically taken into account for the page name. For example, the URL http://www.website.com/product_abc.htm?sid=7af49 will be automatically changed to form the page name www.website.com/produkt_abc.htm. If you want to manually create a page name, simply fill the value for setName with your desired name. When left blank, the library creates the page name automatically.
Category (Content groups)
Page related categories are called content groups. Content groups must be configured in Mapp Q3 before being able to track them via the library. When configuring the tracking in the library, you need to include the ID as a number and the respective value as a string. Content group parameters should not exceed a length of 255 characters. All additional characters are deleted.
Recommendation
Content groups are assigned once 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. Mapp therefore recommends implementing content IDs and content groups while embedding the library. See also How can I replace missing values ("-") in categories?
Parameter
Page parameters refer to single pages and are assigned to them directly. In contrast to content groups, parameters can be used to pass different values with each page request. Page parameters must be configured in Mapp Q3 before they can be tracked via the library. When configuring the tracking in the library, you need to include the ID as a number and the respective value as a string.
Goal
Goals help to track the success of your website. You can easily analyze and filter the individual goals in Mapp Intelligence. Furthermore, the calculation of the customer journey is based on website goals. This means that you can track the individual campaigns responsible for goal achievement. Website goals have to be configured. When configuring tracking in the library, you need to include the ID as a number and the respective value as a string. The website goal "Order" is predefined in Mapp and cannot be tracked within the page object. Goals will be marked as achieved whenever the parameter is returned with any value. This means that that the parameter shouldn't be sent unless the goal has actually been reached. As such, if you have a goal of "Newsletter Registration", it does not make sense to submit 'no' .
Supported methods for page requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | Allows overwriting the default page naming. | - | Navigation > Pages > Pages |
setName | Allows you to overwrite the default page naming. | - | Navigation > Pages > Pages |
setSearch | Search terms used in internal search. | - | Marketing > Search Phrases > Internal Search Phrases |
setNumberSearchResults | Number of internal search results. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Number of search results | Metric: [Name of Parameter] |
setErrorMessages | enables the ability to track error messages. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Error messages | Navigation > Page Parameters > [Name of Parameter] |
setPaywall | Allows you to mark an article, if it is behind the Paywall. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Paywall calls | Navigation > Page Parameters > [Name of Parameter] |
setArticleTitle | Article heading. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Article heading | Navigation > Page Parameters > [Name of Parameter] |
setContentTags | Tags of an article. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Content tags | Navigation > Page Parameters > [Name of Parameter] |
setTitle | Title of the page. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Page title | Navigation > Page Parameters > [Name of Parameter] |
setType | Type of the page (e.g. "overview"). | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Page type | Navigation > Page Parameters > [Name of Parameter] |
setLength | Length of the page (e.g. "large"). | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Page length | Navigation > Page Parameters > [Name of Parameter] |
setDaysSincePublication | Days since publication. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Days since publication | Navigation > Page Parameters > [Name of Parameter] |
setTestVariant | Name of the test variant. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Variant | Navigation > Page Parameters > [Name of Parameter] |
setTestExperiment | Name of the test. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Experiment | Navigation > Page Parameters > [Name of Parameter] |
setParameter | You can use parameters to enrich Mapp Intelligence data with your own website-specific information and/or metrics. | Custom Parameters > Page Parameters > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: Navigation > Page Parameters > [Name of Parameter]Datatype Figure: metric |
setCategory | Page categories (called "Content Groups" in Mapp) are used to group pages to create website areas. | Categories > Content Groups > New Category | Datatype Text: Navigation > Content groups > [Name of Content group]Datatype Figure: metric |
setGoal | When using website goals, all central goals are quickly available for analyzing and filtering. | Custom Parameters > E-Commerce Parameters > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: E-Commerce > E-Commerce Parameters > [Name of Parameter]Datatype Figure: metric |
constructor
/**
* MappIntelligencePage constructor.
* @param string $name
*/
$pageData = new MappIntelligencePage($name);
setName
/**
* @param string $name
* @return $this
*/
$pageData->setName($name);
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);
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);
$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));
Action
Any action on a website can be tracked as an event in Mapp Intelligence. Events can be as simple as clicking on links or more advanced such as tracking scrolling or content engagement events. Measured actions are listed in the tool under "Navigation > Events". Action tracking requires that JavaScript is active on the visitor's browser. If not, the action on your website will be executed as normal, i.e. your website's functionality will not be affected by action tracking.
Parameter
You can use parameters to enrich analytical data with your own website-specific information and/or metrics. Observe the syntax guidelines when defining parameters. Action parameters must be set up in the configuration (" Configuration > Custom Parameters > Event Parameter") before they can be entered. The ID and data type (text/number) are defined for each parameter during setup.
Goals
Goals help you track the success of your website. You can easily analyze and filter the individual goals in Mapp Intelligence. Furthermore, the calculation of the customer journey is based on website goals, meaning that you can track the individual campaigns responsible for the goal achievement. Website goals have to be configured at " Configuration > Goal". When configuring tracking in the pixel, you need to include the ID as a number and the respective value as a string. The website goal "Order" is predefined in Q3. It is always reached as soon as an order value is tracked. If you have other website goals (e.g. registration, newsletter subscription), a goal parameter has to be set on the corresponding pages.
Goals will be marked as achieved whenever the parameter is returned with any value. This means that that the parameter shouldn't be sent unless the goal has actually been reached. As such, if you have a goal of "Newsletter Registration", it does not make sense to submit 'no' .
Supported methods for action requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | Unique identification of the action. | - | Navigation > Events |
setName | Unique identification of the action. | - | Navigation > Events |
setParameter | You can use parameters to enrich analytical data with your own website-specific information and/or metrics. Observe the syntax guidelines when defining parameters. | Custom Parameters > Event Parameter > Create new Custom Parameter > Preconfigured > Own Configuration | Navigation > Event Parameters > [Name of Parameter] |
setGoal | Needed when website goals are based on events. | Custom Parameters > E-Commerce Parameters > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: E-Commerce > E-Commerce Parameters > [Name of Parameter] Datatype Figure: metric |
constructor
/**
* MappIntelligenceAction constructor.
* @param string $name
*/
$actionData = new MappIntelligenceAction($name);
setName
/**
* @param string $name
* @return $this
*/
$actionData->setName('foo.bar');
setParameter
* @param int $id
* @param string $value
* @return $this
*/
$actionData->setParameter($id, $value);
setGoal
/**
* @param int $id
* @param string $value
* @return $this
*/
$actionData->setGoal($id, $value);
$actionData = new MappIntelligenceAction();
$actionData
->setName('foo.bar')
->setParameter(2, 'param2')
->setParameter(15, 'param15')
->setGoal(2, 'goal2')
->setGoal(15, 'goal15');
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->action($actionData));
Campaign
Campaign tracking is configured in Mapp Q3 (" Configuration > Marketing Configuration"). Without this configuration, no campaign information such as campaign clicks will be collected. Visits to certain pages or the entry of defined links can be tracked as campaign clicks. Most importantly, campaign tracking uses specific parameters called media codes that are added to the target URLs of the ads. Using a media code improves the accuracy of the data collected with the libray. Media codes can also be overwritten or supplemented with additional information using campaign parameters.
ID
You have the option of setting your own campaign ID in the library. A campaign ID consists of a media code name and its value, separated by "%3D".
MediaCode
If you use media codes as a data source for your campaign tracking, entering the name of the media code parameter can increase tracking accuracy. For example, without this information up to 10% of the tracked data can be impaired if certain firewalls are used.
Example: You have created a campaign called "ABC" in the Webtrekk tool and measure it using the media code process (data source settings e.g. "URL parameter: mc" and "Value: campaign.abc"). The URL for this campaign must be as follows: http://www.website.com/index.htm?mc=campaign.abc. The campaign will then be identified by the URL parameter "mc". The value of the URL parameter ("campaign.abc") plays no role in pixel configuration. To raise the accuracy of the media code process, enter the URL parameter used for campaign identification, e.g. "mc", in the pixel's configuration segment. This configuration needs only to be made for pages to which the campaign refers (target page/landing page).
Parameter
Campaign parameters can either be entered directly in the page configuration or in the campaign configuration with a target URL along with the media code. If the same parameters are used for both the URL and the page configuration, the latter takes precedence and overwrites the URL parameter. A typical example of transmitting a campaign parameter by URL is a link position in a newsletter. If the newsletter contains several links, this identifies which link was used.
http://www.website.com?wt_mc=Newsletter_2010_08&wt_cc1=link1
Supported methods for campaign requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | A campaign ID consists of a media code name and its value, separated by "%3D". | - | Marketing > Campaign > Advertising Media |
setId | A campaign ID consists of a media code name and its value, separated by "%3D". | - | Marketing > Campaign > Advertising Media |
setMediaCode | If you use media codes as a data source for your campaign tracking, entering their name can raise the accuracy of the measurement. Otherwise, accuracy may be reduced by up to 10% if certain firewalls are used, for example. | Marketing Configuration | - |
setParameter | Campaign parameters always refer to an advertising medium. | Custom Parameters > Campaign Parameters > Create new Custom Parameter > Preconfigured > Own Configuration | - |
constructor
/**
* MappIntelligenceCampaign constructor.
* @param string $id
*/
$campaignData = new MappIntelligenceCampaign($id);
setId
/**
* @param string $id
* @return $this
*/
$campaignData->setId($id);
setMediaCode
/**
* @param array $mediaCode
* @return $this
*/
$campaignData->setMediaCode($mediaCode);
setParameter
/**
* @param string $id
* @param string $value
* @return $this
*/
$campaignData->setParameter($id, $value);
$campaignData = new MappIntelligenceCampaign();
$campaignData
->setId('wt_mc%3Dfoo.bar.2')
->setMediaCode(array('wt_mc', 'mc'))
->setOncePerSession(true)
->setParameter(1, 'parameter 1')
->setParameter(2, 'parameter 2');
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->campaign($campaignData));
Customer
To improve customer identification, you can use customer IDs instead of Mapp Intelligence's long-term cookies ("eid"). The reason for this is that some users or programms automatically delete long-term cookies once a session (visit) ends. Without customer IDs, returning customers will not be identified.
Customer IDs can be passed to the library following a successful login or completed order.
ID
A customer ID can be a unique identifier from your shop or CMS system, or the customer's e-mail address. If the latter, it is necessary to encrypt the e-mail address and ensure the e-mail address is unreadable (e.g. using the MD5 or SHA256 hash) to comply with data protection requirements.
If you use an unhashed e-mail address as customer ID, the library automatically generates a SHA256 hash and uses that as the customer ID.
Category
Categories can be used for additional information of the customer. Categories have to be activated and set up in the configuration (" Configuration > Categorisation > URM Categories") before they can be collected. When configuring the pixel, you must use the ID as set up in the account configuration as a number and the respective value as a string.
Recommendation
We recommended transmiting hashed personal data that is not evaluated in terms of content (e.g. with the SHA256 hash). If you would like to collect this data for analytical reasons, we suggest that you transmit the data in encrypted form.
Supported methods for customer requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | Use this to transmit an unique identifier of the user. | - | Visitors > URM - User Relationship Management > URM - Custom Visitor Id |
setId | Use this to transmit an unique identifier of the user. | - | Visitors > URM - User Relationship Management > URM - Custom Visitor Id |
setEmailRID | Use this to transmit the e-mail receiver ID of the user. | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setEmailOptin | Use this to transmit the e-mail opt-in status of the user. | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setGender | Use this to transmit the gender of the user (1 = male | 2 = female). | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setBirthday | Use this to transmit the user's date of birth (YYYYMMDD). | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setCountry | Use this to transmit the country of the user. | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setCity | Use this to transmit the city of the user. | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setStreet | Use this to transmit the street of the user. | - | Visitors > URM - User Relationship Management > URM - [Name of Categories] |
setCategory | The optional category (User Relation Management) can be used to categorize a customer. URM categories must be created in the tool first of all. | Categories > URM Categories > New Category | Datatype Text: Visitors > URM Categories > [Name of Categories] atatype Figure: metric |
constructor
/**
* MappIntelligenceCustomer constructor.
* @param string $id
*/
$customerData = new MappIntelligenceCustomer($id);
setId
/**
* @param string $id
* @return $this
*/
$customerData->setId($id);
setEmailRID
/**
* @param string $emailRID
* @return $this
*/
$customerData->setEmailRID($emailRID);
setEmailOptin
/**
* @param bool $emailOptin
* @return $this
*/
$customerData->setEmailOptin($emailOptin);
setGender
/**
* @param int $gender
* @return $this
*/
$customerData->setGender($gender);
setBirthday
/**
* @param string $birthday
* @return $this
*/
$customerData->setBirthday($birthday);
setCountry
/**
* @param string $country
* @return $this
*/
$customerData->setCountry($country);
setCity
/**
* @param string $city
* @return $this
*/
$customerData->setCity($city);
setPostalCode
/**
* @param string $postalCode
* @return $this
*/
$customerData->setPostalCode($postalCode);
setStreet
/**
* @param string $street
* @return $this
*/
$customerData->setStreet($street);
setValidation
/**
* @param bool $validation
* @return $this
*/
$customerData->setValidation($validation);
setCategory
/**
* @param int $id
* @param string $value
* @return $this
*/
$customerData->setCategory($id, $value);
$customerData = new MappIntelligenceCustomer();
$customerData
->setId('user5684798169')
->setEmailRID('')
->setEmailOptin(true)
->setGender(1)
->setBirthday('~!jX7E0tqd3BTIXVNX+jJnOQ==!~') // 19900215 [ JJJJMMDD ]
->setCountry('~!epld8YhkcFY=!~') // Germany
->setCity('~!9Hn50gRUKpw=!~') // Berlin
->setPostalCode('~!dZVg2aMOE2Q=!~') // 10115
->setStreet('~!vOSHjdTscdK8BCw0pNyQ2lcLKg5PY70N!~') // Robert-Koch-Platz
->setValidation(true)
->setCategory(5, 'login');
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->customer($customerData));
Product
In Mapp Intelligence you can analyse the following states of your products:
VIEW: viewed on a product detail page
BASKET: added to a shopping cart
CONFIRMATION: bought
Aggregated evaluations are possible across product categories. Mapp Intelligence automatically detects abandoned shopping carts from the information transmitted. Comprehensive information must be provided on the underlying order for product purchases, e.g. a unique order number. A list of tracked products appears in Mapp Intelligence under "E-Commerce > Products".
Parameter
Product details can be enriched by adding information via parameters. Each parameter must be configured in your account before it can be tracked (Configuration > Custom Parameters > ECommerce Parameter). When configuring the pixel, you need to use the ID as set up in the account configuration as a number and the respective value as a string. E-Commerce parameters are used to transmit additional product information (e.g. size, colour). E-Commerce parameters of the type "Text" are shown in Mapp Intelligence under "E-Commerce > ECommerce- Parameters". E-Commerce parameters of the type "Number" are available as a metric in the analyses.
Category
The relationship between product and product category must be unique. It is not possible to assign the product "Shoes" and "Sales" to the category "Ladies" at the same time. These non-unique relationships can be mapped using e-commerce parameters. Product categories of the data type "number" can be used to evaluate every product call with the value stored for it.
Product categories must be configured in the Q3 for Mapp Intelligence to measure this information. This is done under "Configuration > Categorisation > Product Categories". When configuring the library, you need to use the ID as set up in the account configuration as a number and the respective value as a string. Please note that a product category cannot contain more than 110 characters.
A list of measured product categories of the data type "text" are displayed in analytics at "E-Commerce > Product Categories". Product categories of the data type "Number" are available as a metric in the analyses.
Product categories are only assigned to a product once. If a product is tracked together with a category, all other products will also be assigned to that category.
Supported methods for product requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | Saves products placed in the shopping cart. This property must be entered if products are to be measured. A product ID may not contain more than 110 characters. | - | E-Commerce > Products |
setId | Saves products placed in the shopping cart. This property must be entered if products are to be measured. A product ID may not contain more than 110 characters. | - | E-Commerce > Products |
setCost | Contains the product price ("0" prices are allowed). If you transmit a product several times (quantity property greater than 1), use the total price not the unit price. | - | Metric: [Name of Parameter] |
setQuantity | Contains the product quantity. | - | Metric: [Name of Parameter] |
setStatus | Contains states of your product ( MappIntelligenceProduct::VIEW, MappIntelligenceProduct::BASKET, MappIntelligenceProduct::CONFIRMATION). | - | - |
setSoldOut | Use this to transmit the product is sold out or in stock (sold out = true, in stock = false) | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Product sold out | Metric: [Name of Parameter] |
setParameter | You can use parameters to enrich analytical data with your own website-specific information and/or metrics. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] Datatype Figure: metric |
setCategory | Product categories allow the grouping of products. | ECommerce > Product Categories > New Category | Datatype Text: E-Commerce > Product Categories > [Name of Parameter] Datatype Figure: metric |
constructor
/**
* MappIntelligenceProduct constructor.
* @param string $id
*/
$productData = new MappIntelligenceProduct($id);
setId
/**
* @param string $id
* @return $this
*/
$productData->setId($id);
setCost
/**
* @param float $cost
* @return $this
*/
$productData->setCost($cost);
setQuantity
/**
* @param int $quantity
* @return $this
*/
$productData->setQuantity($quantity);
setStatus
/**
* @param string $status
* @return $this
*/
$productData->setStatus($status);
setSoldOut
/**
* @param bool $soldOut
* @return $this
*/
$productData->setSoldOut($soldOut);
setParameter
/**
* @param int $id
* @param string $value
* @return $this
*/
$productData->setParameter($id, $value);
setCategory
/**
* @param int $id
* @param string $value
* @return $this
*/
$productData->setCategory($id, $value);
$productData = new MappIntelligenceProduct();
$productData
->setId('id of a product')
->setCost(19.95)
->setQuantity(5)
->setStatus(MappIntelligenceProduct::VIEW)
->setSoldOut(true)
->setParameter(2, 'parameter 2')
->setParameter(15, 'parameter 15')
->setCategory(2, 'category 2')
->setCategory(15, 'category 15');
$mappProductCollection = new MappIntelligenceProductCollection();
$mappProductCollection->add($productData);
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->product($mappProductCollection));
Order
Mapp Intelligence can also track orders. To do this, the order value is transmitted along with the order number. "0" values are permitted. A list of tracked orders can be analyzed in Mapp Intelligence under "E-Commerce > Orders separately". The difference to product tracking is that the information refers to the total order value that is transmitted rather than the individual products. Besides the total of purchased products, the total order value may also contain discounts, shipping, and packaging cost information.
Currency
Contains the currency code of a product or order; the value must be passed to the Webtrekk pixel in line with the ISO standard.
The currency is only passed for the purpose of currency conversion. In other words, the currency will be converted to the currency as specified in your Mapp Q3 account configuration ( "Configuration > System configuration: Data Collection").
Parameter
E-Commerce parameters must be set up in the configuration (" Configuration > Custom Parameters > E-Commerce Parameter") before they can be entered. In this setup, the ID (relevant for tracking) and a data type (text/number) are defined for each parameter. When configuring the tracking in the pixel, you need to include the ID as a number and the respective value as a string.
Parameters can also be used to transmit information about an order, e.g. payment or shipping type. In these cases, order tracking must be used. It is enough to transmit this property once per order. It applies equally to all products in the shopping cart. The reference (product or order) is selected when configuring the Smart Pixel. If "individual value" is selected, the parameter refers to the order. If "multiple values" have been selected, the parameter can refer to the product or the order.
Supported methods for order requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | Saves the total order value. This property must be entered if total order values are to be tracked. | - | E-Commerce > Orders separately |
setValue | Saves the total order value. This property must be entered if total order values are to be tracked. | - | E-Commerce > Orders separately |
setId | Contains a unique order number (order ID). Use of this setting ensures that no orders are counted twice. | - | E-Commerce > Orders separately |
setCurrency | The currency of an order. | - | - |
setCouponValue | Contains the value of a coupon. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Coupon value | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setPaymentMethod | Use this to transmit the payment method of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Payment method | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setShippingService | Use this to transmit the shipping service of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Shipping service | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setShippingSpeed | Use this to transmit the shipping speed of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Shipping speed | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setShippingCosts | Use this to transmit the shipping costs of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Shipping costs | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setGrossMargin | Use this to transmit the margin/mark-up of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Gross margin | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setOrderStatus | Use this to transmit the order status of the order. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Order status | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] |
setParameter | You can use parameters to enrich analytical data with your own website-specific information and/or metrics. Observe the syntax guidelines when defining parameters. | Custom Parameters > ECommerce Parameter > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: E-Commerce > Product Parameters > [Name of Parameter] Datatype Figure: metric |
constructor
/**
* MappIntelligenceOrder constructor.
* @param float $value
*/
$orderData = new MappIntelligenceOrder();
setValue
/**
* @param float $value
* @return $this
*/
$orderData->setValue($value);
setId
/**
* @param string $id
* @return $this
*/
$orderData->setId($id);
setCurrency
/**
* @param string $currency
* @return $this
*/
$orderData->setCurrency($currency);
setCouponValue
/**
* @param float $couponValue
* @return $this
*/
$orderData->setCouponValue($couponValue);
setPaymentMethod
/**
* @param string $paymentMethod
* @return $this
*/
$orderData->setPaymentMethod($paymentMethod);
setShippingService
/**
* @param string $shippingService
* @return $this
*/
$orderData->setShippingService($shippingService);
setShippingSpeed
/**
* @param string $shippingSpeed
* @return $this
*/
$orderData->setShippingSpeed($shippingSpeed);
setShippingCosts
/**
* @param float $shippingCosts
* @return $this
*/
$orderData->setShippingCosts($shippingCosts);
setGrossMargin
/**
* @param float $grossMargin
* @return $this
*/
$orderData->setGrossMargin($grossMargin);
setOrderStatus
/**
* @param string $orderStatus
* @return $this
*/
$orderData->setOrderStatus($orderStatus);
setParameter
/**
* @param int $id
* @param string $value
* @return $this
*/
$orderData->setParameter($id, $value);
$orderData = new MappIntelligenceOrder();
$orderData
->setValue(24.95)
->setCouponValue(10.99)
->setPaymentMethod('paypal')
->setOrderStatus('payed')
->setId('ABC123')
->setGrossMargin(6.95)
->setShippingService('dhl')
->setShippingSpeed('2d')
->setShippingCosts(3.95)
->setCurrency('EUR')
->setParameter(2, 'param2')
->setParameter(15, 'param15');
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->order($orderData));
Session
Session parameters always refer to a completed visit (a.k.a session). In case of transmitting a parameter multiple times during a visit, the system only evaluates the first or last value of the parameter during the visit (based on the configuration in your account). An example for the utilisation of a session parameter would be the login status of the user. By default, each visit would be indicated as "not logged-in" at the beginning. The successful login is passed to the same parameter and overwrites the first value.
A session parameter cannot be used to add an information to a specific webpage, but only to the complete visit. Please use page parameters if you want to analyse information of a specific page of your website or evaluate multiple values of a parameter in the same visit.
Supported methods for session requests
Methods | Description | Where to configure ( Q3 > Configuration > ...) | Where to analyze |
---|---|---|---|
constructor | - | - | - |
setLoginStatus | Pass the current users login status here. | Custom Parameters > Session Parameters > Create new Custom Parameter > Preconfigured > Login status | Datatype Text: Visitor > Session Parameters > [Name of Parameter] |
setTemporarySessionId | In order to keep the session and the user during a single session, we offer the possibility to set a temporary session ID that keeps the session together but is not permanently stored on a device. | - | - |
setParameter | Session parameters always refer to a complete session (visit). If the value for the parameter is transmitted during a visit several times, only the first or last value is evaluated, based on the configuration of the Webtrekk GUI. | Custom Parameters > Session Parameters > Create new Custom Parameter > Preconfigured > Own Configuration | Datatype Text: Visitor > Session Parameters > [Name of Parameter] Datatype Figure: metric |
construct
/**
* MappIntelligenceSession constructor.
*/
$sessionData = new MappIntelligenceSession();
setLoginStatus
/**
* @param string $loginStatus
* @return $this
*/
$sessionData->setLoginStatus($loginStatus);
setTemporarySessionId
/**
* @param string $tSessionId
* @return $this
*/
$sessionData->setTemporarySessionId($tSessionId);
setParameter
/**
* @param int $id
* @param string $value
* @return $this
*/
$sessionData->setParameter($id, $value);
$sessionData = new MappIntelligenceSession();
$sessionData
->setLoginStatus('logged in')
->setTemporarySessionId('abc123')
->setParameter(2, 'param2')
->setParameter(15, 'param15');
$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->session($sessionData));
Query Parameter
Each parameter is used for a specific analyses in Mapp Intelligence (e.g. is can be analyzed in Mapp Intelligence under" Marketing > Search Phrases > Internal Search Phrases"). If you prefer to send data directly using the parameters used by Mapp Intelligence, you can find the references in the documentation below. This can be useful if you only want to track basic requests and save server load.
These constants are available in the classes MappIntelligenceParameter and MappIntelligenceCustomParameter.
Please note that this solution requires in-depth knowledge of the Mapp Intelligence data model.
General
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$PAGE_NAME | pn | Name of the page | String | page / action | "en.home" | |
$EVER_ID | eid | EverId | String | page / action | "1234567890123456789" | |
$CUSTOM_EVER_ID | ceid | Custom EverId | String | page / action | "098f6bcd4621d373cade4e832627b4f6" | |
$USER_AGENT | X-WT-UA | Enter the origin client HTTP user agent string | String | page / action | "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0" | |
$USER_IP | X-WT-IP | Enter the origin client Remote address (ip) | String | page / action | "127.0.0.1" |
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$SEARCH | is | Search term of the internal search function | String | page | "search term" | |
$NUMBER_SEARCH_RESULTS | cp771 | Number of search results | Number | page | 15 | |
$ERROR_MESSAGES | cp772 | Error messages | String | page | "error message" | |
$PAYWALL | cp773 | Paywall calls | Number | page | 1 | |
$ARTICLE_TITLE | cp774 | Article header | String | page | "name of an article" | |
$CONTENT_TAGS | cp775 | Content tags | String | page | "name of a content tag" | |
$PAGE_TITLE | cp776 | Page title | String | page | "title of a page" | |
$PAGE_TYPE | cp777 | Page type | String | page | "type of a page" | |
$PAGE_LENGTH | cp778 | Page length | String | page | "large" | |
$DAYS_SINCE_PUBLICATION | cp779 | Days since publication | Number | page | 8 | |
$TEST_VARIANT | cp781 | Name of the test variant | String | page | "name of a variant" | |
$TEST_EXPERIMENT | cp782 | Name of the test experiment | String | page | "name of an experiment" | |
$CUSTOM_PAGE_CATEGORY | cg<<1 - 499>> | Page category [cg2, cg3, ...], Content group | Number (metrics) String (dimensions) | page | "category 2" | |
$CUSTOM_PAGE_PARAMETER | cp<<1 - 499>> | Page parameter [cp2, cp3, ...] | Number (metrics) String (dimensions) | page | "parameter 5" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$SEARCH, "search term")
->add(MappIntelligenceParameter::$NUMBER_SEARCH_RESULTS, "15")
->add(MappIntelligenceParameter::$ERROR_MESSAGES, "error message")
->add(MappIntelligenceParameter::$PAYWALL, "1")
->add(MappIntelligenceParameter::$ARTICLE_TITLE, "name of an article")
->add(MappIntelligenceParameter::$CONTENT_TAGS, "name of a content tag")
->add(MappIntelligenceParameter::$PAGE_TITLE, "title of a page")
->add(MappIntelligenceParameter::$PAGE_TYPE, "type of a page")
->add(MappIntelligenceParameter::$PAGE_LENGTH, "large")
->add(MappIntelligenceParameter::$DAYS_SINCE_PUBLICATION, "8")
->add(MappIntelligenceParameter::$TEST_VARIANT, "name of a variant")
->add(MappIntelligenceParameter::$TEST_EXPERIMENT, "name of an experiment")
->add(MappIntelligenceCustomParameter::$CUSTOM_PAGE_PARAMETER->with(1), "parameter 1")
->add(MappIntelligenceCustomParameter::$CUSTOM_PAGE_PARAMETER->with(2), "parameter 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_PAGE_CATEGORY->with(1), "category 1")
->add(MappIntelligenceCustomParameter::$CUSTOM_PAGE_CATEGORY->with(2), "category 2");
$mappIntelligence->track($mappParameterMap);
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$ACTION_NAME | ct | Name of the event / action | String | action | "en.navigation.home" | |
$CUSTOM_ACTION_PARAMETER | ck<<1 - 499>> | Event / Action parameter [ck2, ck3, ...] | Number (metrics) String (dimensions) | action | "parameter 2" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$ACTION_NAME, "en.navigation.home")
->add(MappIntelligenceCustomParameter::$CUSTOM_ACTION_PARAMETER->with(1), "parameter 1")
->add(MappIntelligenceCustomParameter::$CUSTOM_ACTION_PARAMETER->with(2), "parameter 2");
$mappIntelligence->track($mappParameterMap);
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$CAMPAIGN_ID | mc | Campaign ID consisting of media code parameter and value (needs encoding) | String | page / action | "wt_mc%3Dnewsletter" | |
$CAMPAIGN_ACTION | mca | Campaign action (c=click | v=view) | String | page / action | "c" | |
$CUSTOM_CAMPAIGN_PARAMETER | cc<<1 - 499>> | Campaign parameter [cc2, cc3, ...] | Number (metrics) String (dimensions) | page / action | "parameter 15" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$CAMPAIGN_ID, "wt_mc%3Dnewsletter")
->add(MappIntelligenceParameter::$CAMPAIGN_ACTION, "c")
->add(MappIntelligenceCustomParameter::$CUSTOM_CAMPAIGN_PARAMETER->with(2), "parameter 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_CAMPAIGN_PARAMETER->with(15), "parameter 15");
$mappIntelligence->track($mappParameterMap);
Recommendation
It is recommended to transmit hashed personal data that is not evaluated in terms of content (e.g. with the SHA256 hash). If you would like to collect this data for analytical reasons, we suggest that you transmit the data in encrypted form (see the document Encryption of Tracking Data).
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$CUSTOMER_ID | cd | Customer ID, URM - Custom Visitor Id | String | page / action | "user123456789" | |
uc700 | URM - Email | String | page / action | "~!5kWnPT+q95KgFwEE463v2ni5E/AxdAYV!~" | ||
$EMAIL_RID | uc701 | URM - Email Receiver-ID | String | page / action | "abc123def456" | |
$EMAIL_OPTIN | uc702 | URM - Email-Optin [ 1 = yes, 2 = no ] | Number | page / action | 1 | |
$FIRST_NAME | uc703 | URM - First Name | String | page / action | "~!ZzmpHUYURXo=!~" | |
$LAST_NAME | uc704 | URM - Last Name | String | page / action | "~!fj6DIBrirUg=!~" | |
$TELEPHONE | uc705 | URM - Telephone | String | page / action | "~!pAVQxoaDb6GsdSLoiEeGAQ==!~" | |
$GENDER | uc706 | URM - Gender [ 1 = male, 2 = female, 0 = undefined] | Number | page / action | 2 | |
$BIRTHDAY | uc707 | URM - Birthday [ YYYMMDD ] | String | page / action | "~!jX7E0tqd3BTIXVNX+jJnOQ==!~" | |
$COUNTRY | uc708 | URM - Country | String | page / action | "~!epld8YhkcFY=!~" | |
$CITY | uc709 | URM - City | String | page / action | "~!9Hn50gRUKpw=!~" | |
$POSTAL_CODE | uc710 | URM - Postal Code | String | page / action | "~!dZVg2aMOE2Q=!~" | |
$STREET | uc711 | URM - Street | String | page / action | "~!vOSHjdTscdK8BCw0pNyQ2lcLKg5PY70N!~" | |
$STREET_NUMBER | uc712 | URM - House Number | String | page / action | "~!s1p+vG2iWGI=!~" | |
$CUSTOMER_VALIDATION | uc713 | Data validated | Number | page / action | 1 | |
$CUSTOM_URM_CATEGORY | uc<<1 - 499>> | Customer categories [uc2, uc3, ...] | Number (metrics) String (dimensions) | page / action | "female" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$CUSTOMER_ID, "user5684798169")
->add(MappIntelligenceParameter::$EMAIL, "~!5kWnPT+q95KgFwEE463v2ni5E/AxdAYV!~") // info@webtrekk.com
->add(MappIntelligenceParameter::$EMAIL_RID, "abc123def456")
->add(MappIntelligenceParameter::$EMAIL_OPTIN, "1")
->add(MappIntelligenceParameter::$GENDER, "2")
->add(MappIntelligenceParameter::$BIRTHDAY, "~!jX7E0tqd3BTIXVNX+jJnOQ==!~") // 19900215 [ JJJJMMDD ]
->add(MappIntelligenceParameter::$FIRST_NAME, "~!ZzmpHUYURXo=!~") // John
->add(MappIntelligenceParameter::$LAST_NAME, "~!fj6DIBrirUg=!~") // Doe
->add(MappIntelligenceParameter::$TELEPHONE, "~!pAVQxoaDb6GsdSLoiEeGAQ==!~") // 4930755415101
->add(MappIntelligenceParameter::$COUNTRY, "~!epld8YhkcFY=!~") // Germany
->add(MappIntelligenceParameter::$CITY, "~!9Hn50gRUKpw=!~") // Berlin
->add(MappIntelligenceParameter::$POSTAL_CODE, "~!dZVg2aMOE2Q=!~") // 10115
->add(MappIntelligenceParameter::$STREET, "~!vOSHjdTscdK8BCw0pNyQ2lcLKg5PY70N!~") // Robert-Koch-Platz
->add(MappIntelligenceParameter::$STREET_NUMBER, "~!s1p+vG2iWGI=!~") // 4
->add(MappIntelligenceParameter::$CUSTOMER_VALIDATION, "1")
->add(MappIntelligenceCustomParameter::$CUSTOM_URM_CATEGORY->with(5), "login");
$mappIntelligence->track($mappParameterMap);
If several products appear in the shopping cart, they are each separated by a semicolon.
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$PRODUCT_ID | ba | Name or id of the product (a product name may not contain more than 110 characters) | String | page | "product name" | |
$PRODUCT_COST | co | Product cost | Number | page | 19.95 | |
$PRODUCT_QUANTITY | qn | Number of products | Number | page | 5 | |
$PRODUCT_STATUS | st | Status of the shopping basket [ add, conf, view ] | Enum {add, conf, view} | page | "view" | |
$CURRENCY | cr | Product currency | String | page | "EUR" | |
$PRODUCT_SOLD_OUT | cb760 | Product sold out | Number | page | 1 | |
$CUSTOM_PRODUCT_CATEGORY | ca<<1 - 499>> | Product category [ca2, ca3, ...] | Number (metrics) String (dimensions) | page | "category 2" | |
$CUSTOM_PRODUCT_PARAMETER | cb<<1 - 499>> | E-commerce parameter [cb2, cb3, ...] | Number (metrics) String (dimensions) | page | "parameter 6" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$PRODUCT_ID, "product name")
->add(MappIntelligenceParameter::$PRODUCT_COST, "19.95")
->add(MappIntelligenceParameter::$PRODUCT_QUANTITY, "5")
->add(MappIntelligenceParameter::$PRODUCT_STATUS, MappIntelligenceProduct::VIEW)
->add(MappIntelligenceParameter::$CURRENCY, "EUR")
->add(MappIntelligenceParameter::$PRODUCT_SOLD_OUT, "1")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_PARAMETER->with(2), "parameter 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_PARAMETER->with(15), "parameter 15")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_CATEGORY->with(2), "category 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_CATEGORY->with(15), "category 15");
$mappIntelligence->track($mappParameterMap);
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$ORDER_VALUE | ov | Order value | Number | page | 24.95 | |
$ORDER_ID | oi | Order ID | String | page | "ABC123" | |
$CURRENCY | cr | Product currency | String | page | "EUR" | |
$COUPON_VALUE | cb563 | Coupon value | Number | page | 10.99 | |
$PAYMENT_METHOD | cb761 | Payment method | String | page | "paypal" | |
$SHIPPING_SERVICE | cb762 | Shipping service provider | String | page | "dhl" | |
$SHIPPING_SPEED | cb763 | Shipping speed | String | page | "2d" | |
$SHIPPING_COSTS | cb764 | Shipping costs | Number | page | 3.95 | |
$GROSS_MARGIN | cb765 | Margin/mark-up | Number | page | 6.95 | |
$ORDER_STATUS | cb766 | Order status | String | page | "payed" | |
$CUSTOM_PRODUCT_CATEGORY | ca<<1 - 499>> | Product category [ca2, ca3, ...] | Number (metrics) String (dimensions) | page | "category 2" | |
$CUSTOM_PRODUCT_PARAMETER | cb<<1 - 499>> | E-commerce parameter [cb2, cb3, ...] | Number (metrics) String (dimensions) | page | "parameter 6" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$ORDER_VALUE, "24.95")
->add(MappIntelligenceParameter::$COUPON_VALUE, "10.99")
->add(MappIntelligenceParameter::$PAYMENT_METHOD, "paypal")
->add(MappIntelligenceParameter::$ORDER_STATUS, "payed")
->add(MappIntelligenceParameter::$ORDER_ID, "ABC123")
->add(MappIntelligenceParameter::$GROSS_MARGIN, "6.95")
->add(MappIntelligenceParameter::$SHIPPING_SERVICE, "dhl")
->add(MappIntelligenceParameter::$SHIPPING_SPEED, "2d")
->add(MappIntelligenceParameter::$SHIPPING_COSTS, "3.95")
->add(MappIntelligenceParameter::$CURRENCY, "EUR")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_PARAMETER->with(2), "parameter 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_PRODUCT_PARAMETER->with(15), "parameter 15");
$mappIntelligence->track($mappParameterMap);
Parameter | Description | Type | Supported request type | Required | Example | |
---|---|---|---|---|---|---|
$LOGIN_STATUS | cs800 | Login status | String | page / action | "logged in" | |
$TEMPORARY_SESSION_ID | fpv | In order to keep the session and the user during a single session, we offer the possibility to set a temporary session ID that keeps the session together but is not permanently stored on a device. | String | page / action | "abc123" | |
$CUSTOM_SESSION_PARAMETER | cs<<1 - 499>> | Session parameter [cs2, cs3, ...] | Number (metrics) String (dimensions) | page / action | "parameter 8" |
$mappIntelligence = MappIntelligence::getInstance();
$mappParameterMap = new MappIntelligenceParameterMap();
$mappParameterMap
->add(MappIntelligenceParameter::$PAGE_NAME, "name of a page")
->add(MappIntelligenceParameter::$LOGIN_STATUS, "logged in")
->add(MappIntelligenceParameter::$TEMPORARY_SESSION_ID, "abc123")
->add(MappIntelligenceCustomParameter::$CUSTOM_SESSION_PARAMETER->with(2), "parameter 2")
->add(MappIntelligenceCustomParameter::$CUSTOM_SESSION_PARAMETER->with(15), "parameter 15");
$mappIntelligence->track($mappParameterMap);