Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas y supervisión
Esta página le ayuda a supervisar el rendimiento de la optimización del rendimiento, diagnosticar problemas comunes y comprobar que la configuración funciona correctamente.
Métricas
MediaTailor publica las siguientes CloudWatch métricas para la optimización del rendimiento. Todas las métricas se emiten con una configurationName dimensión, a menos que se indique lo contrario.
Métricas de solicitud de oferta
| Métrica | Description (Descripción) |
|---|---|
YieldOptimization.BidRequest |
Se emite como 1 cuando se identifica una oportunidad de solicitud de oferta. |
YieldOptimization.BidResponse |
Se emite como 1 cuando se recibe una respuesta a la oferta exitosa. |
YieldOptimization.BidDuration |
La duración de la pausa (segundos) solicitada en la oferta, calculada a partir de la duración disponible menos la duración del anuncio principal. |
YieldOptimization.Latency |
Round-trip latencia respecto a APS en milisegundos. |
YieldOptimization.NoBid |
Se emite como 1 cuando APS devuelve HTTP 204 (sin demanda coincidente). La solicitud en sí era válida. |
YieldOptimization.BidRequestThrottled |
Se emite como 1 cuando APS devuelve HTTP 429 (limitado). APS aplica contrapresión. Retroceda antes de volver a intentarlo. |
Métricas de inserción de anuncios
| Métrica | Description (Descripción) |
|---|---|
YieldOptimization.AdsInserted |
Número de anuncios de YO insertados en la oferta. |
YieldOptimization.AdsReturned |
Número de anuncios devueltos en BidResponse (antes de filtrarlos). Solo se emite cuando es mayor que 0. |
YieldOptimization.FilledDuration |
Duración (ms) rellenada por los anuncios YO. |
YieldOptimization.UnfilledDuration |
Duración (ms) enviada a APS en la solicitud de oferta (intervalo de oportunidades). |
YieldOptimization.FillRate |
Per-avail tasa de llenado: la duración transcodificada de un año dividida por la duración sin llenar antes del año. El numerador está transcodificado y el denominador es VAST-based (ninguno de los dos resta nada), por lo que el valor puede superar 1,0. |
Métricas de ingresos y precios
| Métrica | Description (Descripción) |
|---|---|
YieldOptimization.Revenue |
Ingresos totales del cliente, obtenidos del price atributo de la respuesta a la oferta de OrtB. Suma del precio de los anuncios insertados. |
YieldOptimization.IndicativeBidRevenue |
Valor indicativo sumado por impresión de todas las ofertas DEVUELTAS (precio de oferta por impresión, no por inserción). Dual-emitted al mismo tiempo Revenue durante un período de obsolescencia y se eliminará una vez que se eliminen los paneles. Úselo Revenue para paneles nuevos. |
YieldOptimization.BidPriceAdsInserted |
El precio de CPM de cada anuncio insertado por Yield Optimization. Se dimensiona según el atributo de respuesta a la oferta cur (divisa). No se emite por cliente, por lo que se aplica a toda la cuenta. |
YieldOptimization.BidPriceAdsReturned |
El precio en CPM de cada puja mostrado en BidResponse (antes de filtrar por inserciones). Dimensionado por. cur No se emite por cliente, por lo que se aplica a toda la cuenta. |
Métricas de errores y omisiones
| Métrica | Description (Descripción) |
|---|---|
YieldOptimization.Errors |
Se emite como 1 para errores de conexión, errores de procesamiento de respuestas o excepciones inesperadas. También se emite como 0 en caso de éxito (utilice Sum, no SampleCount). |
YieldOptimization.Timeouts |
Se emite como 1 cuando se agota el tiempo de espera de la solicitud APS. También se emite como 0 en caso de éxito (usa Sum, no SampleCount). |
YieldOptimization.BidRequestConfigurationError |
Se emite como 1 cuando se produce un error en la construcción de la plantilla o de la oferta (faltan campos, JSON no válido). |
YieldOptimization.SkipMinUnfilledDurationNotExceeded |
Se emite como 1 cuando se omite YO porque la duración sin rellenar estaba por debajo del umbral. |
YieldOptimization.SkipPersonalizationTimeoutExceeded |
Se emite como 1 cuando se omite YO porque no queda suficiente tiempo de personalización. |
importante
YieldOptimization.Errorsy YieldOptimization.Timeouts se emiten como 0 en cada solicitud exitosa. Usa Sum (not SampleCount) in CloudWatch para obtener el recuento real de errores o tiempos de espera. NoBidy NO BidRequestThrottled se cuentan. Errors Son señales distintas de las condiciones legítimas de falta de demanda y de contrapresión.
Eventos de registro
La optimización del rendimiento genera eventos en el MidasMMSService/ads_interaction_log grupo de registros:
| Tipo de evento | Description (Descripción) |
|---|---|
RAW_BID_REQUEST |
La solicitud de oferta completa de OpenRTB que JSON envió a APS. Utilícela para verificar la interpolación de plantillas. |
RAW_BID_RESPONSE |
La respuesta a la oferta sin procesar de OpenRTB de APS, que incluye los precios de las ofertas y VAST XML. |
FILLED_AVAIL |
El uso completo de todos los anuncios. Los anuncios YO tienen fillMode:
"YIELD_OPTIMIZATION" e incluyenbidId,bidPrice, currencyimpressionId, yseatId. |
Los eventos de error se emiten MidasMMSService/application.log con registradores comoYieldOptimizationSupport, OrtbBidRequestBuilderHttpOrtbRequestSubmitter, yOrtbResponseProcessor.
Ejemplos de consultas de CloudWatch Insights
Compruebe si hay errores de YOU
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
Grupo de registro: MidasMMSService/application.log
Cuenta las solicitudes de oferta frente a las respuestas
fields @timestamp, sessionId, eventType | filter awsAccountId = 'YOUR_ACCOUNT_ID' and (eventType = 'RAW_BID_REQUEST' or eventType = 'RAW_BID_RESPONSE') | stats count(*) by eventType
Grupo de registro: MidasMMSService/ads_interaction_log
Encuentra anuncios de YOU en vales llenos
Cada FILLED_AVAIL evento contiene una creativeAds matriz. Los anuncios YO incluidos en esa matriz contienen fillMode: "YIELD_OPTIMIZATION" metadatos de oferta adicionales: bidIdimpressionId,bidPrice,seatId, ycurrency. Utilízalo para ver qué ofertas cubrió YO, cuántos anuncios de YO se insertaron por oferta y la atribución de ingresos por oferta.
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
Para ver las entradas individuales de los anuncios de YO (números de puja y precios) de una sesión específica:
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
Filtre la creativeAds matriz resultante del lado del cliente para ver dónde están las entradas. fillMode == "YIELD_OPTIMIZATION"
Grupo de registros: MidasMMSService/ads_interaction_log
Compruebe si hay variables de plantilla sin resolver
fields @timestamp, sessionId, @message | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'RAW_BID_REQUEST' and @message like /\{[A-Z_]+\}/ | sort @timestamp desc | limit 20
Grupo de registro: MidasMMSService/ads_interaction_log
Mida la latencia y la tasa de éxito de YOU
fields @timestamp, @message | filter customerId = 'YOUR_ACCOUNT_ID' and (@message like /YieldOptimization/ or @message like /ortb_/) | limit 10000
Grupo de registro: MidasMMSService/service_log
nota
service_logusa customerId (noawsAccountId) para el campo de ID de cuenta.
Calcular el aumento de rendimiento
Para medir el impacto de la optimización del rendimiento en los ingresos, cree un CloudWatch panel con:
-
Tasa de llenado incremental:
Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest)muestra el porcentaje de oportunidades de empleo que se traducen en anuncios insertados. Como alternativa,Average(YieldOptimization.FillRate)utilízala para la métrica nativa por disponibilidad. -
Ingresos por hora:
Sum(YieldOptimization.Revenue)a lo largo del tiempo muestra los ingresos totales por cliente de YO.Sum(YieldOptimization.BidPriceAdsInserted)proporciona un CPM promedio en toda la cuenta. -
Duración cumplimentada:
Sum(YieldOptimization.FilledDuration)en contraSum(YieldOptimization.BidDuration)indica qué parte de la duración solicitada se cubrió realmente.
Problemas comunes
La optimización del rendimiento no se está activando
| Síntoma | Check | Resolución |
|---|---|---|
| No hay ninguna métrica de YO | ¿Está YO configurado en la configuración de reproducción? | Activa YO en la consola o en la API. |
SkipMinUnfilledDurationNotExceededemitiendo |
El ADS principal está ocupando la mayor parte del descanso | Reduzca MinimumUnfilledDuration o acepte que el relleno principal es suficiente. |
SkipPersonalizationTimeoutExceededemitiendo |
El ADS principal es demasiado lento y no deja tiempo para TI | Optimice la latencia del ADS principal o compruebe la configuración del SDC para el tiempo de espera de personalización. |
Fallo en las solicitudes de oferta
| Síntoma | Check | Resolución |
|---|---|---|
Métrica de BidRequestConfigurationError |
Faltan campos obligatorios o están vacíos en la plantilla | application.logCompruebe el error específico (por ejemplo,app.bundle is required). Corrija la plantilla o asegúrese de que se envíen los parámetros del reproductor. |
| HTTP 204 de APS | YieldOptimization.NoBidincrementando |
APS devolvió sin oferta. No es un error. Revisa RAW_BID_REQUEST los valores de los marcadores de posición ({UPPER_CASE}patrones), verifica que el bundle y la storeurl sean reales y reduce el límite de oferta. |
| HTTP 429 de APS | YieldOptimization.BidRequestThrottledincrementando |
APS se está acelerando. Reduzca la tasa de solicitudes. Si persiste, póngase en contacto con el soporte de APS para aumentar los límites de TPS. |
| HTTP 400 de APS | Solicitud JSON no válida | Compruebe el mensaje de error de APS enRAW_BID_RESPONSE. Verifique que la estructura JSON coincida con las especificaciones de OpenRTB. |
| HTTP desde APS 500/503 | Error o sobrecarga del servidor APS | Problema transitorio. Monitorización de YieldOptimization.Errors. Si persiste, póngase en contacto con el soporte de APS. |
Anuncios devueltos pero no insertados
| Síntoma | Check | Resolución |
|---|---|---|
AdsReturned> 0 pero AdsInserted = 0 |
Anuncios filtrados durante la inserción | Comprueba FILLED_AVAIL los registros para ver si se omiten las creatividades: hay creatividades duplicadas, se ha superado el límite restante o no se ha encontrado la variante del anuncio (no se ha completado la transcodificación). |
Referencia a los códigos de error de APS
| Código | Significado | Causas habituales |
|---|---|---|
| 200 | ¿Éxito con las ofertas | Funcionando correctamente. |
| 204 | ¿Sin puja | La solicitud es válida, pero no había ofertas disponibles. Esto no indica ningún error en la plantilla. |
| 400 | Solicitud incorrecta | JSON no válido, faltan los campos obligatorios según la especificación de OpenRTB. |
| 500 | Error del servidor | Problema interno de APS, servicio limitado, tiempo de espera. |
| 503 | Servicio sobrecargado | Contrapresión APS. No lo vuelvas a intentar de forma agresiva. |
| 429 | Solicitudes restringidas | APS ha comenzado manualmente a limitar las solicitudes. Póngase en contacto con el soporte de APS si persiste. |