View a markdown version of this page

Problembehandlung und Überwachung - 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.

Problembehandlung und Überwachung

Auf dieser Seite können Sie die Leistung von Yield Optimization überwachen, häufig auftretende Probleme diagnostizieren und überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.

Kennzahlen

MediaTailor veröffentlicht die folgenden CloudWatch Metriken für die Ertragsoptimierung. Alle Metriken werden mit einer configurationName Dimension ausgegeben, sofern nicht anders angegeben.

Metriken für Angebotsanfragen

Metrik Description
YieldOptimization.BidRequest Wird als 1 ausgegeben, wenn eine Gelegenheit für eine Angebotsanfrage identifiziert wird.
YieldOptimization.BidResponse Wird als 1 ausgegeben, wenn eine erfolgreiche Gebotsantwort eingegangen ist.
YieldOptimization.BidDuration Die im Gebot angeforderte Pausendauer (Sekunden), berechnet aus der Nutzungsdauer minus der primären Anzeigendauer.
YieldOptimization.Latency Round-trip Latenz gegenüber APS in Millisekunden.
YieldOptimization.NoBid Wird als 1 ausgegeben, wenn APS HTTP 204 zurückgibt (kein entsprechender Bedarf). Die Anfrage selbst war gültig.
YieldOptimization.BidRequestThrottled Wird als 1 ausgegeben, wenn APS HTTP 429 zurückgibt (gedrosselt). APS übt Gegendruck aus. Machen Sie einen Rückzieher, bevor Sie es erneut versuchen.

Metriken zur Anzeigenschaltung

Metrik Description
YieldOptimization.AdsInserted Anzahl der YO-Anzeigen, die in den Avail eingefügt wurden.
YieldOptimization.AdsReturned Anzahl der zurückgegebenen Anzeigen in BidResponse (vor der Filterung). Wird nur ausgegeben, wenn der Wert größer als 0 ist.
YieldOptimization.FilledDuration Dauer (ms), gefüllt mit YO-Anzeigen.
YieldOptimization.UnfilledDuration Dauer (ms), die in der Angebotsanfrage an APS gesendet wurde (Opportunitätslücke).
YieldOptimization.FillRate Per-avail Füllrate: Die transkodierte YO-Dauer geteilt durch die Dauer, die vor dem YO noch nicht erfüllt ist. Der Zähler ist transkodiert und der Nenner ist VAST-based (der Bumper wird nicht subtrahiert), sodass der Wert 1,0 überschreiten kann.

Umsatz- und Preiskennzahlen

Metrik Description
YieldOptimization.Revenue Der Gesamtumsatz des Kunden, der sich aus dem price Attribut der OrTB-Gebotsantwort ergibt. Summe des Preises aller eingefügten Anzeigen.
YieldOptimization.IndicativeBidRevenue Zusammengefasster Richtwert aller ZURÜCKGEGEBENEN Gebote pro Impression (Angebotspreis pro Impression, nicht pro Insertion). Dual-emitted wird Revenue während eines Zeitfensters mit veralteter Version angezeigt. Wird entfernt, sobald die Dashboards nicht mehr aktuell sind. Wird Revenue für neue Dashboards verwendet.
YieldOptimization.BidPriceAdsInserted Der CPM-Preis jeder Anzeige, die von Yield Optimization geschaltet wurde. Dimensioniert nach dem Attribut „Gebotsantwort cur (Währung)“. Wird nicht pro Kunde ausgegeben, gilt also für das gesamte Konto.
YieldOptimization.BidPriceAdsReturned Der CPM-Preis jedes Gebots, das in der zurückgegeben wurde BidResponse (vor der Filterung auf Insertionen). Dimensioniert von. cur Wird nicht pro Kunde ausgegeben, gilt also für das gesamte Konto.

Messwerte für Fehler und Überspringen

Metrik Description
YieldOptimization.Errors Wird als 1 für Verbindungsfehler, Fehler bei der Antwortverarbeitung oder unerwartete Ausnahmen ausgegeben. Wird bei Erfolg auch als 0 ausgegeben (verwenden Sie Sum, nicht SampleCount).
YieldOptimization.Timeouts Wird als 1 ausgegeben, wenn die APS-Anfrage das Zeitlimit überschreitet. Wird bei Erfolg auch als 0 ausgegeben (verwenden Sie Sum, nicht SampleCount).
YieldOptimization.BidRequestConfigurationError Wird als 1 ausgegeben, wenn die Vorlage oder die Angebotserstellung fehlschlägt (fehlende Felder, ungültiges JSON).
YieldOptimization.SkipMinUnfilledDurationNotExceeded Wird als 1 ausgegeben, wenn YO übersprungen wurde, weil die ungefüllte Dauer unter dem Schwellenwert lag.
YieldOptimization.SkipPersonalizationTimeoutExceeded Wird als 1 ausgegeben, wenn YO übersprungen wurde, weil nicht genügend Zeit für die Personalisierung übrig war.
Wichtig

YieldOptimization.Errorsund YieldOptimization.Timeouts werden bei jeder erfolgreichen Anfrage als 0 ausgegeben. Verwenden Sie Sum (not SampleCount) in CloudWatch , um den tatsächlichen Fehler- oder Timeout-Zähler zu ermitteln. NoBidund BidRequestThrottled werden NICHT mitgezählt. Errors Es handelt sich um separate Signale für legitime No-Demand-Bedingungen und Gegendrucksituationen.

Protokollereignisse

Yield Optimization generiert Ereignisse in der MidasMMSService/ads_interaction_log Protokollgruppe:

Ereignistyp Description
RAW_BID_REQUEST Das komplette JSON-Format der OpenRTB-Gebotsanfrage, das an APS gesendet wurde. Verwenden Sie dies, um die Vorlageninterpolation zu überprüfen.
RAW_BID_RESPONSE Die unformatierte OpenRTB-Gebotsantwort von APS, einschließlich Angebotspreisgestaltung und VAST-XML.
FILLED_AVAIL Das komplette Angebot mit allen Anzeigen. YO-Anzeigen haben fillMode: "YIELD_OPTIMIZATION" und enthaltenbidId,bidPrice, currencyimpressionId, undseatId.

Fehlerereignisse werden MidasMMSService/application.log mit Loggern wieYieldOptimizationSupport, OrtbBidRequestBuilderHttpOrtbRequestSubmitter, und OrtbResponseProcessor ausgegeben.

Beispiel für CloudWatch Insights-Abfragen

Suchen Sie nach YO-Fehler

fields @timestamp, message.sessionId, message.message, log.logger, log.level | filter message.awsAccountId = 'YOUR_ACCOUNT_ID' and (log.level = 'ERROR' or log.level = 'WARN') and (log.logger like /YieldOptimization/ or log.logger like /OrtbResponseProcessor/ or log.logger like /HttpOrtbRequestSubmitter/ or log.logger like /OrtbBidRequestBuilder/) | sort @timestamp desc | limit 100

Gruppe protokollieren: MidasMMSService/application.log

Gebotsanfragen und Antworten zählen

fields @timestamp, sessionId, eventType | filter awsAccountId = 'YOUR_ACCOUNT_ID' and (eventType = 'RAW_BID_REQUEST' or eventType = 'RAW_BID_RESPONSE') | stats count(*) by eventType

Gruppe protokollieren: MidasMMSService/ads_interaction_log

Finden Sie YO-Anzeigen in ausgefüllten Verfügungen

Jedes FILLED_AVAIL Ereignis enthält ein creativeAds Array. YO-Anzeigen innerhalb dieses Arrays enthalten fillMode: "YIELD_OPTIMIZATION" zusätzliche Gebotsmetadaten: bidId impressionIdbidPrice,seatId, undcurrency. Anhand dieser Informationen können Sie sehen, welche Verfügungen von YO erfüllt wurden, wie viele YO-Anzeigen pro AVAIL geschaltet wurden und wie hoch die Umsatzzuweisung pro Gebot ist.

fields @timestamp, sessionId, avail.availId, avail.numAds, avail.fillRate, avail.filledDuration | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'FILLED_AVAIL' and @message like /YIELD_OPTIMIZATION/ | sort @timestamp desc | limit 50

So rufen Sie die einzelnen YO-Anzeigeneinträge (Gebotsnummern und Preise) für eine bestimmte Sitzung ab:

fields @timestamp, sessionId, avail.availId, avail.creativeAds | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'FILLED_AVAIL' and sessionId = 'YOUR_SESSION_ID' | sort @timestamp desc | limit 20

Filtern Sie das resultierende creativeAds Array clientseitig nach Einträgen, bei denen. fillMode == "YIELD_OPTIMIZATION"

Gruppe protokollieren: MidasMMSService/ads_interaction_log

Suchen Sie nach ungelösten Vorlagenvariablen

fields @timestamp, sessionId, @message | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'RAW_BID_REQUEST' and @message like /\{[A-Z_]+\}/ | sort @timestamp desc | limit 20

Gruppe protokollieren: MidasMMSService/ads_interaction_log

Messen Sie die YO-Latenz und Erfolgsrate

fields @timestamp, @message | filter customerId = 'YOUR_ACCOUNT_ID' and (@message like /YieldOptimization/ or @message like /ortb_/) | limit 10000

Gruppe protokollieren: MidasMMSService/service_log

Anmerkung

service_logverwendet customerId (nichtawsAccountId) für das Konto-ID-Feld.

Berechnung der Renditesteigerung

Um die Auswirkungen der Ertragsoptimierung auf den Umsatz zu messen, erstellen Sie ein CloudWatch Dashboard mit:

  1. Inkrementelle Füllrate: Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest) Zeigt an, wie viel Prozent der Verkaufschancen im Jahr zu eingefügten Anzeigen führen. Verwenden Sie es alternativ Average(YieldOptimization.FillRate) für die native Metrik pro Verfügbarkeit.

  2. Umsatz pro Stunde: Zeigt den Gesamtumsatz pro Kunde Sum(YieldOptimization.Revenue) im Zeitverlauf von YO an. Sum(YieldOptimization.BidPriceAdsInserted)gibt den durchschnittlichen CPM für das gesamte Konto an.

  3. Dauer gefüllt: Sum(YieldOptimization.FilledDuration) gegen Sum(YieldOptimization.BidDuration) zeigt an, wie viel von der angeforderten Dauer tatsächlich ausgeschöpft wurde.

Häufige Probleme

Ertragsoptimierung löst nicht aus

Symptom Check Auflösung
Überhaupt keine YO-Metriken Ist YO in der Wiedergabekonfiguration konfiguriert? Aktiviere YO in der Konsole oder API.
SkipMinUnfilledDurationNotExceededemittierend Primäres ADS füllt den größten Teil der Pause aus Verringern Sie den Wert MinimumUnfilledDuration oder akzeptieren Sie, dass die primäre Füllung ausreichend ist.
SkipPersonalizationTimeoutExceededemittierend Primary ADS ist zu langsam und lässt keine Zeit für YO Optimieren Sie die primäre ADS-Latenz oder überprüfen Sie die SDC-Konfiguration für das Personalisierungs-Timeout.

Angebotsanfragen schlagen fehl

Symptom Check Auflösung
BidRequestConfigurationError-Metrik Die Vorlage enthält fehlende oder leere Pflichtfelder application.logSuchen Sie nach dem spezifischen Fehler (z. B.app.bundle is required). Korrigieren Sie die Vorlage oder stellen Sie sicher, dass die Spielerparameter gesendet werden.
HTTP 204 von APS YieldOptimization.NoBidinkrementierend APS gab kein Gebot zurück. Kein Fehler. Prüfen SieRAW_BID_REQUEST, ob Platzhalterwerte ({UPPER_CASE}Muster) vorhanden sind, überprüfen Sie, ob Bundle und Storeurl echt sind, niedrigeres Bidfloor.
HTTP 429 von APS YieldOptimization.BidRequestThrottledinkrementieren APS drosselt. Rate für Back-Off-Anfragen. Wenn dies der Fall ist, wenden Sie sich an den APS-Support, um die TPS-Limits anzuheben.
HTTP 400 von APS Ungültige JSON-Anforderung Überprüfen Sie die APS-FehlermeldungRAW_BID_RESPONSE. Stellen Sie sicher, dass die JSON-Struktur der OpenRTB-Spezifikation entspricht.
HTTP von APS 500/503 APS-Serverfehler oder Überlastung Vorübergehendes Problem. ÜberwachenYieldOptimization.Errors. Wenn dies der Fall ist, wenden Sie sich an den APS-Support.

Anzeigen wurden zurückgegeben, aber nicht eingefügt

Symptom Check Auflösung
AdsReturned> 0 aber AdsInserted = 0 Anzeigen, die beim Einfügen gefiltert wurden Überprüfe die FILLED_AVAIL Logs auf mögliche Gründe für das Überspringen der Werbeanzeigen: Doppelte Werbeanzeigen, der Schwellenwert wurde überschritten oder die Anzeigenvariante wurde nicht gefunden (Transcodierung nicht abgeschlossen).

Referenz zu APS-Fehlercodes

Code Bedeutung Häufige Ursachen
200 Erfolgreich mit den Geboten Funktioniert einwandfrei.
204 Kein Gebot Die Anfrage ist gültig, aber es waren keine Angebote verfügbar. Dies weist nicht auf einen Fehler in Ihrer Vorlage hin.
400 Schlechte Anfrage Ungültiges JSON, fehlende Pflichtfelder gemäß OpenRTB-Spezifikation.
500 Serverfehler Internes APS-Problem, Dienst gedrosselt, Timeout.
503 Dienst überlastet APS-Gegendruck. Versuchen Sie es nicht aggressiv erneut.
429 Gedrosselt APS hat manuell begonnen, Anfragen zu drosseln. Kontaktieren Sie den APS-Support, falls dies weiterhin der Fall ist