Skip to content

Implementation INFOnline Measurement Manager

Requirements

  • TCF 2.x compliant Consent Management Platform (CMP)
  • Relay client container (hosted by INFOnline or self-hosted)
  • Registered domain service name as CNAME (hosted by INFOnline), AAA(A) (self-hosted) DNS record
  • Site ID (provided by INFOnline GmbH)
Important information hybrid app measurement

Before integrating Measurement Manager, please check if these web pages are accessed hybrid. For correct app traffic capture, the integration of the Census SDK in your app must occur simultaneously with the activation of the Measurement Manager. This may result in an overcount of the webview's stored offer identifier (MEW).

If the pseudonymous measurement (webview) is played out directly via the Measurement Manager, it is imperative to implement and initialize the Census Library (IOMb, from version 1.0.1) as well. In case of a different implementation, hybrid requests cannot be captured from the pseudonymous webview.

Furthermore, make sure that your new app version - with integrated Census Library - has a high update rate among your users before activating pseudonymous measurement in the Measurement Manager on your website.

Bootstrapping

With preload and bundle loader

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='UTF-8'>
  <title>website</title>
  <!-- begin preload of IOM web manager -->
  <link rel='preload' href='//<domain service name>/iomm/latest/manager/base/es6/bundle.js' as='script' id='IOMmBundle'>
  <link rel='preload' href='//<domain service name>/iomm/latest/bootstrap/loader.js' as='script'>
  <!-- end preload of IOM web manager -->
  <!-- begin loading of IOMm bootstrap code -->
  <script type='text/javascript' src="//<domain service name>/iomm/latest/bootstrap/loader.js"></script>
  <!-- end loading of IOMm bootstrap code -->
</head>
<body>
<!-- content -->
</body>
</html>
Attention

If you use a CMP that supports automatic blocking of 3rd-party scripts, you must adjust the code line 12 accordingly. Otherwise the census measurement will be blocked by your CMP. This adjustment is currently necessary, for example, when using the ConsentManager CMP. Please check your used CMP accordingly.

<script type='text/javascript' src="//<domain service name>/iomm/latest/bootstrap/loader.js" data-cmp-ab="2"></script>

Info

The <domain service name> should be replaced by the AAA(A) or CNAME DNS record of the service platform (relay client).

Without preload and bundle loader

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='UTF-8'>
  <title>website</title>
  <!-- begin loading of IOMb bootstrap code -->
  <script type='text/javascript' src="//<domain service name>/iomm/latest/bootstrap/stub.js"></script>
  <!-- end loading of IOMb bootstrap code -->
</head>
<body>
<!-- content -->
<script type='text/javascript'>
  IOMm('configure', { st: 'foo', dn: 'data-acbd18db4c.example.com' }); // Configure IOMm
  IOMm('pageview', { cp: 'bar' }); // Count pageview
  IOMm('3p', 'qds'); // Trigger qds module (for agof ddf participants only!)
</script>
<script type='text/javascript' src='//<domain service name>/iomm/latest/manager/base/es5/bundle.js'></script>
</body>
</html>
Attention

When integrating the INFOnline Measurement Manager without preload it is essential to submit all necessary commands before loading manually the INFOnline Measurement Manager JavaScript bundle. See example above. Any change to the order can lead to an unexpected behaviour, especially with the qds integration for for agof ddf participants.

Attention

Any change of the html attributes of the preload <links> as well as any change of the paths to the bundle or stub will inevitably cause the measurement to fail. Only the <domain service name> should be replaced by the AAA(A) or CNAME DNS entry of the service platform (relay client).

Attention

The publisher must keep in mind that without a bundle loader they must determine the ECMAScript version themselves or they ignore IE11 support and only switch to ECMAScript 6 support.

Configuration

To configure the INFOnline Measurement Manager, the publisher must insert a script snippet in the <body> of the HTML content. The snippet itself contains the following statement:

1
2
3
<script type='text/javascript'>
  IOMm('configure', { st: 'foo', dn: 'data-acbd18db4c.example.com' });
</script>
The following parameters must and can be specified via the configure command:

| abbreviationname typedefault lengthpattern mandatorydescription |-----------------|---------------------|---------|---------------|--------|----------------------------------------|-----------|-------------------------------------------------------------------------------------| | st | site | String | - | 15 | ^[a-zA-Z0-9_]*$ | yes | Site identifier | | dn | domainServiceName | String | - | - | INFOnline CNAME convention1 | yes | Domain Service Name (CNAME or AAA(A) Host)2 | | Site identifier | | cn | country | Enum | de | - | no | INFOnline country (de or at) | | dc | distributionChannel | Enum | web | - | - | no | Distribution channel can be web, hyb, app, ctv | | dg | debug | Boolean | false | - | no | Debug flag |

1 INFOnline CNAME convention: /^(data-)([a-f0-9]{10})\.([a-zA-Z0-9][a-zA-Z0-9-_]{0,61})(?:\.([a-z]{2,62}))?\.([a-z]{2,62})$/

2 If the notation of dn / domainServiceName does not match the INFOnline CNAME convention, no measurement will take place.

Attention

Before any events (e.g. page impressions) can be measured, the INFOnline Measurement Manager must be configured with the command configure!

Attention

The following applies to parameters:
- Not set and the parameter is optional -> default value is used!
- Not set and the parameter is mandatory -> processing is aborted and a message is logged on the browser console in debug mode!
- Each parameter is queried before processing!

Pageview

To measure a pageview (the digital content is viewed by the receiver), the publisher must send the pageview command to the INFOnline Measurement Manager via the global function IOMm(). To send a pageview event to the INFOnline Measurement Manager, the publisher must place a script snippet in the <body> of the HTML content. The snippet itself contains the following statement:

1
2
3
<script type='text/javascript'>
  IOMm('pageview', { cp: 'bar' });
</script>

The following parameters can be passed using the pageview command:

abbreviation name type default length pattern mandatory description
cp code String page_code_non-assignable 256 [^a-zA-Z0-9,_/\-?#.] no page code for the IVW Kat 2.0 association
co comment String - 256 /[ -~]/ no Optional comment
pt pixelType Enum cp - no One of cp, sp, xp
Attention

The contents of the parameters cp and co will be truncated if the maximum length is exceeded. Furthermore, the contents of the cp parameter will be cleaned up and all characters which violate the above pattern will be replaced by a .'.

QDS (BFE) module

Activation

1
2
3
<script type='text/javascript'>
  IOMm('3p', 'qds', '[sample type]');
</script>
Attention

This integration step is only necessary for publishers who are members of the agof daily digital facts.

Attention

The sample type is optional and will default to 'in' when not specified.

Survey sample types

Sample type Default Description
'in' yes Default sample type for desktop clients
'mo' no Mobile sample type for Smartphone and other devices with a reduced resolution

Enforce default survey sample type

1
2
3
<script type='text/javascript'>
  IOMm('3p', 'qds', 'in');
</script>

Enforce mobile survey sample type

1
2
3
<script type='text/javascript'>
  IOMm('3p', 'qds', 'mo');
</script>

Last update: May 10, 2023