Zum Inhalt

Ohne Measurement Manager

Beide Messverfahren lassen sich auch ohne den Measurement Manager als eigenständiger Websensor einbinden.

Empfehlung

Verwenden Sie den Standalone-Sensor nur, wenn der Measurement Manager technisch nicht einsetzbar ist. Der Standalone-Sensor deckt ausschließlich den Distributionskanal Web ab, sein Bundle ist größer, und Zensus- und pseudonyme Messung müssen getrennt eingebaut und getrennt gepflegt werden.

Zensusmessung (IOMb)

Bootstrap-Code in den <head>, Konfiguration und Messaufrufe in den <body>. Der Sensor lädt von Ihrem Domain-Dienstnamen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html lang='de'>
<head>
  <meta charset='UTF-8'>
  <link rel='preload' href='//<domain service name>/iomb/latest/sensor/standalone/base/es6/bundle.js' as='script' id='IOMbBundle'>
  <link rel='preload' href='//<domain service name>/iomb/latest/bootstrap/loader.js' as='script'>
  <script type='text/javascript' src="//<domain service name>/iomb/latest/bootstrap/loader.js"></script>
</head>
<body>
<script type='text/javascript'>
  IOMb('configure', { st: '<angebotskennung>', dn: '<domain service name>' });
  IOMb('pageview', { cp: 'startseite' });
</script>
<!-- Content -->
</body>
</html>

Der Bootstrap-Code prüft die ECMAScript-Version des Browsers, legt eine Befehlswarteschlange an und lädt das Sensor-Bundle. Woher das Bundle geladen wird, entnimmt er dem href des Preload-<link>.

Parameter und ihre Wirkung: Parameter-Referenz. mh und ct entfallen hier — der Zensus-Sensor misst consentfrei.

Pseudonyme Messung (IOMp)

Der pseudonyme Standalone-Sensor lädt nicht von Ihrem Domain-Dienstnamen, sondern von script.ioam.de, und meldet an de.ioam.de (Österreich: at.iocnt.net). Er läuft also als 3rd-Party — die 1st-Party-Vorteile der Zensusmessung gelten hier nicht, Adblocker und 3rd-Party-Blocking greifen. Statt dn benötigt er den Consent-String ct:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html lang='de'>
<head>
  <meta charset='UTF-8'>
  <link rel='preload' href='//script.ioam.de/sensor/latest/standalone/base/es6/bundle.js' as='script' id='IOMpBundle'>
  <link rel='preload' href='//script.ioam.de/sensor/latest/bootstrap/loader.js' as='script'>
  <script type='text/javascript' src="//script.ioam.de/sensor/latest/bootstrap/loader.js"></script>
</head>
<body>
<script type='text/javascript'>
  IOMp('configure', { st: '<angebotskennung>', ct: '<consent string>' });
  IOMp('pageview', { cp: 'startseite' });
</script>
<!-- Content -->
</body>
</html>
Consent-String

ct ist hier obligatorisch und muss den Consent abbilden, den der jeweilige Nutzer tatsächlich erteilt hat — der Sensor ermittelt ihn nicht selbst. Ein fest eingetragener Wert ist auf einer Webseite nie korrekt: Sie würden für jeden Besucher eine Einwilligung behaupten, auch für die, die abgelehnt haben. Sie müssen den Wert zur Laufzeit aus Ihrer CMP ableiten. Aufbau und erlaubte Werte: INFOnline Consent String Notation. Wenn Sie diese Logik nicht selbst bauen wollen, verwenden Sie den Measurement Manager — er wertet den TCF-Consent selbst aus.

Bundle am Seitenende laden

Lässt sich kein Preload-<link> setzen oder soll das Bundle den Rendering-Pfad nicht belasten, trennen Sie Bootstrapping und Laden: stub.js in den <head>, das Bundle ans Ende des <body>.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<head>
  <script type='text/javascript' src="//<domain service name>/iomb/latest/bootstrap/stub.js"></script>
</head>
<body>
<script type='text/javascript'>
  IOMb('configure', { st: '<angebotskennung>', dn: '<domain service name>' });
  IOMb('pageview', { cp: 'startseite' });
</script>
<!-- Content -->
<script type='text/javascript' src="//<domain service name>/iomb/latest/sensor/standalone/base/es6/bundle.js" async></script>
</body>

Das Stub-Bundle stellt nur die globale Funktion und die Befehlswarteschlange bereit. Sobald das Sensor-Bundle geladen ist, arbeitet es die gepufferten Befehle in Eingangsreihenfolge ab — auch bei async oder defer.

Namen der globalen Funktion ändern

Bei Namenskonflikten mit anderen Integrationen können Sie die globale Funktion umbenennen, über data-name am Preload-<link> des Sensor-Bundles:

1
<link rel='preload' href='//<domain service name>/iomb/latest/sensor/standalone/base/es6/bundle.js' as='script' id='IOMbBundle' data-name='Foo'>

Die Aufrufe erfolgen dann über Foo('configure', …). Das funktioniert nur in der Preload-Variante — lädt Sie das Bundle am Seitenende über stub.js, ist der Name fest und data-name wirkungslos.

Kurz- und Langschreibweise

Befehle und Parameter akzeptieren beide Schreibweisen, auch gemischt:

1
2
IOMb('cf', { st: '<angebotskennung>', dn: '<domain service name>' });
IOMb('configure', { site: '<angebotskennung>', domainServiceName: '<domain service name>' });
Befehl Abkürzung
configure cf
pageview pv
event ev

Letztes Update: August 20, 2026