Logfilebereitstellung / Logfilebereitstellung Advanced¶
Leistungsbeschreibung v6.0 | 06.03.2026
Dieser Service wird zum 28.02.2026 eingestellt
Sie möchten Ihr Digital-Angebot stetig individuell analysieren und optimieren bzw. Auffälligkeiten selbständig auswerten, um durch einen transparenten Einblick die Content-Strukturen Ihres Angebotes optimal zu verbessern?
Sie erhalten datenschutzkonforme Logfile-Rohdaten mit verschiedenen Parametern, wie z. B. document-Referrer, Browser-Typ sowie die INFOnline-typischen Kennzahlen wie Code und Angebotskennung.
Sprich: Sie haben Ihre Rohdaten immer genau im Blick!
Serviceumfang¶
Im Rahmen des Service Logfilebereitstellung werden Ihnen Logfile-Rohdaten bereitgestellt, die Informationen über die Messimpulse enthalten, die für Ihr Digital-Angebot in das Messsystem einlaufen. Folgende Parameter werden Ihnen zur Verfügung gestellt: Document-Referrer, Pixel-Referrer, Browser-Typ, Auflösung, Device-Informationen sowie die INFOnline-typischen Kennzahlen wie Code, Angebotskennung und Kommentar.
Der Zugang zu den Daten erfolgt über eine HTTP-API, von der Sie die Logfiles manuell oder automatisiert per curl oder vergleichbarem HTTP-Client herunterladen können.
Bestellung¶
Die Bestellung des Service Logfilebereitstellung erfolgt über das INFOnline Bestell Center. Der Service kann für jedes angemeldete Digital-Angebot gebucht werden.
Bereitstellung¶
- Die Bereitstellung der Rohlogdaten erfolgt über eine HTTP-API unter
https://log.ioam.de/<angebotskennung>. - In der Einrichtungs- bzw. Bestätigungsmail erhält der Auftraggeber die zugehörigen Zugangsdaten (Benutzername und Passwort für HTTP Basic Auth).
- Der Benutzername entspricht der Angebotskennung (site_id).
Der Service sowie die Mail mit allen notwendigen Informationen werden Ihnen innerhalb von 3 Werktagen zur Verfügung gestellt.
Hinweis
Pro Angebotskennung ist nur ein gleichzeitiger Datenabruf möglich. Bei einem laufenden Download wird der HTTP-Statuscode 429 (Too Many Requests) zurückgegeben.
Datenverfügbarkeit¶
- Die Logdaten stehen mit einer Verzögerung von ca. 10 Minuten nach Ende des angefragten Zeitraums zur Verfügung. Ist ein Zeitraum noch nicht verfügbar, wird der HTTP-Statuscode 503 mit einem
Retry-After-Header zurückgegeben. - Die Aufbewahrung der Logfiledaten erfolgt über maximal 90 Tage, anschließend stehen die Daten nicht mehr zur Verfügung.
- Eine gesonderte Datensicherung außerhalb des Zeitraums erfolgt nicht.
- Die Verfügbarkeit der Logfilebereitstellung liegt bei 99 Prozent.
- Ein Anspruch auf Nachlieferung der Logfile-Daten im Falle von technischen Ausfällen besteht allerdings nicht.
Laufzeit¶
Die Service-Laufzeit gilt ab der Einrichtung bis zur Kündigung des Services bzw. zur Kündigung des Messvertrags für das entsprechende Digital-Angebot.
Wird die Logfilebereitstellung vor dem 15. eines Monats eingerichtet, so wird dieser Monat als ganzer Monat gewertet. Bei Logfilebereitstellungen, die nach dem 15. eines Monats eingerichtet werden, beginnt die Laufzeit des Services mit dem 1. des Folgemonats.
Kündigung¶
Die Kündigungsfrist beträgt immer 4 Wochen zum Quartalsende. Es reicht eine E-Mail mit Kündigungsgrund an folgende Adresse: service@infonline.de. Sofern Sie die Messung des Digital-Angebots kündigen, läuft der Service automatisch aus.
Kosten¶
Die Rechnungsstellung erfolgt quartalsweise im Voraus.
Die Kosten setzen sich aus einer einmaligen Einrichtungsgebühr von 100€ sowie einer Jahresgebühr, die auf folgender Bemessungsgrundlage beruht, zusammen:
Bemessungsgrundlage:
Neukunden = Page Impressions des letzten Monats der Testphase Bestandskunden = durchschnittliche Page Impressions des 2. Quartal des Vorjahres
Die Rabattregelung ist auf die Preise des Service Logfilebereitstellung nicht anwendbar. Alle Preise verstehen sich zzgl. der gesetzlichen Mehrwertsteuer.
| Staffelung nach Page Impressions | Einrichtungsgebühr | Basiskosten/jährlich | Zusatzleistung Advanced/jährlich |
|---|---|---|---|
| bis 10.000.000 PIs | 100 € | 100 € | 25 € |
| 10.000.001 bis 100.000.000 PIs | 100 € | 500 € | 125 € |
| 100.000.001 bis 500.000.000 PIs | 100 € | 1.000 € | 250 € |
| 500.000.001 bis 1.000.000.000 PIs | 100 € | 1.500 € | 500 € |
| 1.000.000.001 bis 10.000.000.000 PIs | 100 € | 2.000 € | 750 € |
| ab 10.000.000.001 PIs | auf Anfrage | auf Anfrage | auf Anfrage |
Technische Informationen¶
Logfilelieferung¶
Der Zugriff auf die Logfiledaten erfolgt über eine HTTP-API unter:
1 | |
Die Authentifizierung erfolgt per HTTP Basic Auth. Der Benutzername muss der Angebotskennung entsprechen, das Passwort wird bei der Einrichtung mitgeteilt. Die Datenübertragung ist per TLS verschlüsselt.
Abrufmöglichkeiten¶
Ganzer Tag (ohne time-Parameter):
1 2 3 | |
5-Minuten-Zeitfenster (mit time-Parameter):
1 2 3 | |
Der time-Parameter gibt das Ende des 5-Minuten-Fensters an. time=10:05 liefert die Daten von 10:00 bis 10:05 UTC. Der Wert muss ein Vielfaches von 5 Minuten sein (z. B. 10:00, 10:05, 10:10, ...).
Der Sonderfall time=00:00 liefert das Zeitfenster 23:55–00:00 des Vortages.
Wird der date-Parameter weggelassen, wird automatisch der Vortag verwendet.
Parameter¶
| Parameter | Pflicht | Format | Beschreibung |
|---|---|---|---|
angebotskennung |
Ja (URL-Pfad) | [a-zA-Z0-9_-]+ |
Angebotskennung (muss mit dem Basic-Auth-Benutzernamen übereinstimmen) |
date |
Nein | YYYY-MM-DD |
Datum der Daten. Standard: Vortag. Maximal 90 Tage in der Vergangenheit. |
time |
Nein | HH:MM |
5-Minuten-Zeitfenster. Gibt das Ende des Fensters an. Muss ein Vielfaches von 5 sein. Ohne Angabe wird der gesamte Tag geliefert. |
Antwort¶
Content-Type: application/gzipContent-Disposition: attachment; filename="<angebotskennung>_YYYYMMDD_HHMM.log.gz"- Inhalt: gzip-komprimierte, pipe-getrennte Logzeilen (14 Felder pro Zeile)
HTTP-Statuscodes¶
| Code | Bedeutung | Beschreibung |
|---|---|---|
| 200 | Erfolg | Gzip-Datenstrom |
| 400 | Ungültige Anfrage | Ungültiges date, time kein Vielfaches von 5, oder Datum älter als 90 Tage |
| 401 | Nicht autorisiert | Fehlende oder falsche Zugangsdaten |
| 403 | Zugriff verweigert | Benutzername stimmt nicht mit Angebotskennung überein |
| 429 | Zu viele Anfragen | Bereits ein Download für diese Angebotskennung aktiv |
| 503 | Daten noch nicht verfügbar | Daten werden noch verarbeitet (enthält Retry-After-Header in Sekunden) |
Health Check¶
Ein unauthentifizierter Health-Check-Endpunkt steht unter https://log.ioam.de/health zur Verfügung.
Logfiledaten¶
Datenfelder in den Logzeilen
Jede Logzeile enthält 14 durch das Pipe-Symbol (|) getrennte Felder. Pipe-Zeichen innerhalb von Feldwerten werden automatisch entfernt.
Beispiel: Auszug aus einer heruntergeladenen Logdatei
1 | |
Erläuterung der Datenfelder¶
| Nr. | Feld | Erläuterung | Beispiel |
|---|---|---|---|
| 1 | Zeitstempel | Zeitstempel des Messimpulses (Unix Timestamp in Sekunden mit Mikrosekunden) | 1380279169.342900 |
| 2 | Client-IP | IP-Adresse des Clients | 193.46.63.0 |
| 3 | X-Forwarded-For | Inhalt des HTTP-Headers „X-Forwarded-For", i.d.R. leer | 10.0.0.1, 172.16.0.1 |
| 4 | Domain | Hostname des angefragten Messsystems | de.ioam.de |
| 5 | Statuscode | Statuscode des Messimpulses (mögl. Werte: „OK", „N1", „N3"–„N14", kann mehrere Werte enthalten) | OK |
| 6 | Cookie-ID | ID bestehend aus: Boxnummer (hex) + Zufallszahl + Timestamp (hex) + Cookie-Seriennummer | 000605e97501e61fd50f475930001 |
| 7 | Parameter | Vom Sensor/Library erhobene Parameter (URL-kodiert, alphabetisch sortiert, durch & getrennt) |
cb=0007&cn=de&cp=sus&... |
| 8 | Cookie-String | Wert des Cookies i00 der Domäne „ioam.de" | i00=00145b9eb35278f965242b3dc0001%3B... |
| 9 | User-Agent | User-Agent-String des genutzten Browsers | Mozilla/5.0 ... |
| 10 | Referrer | Durch den Nutzer aufgerufene URL der Webseite (HTTP Referrer) | https://www.infonline.de/ |
| 11 | Cube-Nr. | Nr. des Messservers, welcher den Request entgegengenommen hat | 015 |
| 12 | Dimension | Typ der Messung (aktuell „web", „mew", „app", „hyb" möglich) | web |
| 13 | Status | Ergebnis der Validierung (derzeit immer „OK") | OK |
| 14 | Bot-Erkennung | Ergebnis der automatischen Bot-Erkennung: „OK" = menschlicher Traffic, „ERR" = Bot-Traffic | OK |
Hinweis
Im Vergleich zur bisherigen Logfilebereitstellung gibt es folgende Änderungen im Datenformat:
- Parameter (Feld 7): Die Parameter werden alphabetisch nach Schlüssel sortiert ausgegeben. Die Reihenfolge kann daher von der bisherigen Ausgabe abweichen.
- Bot-Erkennung (Feld 14): Anstelle des User-Agent-Whitelist-Checks wird nun eine automatische Bot-Erkennung durchgeführt. „OK" bedeutet menschlicher Traffic, „ERR" bedeutet Bot-Traffic.
Erläuterung der Parameter (Feld 7)¶
Die folgenden Parameter können im Feld 7 enthalten sein. Nicht alle Parameter sind immer vorhanden – die Verfügbarkeit hängt von der Einbindungsart und der Websensor-Version ab.
| Parameter | Erläuterung |
|---|---|
| Öffentlich (vom Kunden per SZM-Tag oder in der App gesetzt) | |
| cp= | Seitencode (kann auch per fp= [bei Flash], np= [bei Newslettern], xp= [für nicht zu zählenden Test] angegeben werden) |
| st= | Angebotskennung / App-Kennung bei App-Messung |
| Öffentlich / Optional (vom Kunden optional gesetzt) | |
| co= | Kommentarfeld |
| sc= | MCVD (Multistage Client & Visit Detection) Aktivierung, nur Web/MEW |
| ie= | vom Kunden übermittelter Fingerprint für den Client |
| mc= | Übergabewert für MCLIENT-Verfahren |
| mo= | Modus für die Antwort des Systems (Keine Angabe/1 = blank.gif, 2 = leeres Script) |
| cn= | Beschreibt den Markt (Land), für den der digitale Content maßgeblich gemessen wird (Default „de"). Ab Websensor Version 5.0.0. |
| Privat (durch Messscript oder Messlibrary erhoben) | |
| cb= | Cube-Nummer: Nr. des Messservers, welcher das Script „iam.js" ausgeliefert hat |
| cs= | Checksumme: Prüfsumme über alle übermittelten Parameter |
| ev= | Event bei Apps, Bewegtbild und Audio |
| i2= | ID des 1st-Party Cookies |
| i3= | Informationen des 1st-Party Cookies |
| id= | Browser-Fingerprint (Jenkins Hash über Plugin-Informationen) |
| lo= | Location als Land und Bundesland |
| lt= | Lokale Zeit auf Client |
| pt= | Pixeltyp |
| r2= | ungekürzter Document Referrer |
| rf= | Document Referrer |
| ur= | Pixel Referrer (aufgerufene Webseite des Angebots) |
| u2= | ungekürzter Pixel Referrer (nur bei bestimmten Browsern) |
| vr= | Version des Scripts „iam.js" |
| xy= | Auflösung und Farbtiefe Clientbildschirm |
| ct= | INFOnline Consentnotation (TCF2.x) |
| tb= | Status Tabbingerkennung |
| ap= | Markierung für Google AMP Integration (0/1). Ab Websensor Version 5.0.0. |
| fb= | Markierung für Facebook Instant Article Integration (0/1). Ab Websensor Version 5.0.0. |
| dc= | Distributionskanal (web, hyb, ctv). Ab Websensor Version 5.0.0. |
| it= | Integrationstyp (mm = Measurement Manager, sa = Standalone). Ab Websensor Version 5.0.0. |
| nt= | Navigation-Type basierend auf Performance Navigation API (0–4). Ab Websensor Version 5.0.0. |
| vs= | Version des Datenschemas des Messaufrufs. Ab Websensor Version 5.0.0. |
| uahint= | User-Agent Client Hints |
| mv= | Versionsnummer des Measurement Managers. Ab Websensor Version 5.1.0. |
| i5= | Origin Identifier, gehashte UUIDv4. Ab Websensor Version 5.5.0. |
| Privat (durch Messsystem ergänzt) | |
| la= | letztes Auftreten des Cookies |
| mt= | Zeitpunkt der Registrierung des Events auf dem IO-Messserver |
| u3= | Hash ungekürzter Pixel Referrer |
| Privat / Apps (nur durch Messlibrary erhoben) | |
| ae= | [Apps native Messung] komplexer JSON-Datentyp (s. u.) |
| bo= | [Apps hybride Messung] Unixtimestamp der DeviceID-Registrierung |
| er= | [Apps hybride Messung] Übertragener Fehler |
| fs= | [Apps hybride Messung] originale Angebotskennung der Webseite |
| ls= | [Apps hybride Messung] LSO-Identifier |
| mi= | [Apps hybride Messung] komplexer JSON-Datentyp (s. u.) |
Erläuterung des Statuscodes (Feld 5)¶
| Statuscode | Bedeutung | Auswirkung |
|---|---|---|
| OK | No Error (Wenn kein Fehler aufgetreten ist, Notifications (Nx) sind möglich) | normal |
| N1 | No uuid found, inside ae or mi | normal |
| N3 | uuid found, ie set | normal |
| N4 | i00-Cookie not set | normal |
| N5 | Renew cookie, because of lower serial | normal |
| N6 | mi found, ie set (Hybrid-Messung) | normal |
| N7 | ls found, ie set (iPhone-Hack) | normal |
| N8 | no id found, using hash | normal |
| N9 | no id found, using hash plus JavaScript Fingerprint | normal |
| N10 | LSO not accessible | normal |
| N11 | aid.io fault | normal |
| N12 | Markierung für IPv6 (Vorbereitung auf IPv6) | normal |
| N13 | Codetyp fehlte in Aufruf, es wird dann auf CP gesetzt und der Standard-Leercode gesetzt (JS-Funktionalität) | normal |
| N14 | Cookie defekt, wurde neu gesetzt | normal |
JSON-Datenfelder in Logdateien von Apps¶
Bei der App-Messung werden zusätzliche Daten durch die Library im JSON-Format übergeben:
ae(native Apps): Ereignisse im nativen Teil einer Appmi(hybride Apps): Ereignisse im hybriden Teil einer App (z. B. Content aus Webseite)
Diese JSON-Daten werden im Parameter-Feld (Feld 7) als URL-kodierter JSON-String mitgeliefert.
JSON-Datenstruktur:
| JSON-Datenstruktur | Erläuterung |
|---|---|
| application | [ae] Angaben zur Version der App |
| client | [ae, mi] Angaben zum Client (OS, OS-Version, Land, Sprache, Carrier etc.) |
| client/screen | [ae, mi] Angaben zur Bildschirmauflösung des Clients |
| client/uuids | [ae, mi] Div. UUIDs des Clients (z. B. „advertisingIdentifier" bei iOS oder „androidId" bei Android) |
| events | [ae] OS-Event, der den Messimpuls ausgelöst hat |
| library | [ae, mi] Angaben zur Version der Messlibrary |
| protocolVersion | [ae] Version des JSON-Objektes |
| stats | [ae] Fehler beim Eventhandling |