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:
-
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 alternativAverage(YieldOptimization.FillRate)für die native Metrik pro Verfügbarkeit. -
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. -
Dauer gefüllt:
Sum(YieldOptimization.FilledDuration)gegenSum(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 |