Skip to content

Integration Guide: INFOnline Measurement Manager

Prerequisites

  • TCF 2.x compliant Consent Management Platform (CMP)
  • No INFOnline measurement system has been installed in your content yet
  • Relay client container (hosted by INFOnline or self-hosted)
  • Registered domain service name as CNAME (hosted by INFOnline), AAA(A) (self-hosted) DNS entry
  • Offer identifier (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' crossorigin>
  <link rel='preload' href='//<domain service name>/iomm/latest/bootstrap/loader.js' as='script' crossorigin>
  <!-- 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" crossorigin></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.

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

The <domain service name> should be replaced with 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" crossorigin></script>
  <!-- end loading of IOMb bootstrap code -->
</head>
<body>
<!-- content -->
<script type='text/javascript'>
IOMm('configure', { st: 'foo', dn: 'data-acbd18db4c.example.com', mh: 5 }); // Configure IOMm
IOMm('pageview', { cp: 'bar' }); // Count pageview
</script>
<script type='text/javascript' src='//<domain service name>/iomm/latest/manager/base/es5/bundle.js' crossorigin>
</script>
</body>
</html> 
Attention

When integrating the INFOnline Measurement Manager without preload it is essential to submit all necessary commands before manually loading the INFOnline Measurement Manager JavaScript bundle. See the example above. Any change in the order can lead to an unexpected behaviour.

Attention

Any change of the html attributes of the preload <links> and 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 into 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', mh:5 });
</script>

The following parameters must and can be specified via the configure command:

abbreviation name type default length pattern mandatory description
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
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
mh system number - - 5 - Activation of pseudonymous measurement3

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 correspond to the mentioned INFOnline CNAME convention, no measurement takes place.
3 Please make sure to pass the mh parameter as a number, passing it as a string will result in a malfunction.

Attention

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

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 Leercode_nichtzuordnungsfaehig 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 '.'.


Last update: July 21, 2023