View a markdown version of this page

Client-side Tracking von Werbeanzeigen - AWS Elemental MediaTailor

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Client-side Tracking von Werbeanzeigen

Mithilfe der AWS Elemental MediaTailor clientseitigen Tracking-API können Sie Player-Steuerelemente für Werbeunterbrechungen in Streaming-Workflows integrieren. Beim clientseitigen Tracking sendet der Player oder Kunde Tracking-Ereignisse, wie z. B. das Beaconing von Impressionen und Quartil-Anzeigen, an den Ad Decision Server (ADS) und andere Stellen zur Anzeigenverifizierung. Diese Ereignisse verfolgen sowohl den Gesamtstatus der Werbeunterbrechung als auch die Verfügbarkeit einzelner Anzeigen innerhalb der einzelnen Werbeunterbrechungen. Weitere Informationen zu Impression and Quartile (ADS) und anderen Entitäten zur Anzeigenüberprüfung finden Sie hier. Weitere Informationen zum Ad-Beaconing von Impressionen und Quartil finden Sie unter. Client-side Beaconing Weitere Informationen zu ADS und anderen Entitäten zur Anzeigenverifizierung finden Sie unter. Client-side Ad-Tracking-Integrationen

Informationen zur Weitergabe von Spielerparametern und Sitzungsdaten an das ADS für das clientseitige Tracking finden Sie unter und. MediaTailor Player-Variablen für ADS-Anfragen MediaTailor Sitzungsvariablen für ADS-Anfragen

Client-side Tracking ermöglicht Funktionen wie die folgenden:

Mithilfe der MediaTailor clientseitigen Tracking-API können Sie Metadaten an das Wiedergabegerät senden, die zusätzlich zum clientseitigen Tracking weitere Funktionen ermöglichen:

Client-side Arbeitsablauf für die Berichterstattung

Das folgende Diagramm zeigt den gesamten clientseitigen Berichtsworkflow von der Sitzungsinitialisierung über die Anzeigenwiedergabe bis hin zum Beaconing:

MediaTailor Das clientseitige Berichtssequenzdiagramm zeigt die Interaktion zwischen Videoplayer, Ad Decision Server MediaTailor, Inhaltsquelle und Anzeigenüberprüfungsdiensten während des gesamten Workflows von der Sitzungsinitialisierung über die Anzeigenwiedergabe bis hin zum Beaconing.

Der clientseitige Berichtsworkflow umfasst die folgenden Schritte:

  1. Sitzungsinitialisierung — Der Videoplayer sendet eine POST-Anforderung mit JSON-MetadatenadsParams, einschließlich Ursprungstoken und MediaTailor Sitzungsfunktionen, an den Sitzungsendpunkt. MediaTailor reagiert mit manifestUrl und trackingUrl für die Sitzung.

  2. Manifestanfrage und Anzeigenentscheidung — Der Spieler fordert das personalisierte Manifest von an MediaTailor. MediaTailor fordert das ursprüngliche Inhaltsmanifest vom Ursprung an, stellt mithilfe der Player-Parameter eine Anzeigenanfrage an den Ad Decision Server (ADS), erhält eine VAST-Antwort mit Anzeigenmetadaten und sendet dem Player ein personalisiertes Manifest mit Werbemarkierungen.

  3. Abruf der Tracking-Daten — Der Player fragt die Tracking-URL in regelmäßigen Abständen ab (entspricht der Zieldauer für HLS oder dem minimalen Aktualisierungszeitraum für DASH). MediaTailor gibt JSON-Tracking-Metadaten zurück, die Verfügbarkeiten, Anzeigen, Tracking-Ereignisse, Beacon-URLs und Daten zur Anzeigenverifizierung enthalten.

  4. Anzeigenwiedergabe und Beaconing — In Werbeunterbrechungen analysiert der Player die Tracking-Metadaten, feuert Impression-Beacons ab, wenn die Anzeigen gerendert werden, feuert zu einem geeigneten Zeitpunkt Quartil-Beacons (Start, FirstQuartile, Midpoint, ThirdQuartile, complete) ab, lädt und führt bei JavaScript Bedarf die Anzeigenüberprüfung durch und sendet viewability/verification Ereignisse an Bestätigungsdienste von Drittanbietern.

  5. Kontinuierliche Abfrage — Der Player fragt die Tracking-URL während der gesamten Sitzung weiter ab, um aktualisierte Metadaten für bevorstehende Werbeunterbrechungen und dynamische Inhalte zu erhalten.

Dieser Workflow ermöglicht erweiterte Funktionen wie Countdown-Timer für Anzeigen, Click-Through-Funktionen, Begleitanzeigen, überspringbare Anzeigen und die Anzeige von VAST-Symbolen zur Einhaltung der Datenschutzbestimmungen.

Aktivierung des clientseitigen Trackings

Sie aktivieren das clientseitige Tracking für jede Sitzung. Der Player sendet ein HTTP POST zum Endpunkt des MediaTailor Sitzungsinitialisierungspräfixes der Konfiguration. Optional kann der Player zusätzliche Metadaten senden, die dann verwendet werden können, wenn Werbeanrufe getätigt, der Ursprung für ein Manifest aufgerufen und MediaTailor Funktionen auf Sitzungsebene aufgerufen oder deaktiviert werden. MediaTailor

Das folgende Beispiel zeigt die Struktur der JSON-Metadaten:

{ "adsParams": { # 'adsParams' is case sensitive "param1": "value1", # key is not case sensitive "param2": "value2", # Values can contain spaces. For example, 'value 2' is an allowed value. }, "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin "overlayAvails":"on" # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level. }

Verwenden Sie die MediaTailor Konsole oder API, um die URL der ADS-Anforderungsvorlage so zu konfigurieren, dass sie auf diese Parameter verweist. Im folgenden Beispiel player_params.param1 sind das die Player-Parameter für param1 und player_params.param2 sind die Player-Parameter fürparam2.

https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]

Parameter für den Anzeigenserver

Auf der obersten Ebene der JSON-Struktur befindet sich ein JSON-Objekt. adsParams In diesem Objekt befinden sich key/value Paare, die alle Sitzungsanfragen lesen und an den Anzeigenserver senden MediaTailor können. MediaTailor unterstützt die folgenden Anzeigenserver:

  • Google Ad Manager

  • SpringServe

  • FreeWheel

  • Publica

Abfrageparameter für die Origin-Interaktion

Alle reservierten key/value Paare auf der obersten Ebene der JSON-Struktur, wie, und adsParams availSuppressionoverlayAvails, werden der URL der Quellanfrage nicht in Form von Abfrageparametern hinzugefügt. Jede Sitzungsmanifestanforderung, die an MediaTailor den Ursprung gesendet wird, enthält diese Abfrageparameter. Der Ursprung ignoriert überflüssige Abfrageparameter. Sie MediaTailor können die key/value Paare beispielsweise verwenden, um Zugriffstoken an den Ursprung zu senden.

Session-configured features

Verwenden Sie die JSON-Struktur für die Sitzungsinitialisierung, um Funktionen wie, und zu aktivieren, zu deaktivieren oder zu überschreiben MediaTailor. overlayAvails availSuppression adSignaling Alle Funktionskonfigurationen, die während der Sitzungsinitialisierung übergeben werden, überschreiben die Einstellung auf Konfigurationsebene. MediaTailor

Anmerkung

Die MediaTailor bei der Sitzungsinitialisierung übermittelten Metadaten sind unveränderlich, und für die Dauer der Sitzung können keine zusätzlichen Metadaten hinzugefügt werden. Verwenden Sie SCTE-35 Markierungen, um Daten zu übertragen, die sich während der Sitzung ändern. Weitere Informationen finden Sie unter MediaTailor Sitzungsvariablen für ADS-Anfragen.

Beispiel: Durchführung von clientseitigem Ad-Tracking für HLS
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad" # This value does not change during the session. "uid": "abdgfdyei-2283004-ueu" } }
Beispiel: Durchführung eines clientseitigen Ad-Trackings für DASH
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }

Parameter für den Berichtsmodus

Sie können den Berichtsmodus bei der Initialisierung einer Sitzung angeben, indem Sie den reportingMode Parameter in den Anforderungstext aufnehmen. Dieser Parameter steuert, ob MediaTailor eine clientseitige oder serverseitige Anzeigenverfolgung für die Sitzung durchgeführt wird.

  • client— Der Player führt ein Ad-Tracking durch und sendet Beacons an den Ad-Server. Dies ist der Standardmodus, wenn kein Modus angegeben reportingMode ist.

  • server— MediaTailor führt serverseitiges Ad-Tracking durch und sendet Beacons direkt an den Ad-Server.

Beispiel Sitzungsinitialisierung mit serverseitigem Berichtsmodus
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad", "uid": "abdgfdyei-2283004-ueu" }, "reportingMode": "server" }
Beispiel Sitzungsinitialisierung mit clientseitigem Berichtsmodus (explizit)
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" }, "reportingMode": "client" }
Anmerkung

Der reportingMode Parameter wird bei der Sitzungsinitialisierung festgelegt und kann während der Sitzung nicht geändert werden. Wenn nein angegeben reportingMode ist, wird MediaTailor standardmäßig die clientseitige Berichterstattung verwendet, um die Abwärtskompatibilität zu gewährleisten.

Eine erfolgreiche Antwort ist ein HTTP 200 mit einem Antworttext. Der Text enthält ein JSON-Objekt mit einem Schlüssel manifestUrl und einem trackingUrl Schlüssel. Die Werte sind relative URLs, die der Player sowohl für die Wiedergabe als auch für das Tracking von Werbeveranstaltungen verwenden kann.

{ "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id", "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id" }

Weitere Informationen zum clientseitigen Tracking-Schema finden Sie unter. Client-side Schema und Eigenschaften für die Anzeigenverfolgung

Bewährte Methoden für das clientseitige Tracking

In diesem Abschnitt werden die bewährten Methoden für das clientseitige Tracking sowohl für Live- als auch MediaTailor für VOD-Workflows beschrieben.

Live-Workflows

Fragen Sie den Tracking-Endpunkt in einem Intervall ab, das jeder Zieldauer für HLS oder dem minimalen Aktualisierungszeitraum für DASH entspricht, um immer über die aktuellsten Metadaten zur Anzeigenverfolgung zu verfügen. Die Einhaltung dieses Intervalls ist besonders wichtig in Workflows, in denen die Kreativen möglicherweise eine interaktive Komponente oder eine Overlay-Komponente verwenden.

Anmerkung

Einige Player unterstützen Event-Listener, die als Alternative zum Polling verwendet werden könnten. Beispielsweise müsste die Funktion zur Dekoration der MediaTailor Anzeigen-ID für jede Sitzung aktiviert werden. Weitere Informationen finden Sie unter Werbe-ID-Dekoration. Wenn Sie diese Funktion verwenden, wird jede verfügbare Anzeige mit einem Datumsbereich (HLS) oder einem Eventelement (DASH) gekennzeichnet. Spieler können diese Manifest-Tags als Aufforderung verwenden, um den MediaTailor Tracking-Endpunkt für die Sitzung aufzurufen.

VOD-Arbeitsabläufe

Nach einer erfolgreichen Sitzungsinitialisierung und nach Erhalt des ersten MediaTailor Manifests, das Medien enthält, müssen Sie den Tracking-Endpunkt nur einmal aufrufen.

Anruffluss für VOD-Workflows. Rufen Sie den clientseitigen Tracking-Endpunkt auf, nachdem die Sitzung initialisiert und das erste Manifest MediaTailor empfangen wurde, das Medien enthält.

Server-guided Einfügen von Anzeigen

Server-guided Bei SGAI-Sitzungen (Ad Insertion) wird die API nicht verwendet. GetTracking Wenn du sie verwendestaws.reportingMode=CLIENT, werden stattdessen MediaTailor Tracking-Informationen im TRACKING Abschnitt jeder Antwort auf die Asset-Liste angezeigt, wenn Spieler Anzeigeninhalte anfordern. Die Antwort auf die Sitzungsinitialisierung enthält keine. trackingUrl

Die Antwort auf die Asset-Liste für clientseitig verfolgte SGAI-Sitzungen hat die folgende Struktur:

{ "ASSETS": [ { "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" }, { "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" } ], "TRACKING": { ...VAST tracking events and beacon URLs for each ad... } }

Bei der Implementierung von clientseitigem Tracking für SGAI-Methoden:

  • Analysieren Sie den TRACKING Abschnitt aus den Antworten auf die Asset-Liste, anstatt ihn anzurufen GetTracking

  • Verwenden Sie die in der Asset-Liste angegebenen Tracking-URLs für die Berichterstattung über Anzeigenereignisse

  • Löst Tracking-Beacons auf der Grundlage der tatsächlichen Ereignisse bei der Anzeigenwiedergabe im Player aus

  • Behandeln Sie das Tracking für jede Werbeunterbrechung unabhängig voneinander, während die Asset-Listen abgerufen werden

Wichtig

Der TRACKING Abschnitt ist nur dann in der Asset-Liste enthalten, wenn er festgelegt aws.reportingMode=CLIENT ist. Wenn serverseitiges Reporting verwendet wird (die Standardeinstellung für SGAI), wird der TRACKING Abschnitt MediaTailor weggelassen und stattdessen Beacon-Daten in die Anzeigen-URIs eingebettet. Details hierzu finden Sie unter Server-side Tracking mit servergesteuerter Anzeigeneinfügung (SGAI).

Durchblättern von Ad-Beacons mit GetTracking

Verwenden Sie den GetTracking Endpunkt, um die Anzahl der Anzeigen einzugrenzen, die an einen Player zurückgegeben werden. Wenn ein Manifestfenster beispielsweise breit ist und sich über einen langen Zeitraum erstreckt, kann sich die Anzahl der zurückgegebenen Ad-Beacons auf die Leistung des Players auswirken.

GetTrackinggibt einen NextToken Wert zurück, mit dem Sie die Anzahl der zurückgegebenen Beacons einschränken können, indem Sie die Liste der zurückgegebenen Beacons durchblättern. Sie können die NextToken Werte durchgehen, um den gewünschten Wert im Feld eines Ad-Beacons zu finden. StartTimeInSeconds

  • Beim ersten Aufruf von werden alle möglichen Anzeigen zurückgegebenGetTracking, die in das Manifestfenster fallen, einschließlich jeweils eines NextToken UND-Werts.

  • Wenn eine GetTracking Anfrage kein A enthältNextToken, werden alle Anzeigen im Manifestfenster zurückgegeben.

  • Wenn eine GetTracking Anfrage einen enthält, NextToken aber keine neuen Beacons zurückgegeben werden können, wird derselbe Wert MediaTailor zurückgegeben, den Sie in der ursprünglichen Anfrage gesendet haben. NextToken

  • Wenn es keine weiteren Beacons gibt, die einer Anzeige entsprechen, GetTracking wird die Anzeige aus der Antwort entfernt.

  • Tokens GetTracking laufen nach 24 Stunden ab. Wenn ein NextToken Wert älter als 24 Stunden ist, gibt der nächste Aufruf von einen GetTracking NextToken Nullwert zurück.

Generalisierte Aufrufsequenz von vom Player GetTracking

Eine GetTracking Anfrage des Client-Players ist ein POST mit einem Anforderungstext, der die Anzeigen NextToken und Beacons enthält, die sich auf das Token beziehen.

https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }

Die allgemeine Reihenfolge für die Verwendung von GetTracking with NextToken lautet wie folgt:

  1. Rufen Sie zum ersten Mal anGetTracking.

    Alle Anzeigen und Beacons sowie die ersten NextToken für nachfolgende Aufrufe werden zurückgegeben.

  2. Wenn der Wert von Null NextToken ist, werden alle Ad-Beacons MediaTailor zurückgegeben.

  3. Wenn der abgelaufen NextToken ist, MediaTailor wird eine HTTP-Fehlermeldung mit dem Rückgabecode 400 zurückgegeben.

    Rufen Sie erneut an, GetTracking um gültige NextToken s abzurufen.

  4. Scannen Sie die gesamte Antwort, um einen Ad-Beacon zu finden, der sich im gewünschten Bereich befindet. StartTimeInSeconds

  5. Rufen Sie erneut an GetTracking mit dem Wert von, der dem gewünschten StartTimeInSeconds Wert NextToken zugeordnet ist.

  6. Gehen Sie bei Bedarf erneut durch die zurückgegebenen Anzeigen, bis Sie genau die gefunden haben, die Sie abspielen möchten.

Erweitertes Beispiel

Dieses Beispiel zeigt, wie Sie die Anzahl GetTracking der NextToken an einen Player zurückgegebenen Ad-Beacons einschränken können.

MediaTailor erhält eine GetTracking Anfrage. Die Antwort enthält eine Anzeige mit der ID 9935407 und zwei Beacons mit den StartTimeInSeconds Werten 52,286 und 48,332 Sekunden.

MediaTailor sendet die JSON-Antwort wie folgt: NextToken

{ "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb "avails": [ { "ads": [ { "adId": "9935407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15S", "durationInSeconds": 15, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT30S", "StartTimeInSeconds": 45, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=Impression " ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935414", "eventType": "secondQuartile", "startTime": "PT52.286S", "StartTimeInSeconds": 52.286 }, { "beaconUrls": [ "http://adserver.com/tracking?event=firstQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935412", "eventType": "firstQuartile", "startTime": "PT48.332S", "StartTimeInSeconds": 48.332 } ], "vastAdId": "" } ], "startTime": "PT46.47S", "StartTimeInSeconds": 46.47 } ] }

MediaTailor Antwortet bei der nächsten GetTracking Anfrage mit dem NextToken Wert: JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb.

MediaTailor reagiert mit Anzeigen und Beacons, StartTimeInSeconds die den Einstellungen NextToken des vorherigen Anrufs entsprechen.

Gehen Sie davon aus, dass die Antwort jetzt zusätzlich zur vorherigen Anzeige mit der ID 9935407 eine weitere Anzeige mit der ID 9235407 enthält. Die Beacons der Anzeigen-ID 9235407 haben s 132.41 und 70.339. StartTimeInSeconds

MediaTailor durchläuft alle Beacons in der Sitzung, um diejenigen auszuwählen, die länger als 52,286 Sekunden sind. Dabei handelt es sich um StartTimeInSeconds Beacon 3 und Beacon 4 aus der Anzeige mit der ID 9235407:

{ "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN "avails": [ { "ads": [ { "adId": "9235407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15.816S", "durationInSeconds": 19.716, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT2M0S", "StartTimeInSeconds": 120.0, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=complete" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935414", "eventType": "firstQuartile", "startTime": "PT1M10.330S", "StartTimeInSeconds": 70.339 }, { "beaconUrls": [ "http://adserver.com/tracking?event=thirdQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935412", "eventType": "secondQuartile", "startTime": "PT2M12.41S", "StartTimeInSeconds": 132.41 } ], "vastAdId": "" }, ], "startTime": "PT36.47S", "StartTimeInSeconds": 36.47 } ] }