Zum Inhalt

AMP-Analytics (pseudonyme Messung)

Achtung

Sollten Sie die pseudonyme Messung über den INFOnline Measurement Manager aktivieren, ist es zwingend erforderlich das Standalone-Script in Google AMP eingebunden zu lassen.

Für die Messung der Zugriffe auf AMP-Webseiten (https://www.ampproject.org) ist ein spezieller Analytics-Tag (weiter unten in diesem Kapitel) erforderlich, der um die jeweilige Angebotskennung, den Seitencode und eine URL ergänzt werden muss. Die URL muss auf eine Webseite verweisen, die einen speziellen SZM-Tag enthält und selbst per HTTPS ausgeliefert werden muss. Diese Webseite muss über eine andere Subdomain ausgeliefert werden als die AMP-Webseite und in der Localliste enthalten sein. Auf AMP-Webseiten wird keine Befragungseinladung (agof BFE) ausgeliefert.

Im Header der Webseite einfügen

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>

Messung von AMP Webseiten (pageview)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<amp-analytics type="infonline" id="infonline">
<script type="application/json">
{
 "vars": {
 "st": "angebotskennung",
 "co": "comment",
 "cp": "code"
 },
 "requests": {
 "url": "https://sub.example.com/amp-analytics-infonline.html"
 }
}
</script>
</amp-analytics>
Hinweis

Bitte achten Sie darauf, keine zusätzlichen Zeilenumbrüche einzufügen und die Variablen („vars“) „st“ und „cp“ mit den jeweiligen Werten zu füllen:

st= Angebotskennung
cp= Entsprechender Seitencode der Webseite
co= Kommentar (optional)

Bitte beachten Sie, dass die Eigenschaft „url“ auf eine von Ihnen frei wählbare Subdomäne zeigen und den Inhalt der im Punkt 5 (nachfolgend) gezeigten HTML-Webseite zur Verfügung stellen muss. Der Name der HTML-Datei ist dabei frei wählbar.

Messung von AMP Stories

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<amp-analytics type="infonline">
 <script type="application/json">
  {
   "vars": {
   "st": "angebotskennung",
   "co": "comment",
   "cp": "code"
  },
   "requests": {
     "url": "https://sub.example.com/amp-analytics-infonline.html"
  },
   "triggers": {
    "storyPageVisible": {
     "on": "story-page-visible",
     "request": "pageview"
     },
   }
 }
 </script>
</amp-analytics>
Hinweis

Bitte achten Sie darauf, keine zusätzlichen Zeilenumbrüche einzufügen und die Variablen („vars“) „st“ und „cp“ mit den jeweiligen Werten zu füllen:

st= Angebotskennung
cp= Entsprechender Seitencode der Webseite
co= Kommentar (optional)

Bitte beachten Sie, dass die Eigenschaft „url“ auf eine von Ihnen frei wählbare Subdomäne zeigen und den Inhalt der im Punkt 5 (nachfolgend) gezeigten HTML-Webseite zur Verfügung stellen muss. Der Name der HTML-Datei ist dabei frei wählbar.

Wenn Sie noch mehr AMP Story-Interaktionen wie Aufrufe des „Bookends“ etc. messen wollen, finden Sie hier eine entsprechende Dokumentation. Wichtig ist nur, dass der request vom Typ „pageview“ sein muss.

Messung von Ereignissen (z.B. Video-Playback)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<amp-analytics type="infonline">
 <script type="application/json">
  {
   "vars": {
   "st": "angebotskennung",
   "co": "comment",
   "cp": "code"
   },
   "requests": {
    "url": "https://sub.example.com/amp-analytics-infonline.html"
   },
   "triggers": {
    "myVideoPlay": {
     "on": "video-play",
     "selector": "#myVideo",
     "request": "event",
     "vars": {
      "ev": "play"
     }
   }
  }
 }
 </script>
</amp-analytics>
Hinweis

Bitte achten Sie darauf, keine zusätzlichen Zeilenumbrüche einzufügen und die Variablen („vars“) „st“ und „cp“ mit den jeweiligen Werten zu füllen:

st= Angebotskennung
cp= Entsprechender Seitencode der Webseite
co= Kommentar (optional)

Bitte beachten Sie, dass die Eigenschaft „url“ auf eine von Ihnen frei wählbare Subdomäne zeigen und den Inhalt der im Punkt 5 (nachfolgend) gezeigten HTML-Webseite zur Verfügung stellen muss. Der Name der HTML-Datei ist dabei frei wählbar.

Bitte beachten Sie, dass der angegebene Selector für Ihr Videoelement von Ihnen angepasst werden muss.

Bitte achten Sie auf die Übergabe der korrekten Ereignisse. Hierzu finden Sie unten ein entsprechendes Mapping:

AMP Video Event INFOnline Video Event
video-play play
video-pause paus
video-ended sple

Spezielle HTML-Webseite mit SZM-Tag

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
< !DOCTYPE html>
< html>
<head>
  <script src=https://script.ioam.de/iam.js></script>
</head>
<body>
<script>
  var match,
      pl     = /\+/g,
      search = /([^&=]+)=?([^&]*)/g,
      decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
      query  = window.location.search.substring(1);
  var params = {};
  while (match = search.exec(query)) {
    params[decode(match[1])] = decode(match[2]);
  }
  if (params.type === 'event') {
    iom.i(params, 2);
    iom.e(params.ev);
  } else {
    iom.c(params, 2);
  }
</script>
</body>
</html>
Hinweis

Bitte ändern Sie den oben gezeigten Quelltext nicht ab. Änderungen führen zwangsläufig zu einer Nichtmessung Ihrer AMP-Integration.

AMP Integration mit TCF 2.0

Vorraussetzung

Für die Integration einer TCF 2.0 konformen CMP in Zusammenspiel mit AMP und INFOnline Measurement pseudonymous ist im Vorfeld zu prüfen, ob der Publisher eine CMP einsetzt, von AMP auch unterstützt wird. Ist dies nicht der Fall, kann TCF 2.0 nicht automatisiert verarbeitet werden. Darüber hinaus sollte der Publisher immer die aktuellste Version von AMP einsetzen. Zudem sollte folgender Iframe-Inhalt auf einer Sub-Domain des Digital Angebots vom Publisher gehostet werden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<!DOCTYPE html>
<html lang="en">
<head>
  <script src="//script.ioam.de/iam.js?m=1"></script>
  <title>INFOnline AMP integration</title>
</head>
<body>
  <script src="//script.ioam.de/amp.js?m=1"></script>
</body>
</html>

Integration

Für die Integration von TCF 2.0 benötigt der Publisher das Custom Element <amp-consent> und muss diese entsprechend nach den Vorgaben des CMP Herstellers implementieren (hier ein Beispiel mit Consent Manager):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<amp-consent id="ConsentManager" layout="nodisplay" type="ConsentManager">
  <script type="application/json">
    {
      "postPromptUI": "postPromptUI",
      "clientConfig": {
        "id": "...Your CMP-ID...",
        "params": ""
      }
    }
  </script>
  <div id="postPromptUI">
    <button on="tap:ConsentManager.prompt()" role="button">Manage privacy settings</button>
  </div>
</amp-consent>

Anschließend muss nur noch das Custom Element <amp-analytics> in leicht veränderter Form zum regulären Einbau entsprechend deklariert werden

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<amp-analytics data-block-on-consent type="infonline" id="infonline">
  <script type="application/json">
  {
    "vars": {
      "st": "angebotskennung",
      "co": "comment",
      "cp": "code"
    },
    "requests": {
      "url": "https://sub.example.com/amp-analytics-infonline.html"
    }
  }
  </script>
</amp-analytics>
Hinweis

Über das HTML Attribut data-block-on-consent wird geregelt, wann eine Messung ausgelöst wird. Der Messimpuls wird nur dann ausgelöst, sobald das CMP eine positive Consent-Entscheidung festgestellt hat.

Bitte beachten Sie, dass in Google AMP nur TCF 2.x konforme CMPs aus der Liste unterstützt werden. Eine manuelle Consentübermittlung ist in diesem Umfeld nicht möglich.


Letztes Update: May 11, 2022