Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi e monitoraggio
Questa pagina consente di monitorare le prestazioni di ottimizzazione del rendimento, diagnosticare i problemi più comuni e verificare che la configurazione funzioni correttamente.
Metriche
MediaTailor pubblica le seguenti CloudWatch metriche per l'ottimizzazione del rendimento. Tutte le metriche vengono emesse con una configurationName dimensione se non diversamente indicato.
Metriche relative alle richieste di offerta
| Metrica | Description |
|---|---|
YieldOptimization.BidRequest |
Emesso come 1 quando viene identificata un'opportunità di richiesta di offerta. |
YieldOptimization.BidResponse |
Emesso come 1 quando viene ricevuta una risposta all'offerta positiva. |
YieldOptimization.BidDuration |
La durata dell'interruzione (secondi) richiesta nell'offerta, calcolata dalla durata dell'utile meno la durata dell'annuncio principale. |
YieldOptimization.Latency |
Round-trip latenza rispetto all'APS in millisecondi. |
YieldOptimization.NoBid |
Emesso come 1 quando APS restituisce HTTP 204 (nessuna richiesta corrispondente). La richiesta stessa era valida. |
YieldOptimization.BidRequestThrottled |
Emesso come 1 quando APS restituisce HTTP 429 (con limitazione). L'APS sta applicando una contropressione. Torna indietro prima di riprovare. |
Metriche di inserimento degli annunci
| Metrica | Description |
|---|---|
YieldOptimization.AdsInserted |
Numero di annunci YO inseriti nell'avail. |
YieldOptimization.AdsReturned |
Numero di annunci restituiti in BidResponse (prima del filtraggio). Emesso solo se maggiore di 0. |
YieldOptimization.FilledDuration |
Durata (ms) compilata dagli annunci YO. |
YieldOptimization.UnfilledDuration |
Durata (ms) inviata ad APS nella richiesta di offerta (gap di opportunità). |
YieldOptimization.FillRate |
Per-avail tasso di riempimento: durata YO transcodificata divisa per la durata non compilata pre-YO. Il numeratore è transcodificato e il denominatore è VAST-based (né sottrae il paraurti), quindi il valore può superare 1,0. |
Metriche relative ai ricavi e ai prezzi
| Metrica | Description |
|---|---|
YieldOptimization.Revenue |
Ricavi totali per il cliente, derivanti dall'priceattributo della risposta all'offerta OrTB. Somma del prezzo degli annunci inseriti. |
YieldOptimization.IndicativeBidRevenue |
Valore indicativo sommato per impressione di tutte le offerte RESTITUITE (prezzo dell'offerta per impressione, non per inserzione). Dual-emitted vengono affiancati Revenue durante una finestra di deprezzamento e verranno rimossi una volta che le dashboard saranno chiuse. Utilizzalo Revenue per nuove dashboard. |
YieldOptimization.BidPriceAdsInserted |
Il prezzo CPM di ogni annuncio inserito da Yield Optimization. Dimensionato dall'attributo della risposta all'offerta cur (valuta). Non viene emesso per cliente, quindi è valido per l'intero account. |
YieldOptimization.BidPriceAdsReturned |
Il prezzo CPM di ciascuna offerta è stato restituito in (prima di essere filtrato per inserzioni BidResponse ). Dimensionato da. cur Non viene emesso per cliente, quindi è a livello di account. |
Metriche relative agli errori e ai salti
| Metrica | Description |
|---|---|
YieldOptimization.Errors |
Emesso come 1 per errori di connessione, errori di elaborazione delle risposte o eccezioni impreviste. Viene emesso anche come 0 in caso di successo (usa Sum, not). SampleCount |
YieldOptimization.Timeouts |
Emesso come 1 quando la richiesta APS scade. Emesso anche come 0 in caso di successo (usa Sum, not SampleCount). |
YieldOptimization.BidRequestConfigurationError |
Emesso come 1 quando la costruzione del modello o dell'offerta fallisce (campi mancanti, JSON non valido). |
YieldOptimization.SkipMinUnfilledDurationNotExceeded |
Emesso come 1 quando YO è stato saltato perché la durata non compilata era inferiore alla soglia. |
YieldOptimization.SkipPersonalizationTimeoutExceeded |
Emesso come 1 quando YO è stato saltato perché rimaneva un tempo di personalizzazione insufficiente. |
Importante
YieldOptimization.Errorse YieldOptimization.Timeouts vengono emessi come 0 per ogni richiesta andata a buon fine. Usa Sum (not SampleCount) in CloudWatch per ottenere il conteggio effettivo degli errori o dei timeout. NoBide NON BidRequestThrottled vengono conteggiatiErrors. Sono segnali separati che indicano condizioni legittime di assenza di richiesta e di contropressione.
Eventi di log
Yield Optimization genera eventi nel gruppo di logMidasMMSService/ads_interaction_log:
| Tipo di evento | Description |
|---|---|
RAW_BID_REQUEST |
La richiesta di offerta OpenRTB completa in formato JSON inviata ad APS. Usalo per verificare l'interpolazione del modello. |
RAW_BID_RESPONSE |
La risposta grezza all'offerta OpenRTB fornita da APS, compresi i prezzi delle offerte e il formato XML VAST. |
FILLED_AVAIL |
La versione completa con tutti gli annunci. Gli annunci YO hanno fillMode:
"YIELD_OPTIMIZATION" e includono bidIdbidPrice,, currencyimpressionId, eseatId. |
Gli eventi di errore vengono emessi MidasMMSService/application.log con logger comeYieldOptimizationSupport,OrtbBidRequestBuilder, HttpOrtbRequestSubmitter e. OrtbResponseProcessor
Esempi di domande Insights CloudWatch
Verifica la presenza di errori YO
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
Gruppo di log: MidasMMSService/application.log
Conta le richieste di offerta rispetto alle risposte
fields @timestamp, sessionId, eventType | filter awsAccountId = 'YOUR_ACCOUNT_ID' and (eventType = 'RAW_BID_REQUEST' or eventType = 'RAW_BID_RESPONSE') | stats count(*) by eventType
Gruppo di log: MidasMMSService/ads_interaction_log
Trova annunci YO in esaurimento
Ogni FILLED_AVAIL evento contiene un creativeAds array. Gli annunci YO all'interno di tale array contengono fillMode: "YIELD_OPTIMIZATION" metadati di offerta aggiuntivi:bidId,impressionId, bidPriceseatId, e. currency Usalo per vedere quali avali sono stati riempiti da YO, quanti annunci YO sono stati inseriti per ogni risultato e l'attribuzione delle entrate per offerta.
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
Per visualizzare i singoli annunci YO (ID delle offerte e prezzi) per una sessione specifica:
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
Filtra l'creativeAdsarray risultante sul lato client per le voci in cui. fillMode == "YIELD_OPTIMIZATION"
Gruppo di log: MidasMMSService/ads_interaction_log
Verifica la presenza di variabili di modello non risolte
fields @timestamp, sessionId, @message | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'RAW_BID_REQUEST' and @message like /\{[A-Z_]+\}/ | sort @timestamp desc | limit 20
Gruppo di log: MidasMMSService/ads_interaction_log
Misura la latenza e la percentuale di successo di YO
fields @timestamp, @message | filter customerId = 'YOUR_ACCOUNT_ID' and (@message like /YieldOptimization/ or @message like /ortb_/) | limit 10000
Gruppo di log: MidasMMSService/service_log
Nota
service_logutilizza customerId (nonawsAccountId) per il campo ID dell'account.
Calcolo dell'aumento del rendimento
Per misurare l'impatto sulle entrate dell'ottimizzazione del rendimento, crea una CloudWatch dashboard con:
-
Percentuale di riempimento incrementale:
Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest)mostra la percentuale di opportunità YO che genera annunci inseriti. In alternativa, utilizzalo come metrica nativaAverage(YieldOptimization.FillRate)per uso. -
Ricavi orari:
Sum(YieldOptimization.Revenue)nel tempo mostra i ricavi totali per cliente generati da YO.Sum(YieldOptimization.BidPriceAdsInserted)fornisce il CPM medio a livello di account. -
Durata riempita:
Sum(YieldOptimization.FilledDuration)il valoreSum(YieldOptimization.BidDuration)contrassegnato indica la parte della durata richiesta effettivamente soddisfatta.
Problemi comuni
L'ottimizzazione del rendimento non si attiva
| Caratteristiche | Verifica | Risoluzione |
|---|---|---|
| Nessuna metrica YO | YO è configurato nella configurazione di riproduzione? | Abilita YO nella console o nell'API. |
SkipMinUnfilledDurationNotExceededemettendo |
L'ADS primario sta riempiendo la maggior parte della pausa | Abbassa MinimumUnfilledDuration o accetta che il riempimento principale sia sufficiente. |
SkipPersonalizationTimeoutExceededemettendo |
L'ADS primario è troppo lento e non lascia tempo a YO | Ottimizza la latenza dell'ADS primario o controlla il timeout della personalizzazione (configurazione SDC). |
Richieste di offerta non riuscite
| Caratteristiche | Verifica | Risoluzione |
|---|---|---|
Parametro BidRequestConfigurationError |
Il modello presenta campi obbligatori mancanti o vuoti | Verifica application.log l'errore specifico (ad esempio,app.bundle is required). Correggi il modello o assicurati che i parametri del giocatore vengano inviati. |
| HTTP 204 da APS | YieldOptimization.NoBidincrementando |
L'APS non ha restituito alcuna offerta. Non è un errore. Controlla RAW_BID_REQUEST i valori segnaposto ({UPPER_CASE}pattern), verifica che bundle e storeurl siano reali, offerta inferiore. |
| HTTP 429 di APS | YieldOptimization.BidRequestThrottledincrementando |
L'APS sta rallentando. Percentuale di richieste di annullamento. Se persistente, contatta l'assistenza APS per aumentare i limiti TPS. |
| HTTP 400 di APS | Richiesta JSON non valida | Controlla il messaggio di errore APS in. RAW_BID_RESPONSE Verifica che la struttura JSON corrisponda alle specifiche OpenRTB. |
| 500/503 HTTP da APS | Errore o sovraccarico del server APS | Problema transitorio. Monitor. YieldOptimization.Errors Se persistente, contatta l'assistenza APS. |
Annunci restituiti ma non inseriti
| Caratteristiche | Verifica | Risoluzione |
|---|---|---|
AdsReturned> 0 ma AdsInserted = 0 |
Annunci filtrati durante l'inserimento | Controlla FILLED_AVAIL i log per i motivi che saltano: creatività duplicate, soglia residua superata o variante dell'annuncio non trovata (transcodifica non completa). |
Riferimento ai codici di errore APS
| Codice | Significato | Cause comuni |
|---|---|---|
| 200 | Successo con le offerte | Funzionamento corretto |
| 204 | Nessuna offerta | La richiesta è valida ma non erano disponibili offerte. Ciò non indica un errore nel modello. |
| 400 | Richiesta errata | JSON non valido, mancano i campi obbligatori per le specifiche OpenRTB. |
| 500 | Errore del server | Problema interno dell'APS, limitazione del servizio, timeout. |
| 503 | Servizio sovraccarico | Contropressione APS. Non riprovare in modo aggressivo. |
| 429 | Con throttle | APS ha iniziato a limitare manualmente le richieste. Contatta l'assistenza APS se persistente. |