API de AnalyticsGuías

Informe diario de un reproductor

Visualizaciones, reproducciones, retención, clics y ventas de un reproductor, día a día, en una sola solicitud

POST /sessions/stats_by_day devuelve una fila por día con todo lo que necesita un informe de rendimiento: visualizaciones, reproducciones, hasta dónde vieron las personas, cuántas llegaron al pitch, clics y ventas. Esta guía crea un informe semanal de un reproductor.

Necesitas el ID del reproductor. Si no lo tienes, búscalo primero.

Solicita los días

curl -X POST 'https://analytics.vturb.com/sessions/stats_by_day' \
  -H "X-Api-Token: $VTURB_API_TOKEN" \
  -H 'X-Api-Version: v1' \
  -H 'User-Agent: mi-integracion/1.0' \
  -H 'Content-Type: application/json' \
  -d '{
    "player_id": "64a5c8072e6fd10009828db2",
    "start_date": "2026-09-01 00:00:00",
    "end_date": "2026-09-07 23:59:59",
    "timezone": "America/Sao_Paulo"
  }'
  • start_date y end_date son obligatorios, se escriben con el formato YYYY-MM-DD HH:MM:SS y se leen en timezone. Sin timezone se leen en UTC, y los días se cortan a la medianoche UTC.
  • video_duration y pitch_time, en segundos, son opcionales. Sin ellos, o con 0, la API usa la duración del vídeo del reproductor y el tiempo de pitch configurado en el reproductor. Envíalos para medir con otra referencia, como un pitch que estás a punto de mover.
  • Cuando el reproductor no tiene tiempo de pitch y no envías uno, el pitch es el segundo 0: todas las sesiones llegan a él, y over_pitch_rate es 100.

Lee la respuesta

Las filas vienen ordenadas por fecha y empiezan, como muy pronto, el día anterior a la creación del reproductor. A partir de ahí, un día sin actividad también tiene su fila, con ceros.

200 OK (una de siete filas)
[
  {
    "date_key": "2026-09-01",
    "total_viewed": 1530,
    "total_viewed_session_uniq": 1310,
    "total_viewed_device_uniq": 1201,
    "total_started": 702,
    "total_started_session_uniq": 600,
    "total_started_device_uniq": 540,
    "total_finished": 98,
    "total_finished_session_uniq": 90,
    "total_finished_device_uniq": 85,
    "total_clicked": 61,
    "total_clicked_session_uniq": 52,
    "total_clicked_device_uniq": 49,
    "engagement_rate": "38.47",
    "total_over_pitch": 160,
    "total_under_pitch": 380,
    "over_pitch_rate": "29.62",
    "play_rate": "44.96",
    "total_conversions": 27,
    "overall_conversion_rate": 5,
    "total_amount_usd": 0,
    "total_amount_brl": 537300,
    "total_amount_eur": 0
  }
]

Cada recuento viene de tres formas: todos los eventos (total_viewed), sesiones únicas (_session_uniq) y dispositivos únicos (_device_uniq).

CampoQué mide
total_viewed*Visualizaciones: el reproductor se cargó en la página
total_started*Reproducciones: el espectador pulsó play
total_finished*El vídeo se vio hasta el final
total_clicked*Clics en las llamadas a la acción del reproductor que llevan al espectador fuera de la página
play_rateLa proporción de visualizaciones únicas que pulsaron play: total_started_device_uniq ÷ total_viewed_device_uniq × 100
engagement_rateHasta dónde vieron las personas, en promedio, como proporción de video_duration
total_over_pitch, total_under_pitchSesiones que llegaron a pitch_time y las que salieron antes
over_pitch_rateRetención en el pitch: la proporción de sesiones que llegaron al pitch
total_conversionsSesiones con una venta inicial atribuida al reproductor
overall_conversion_rateVentas por reproducción única: total_conversions ÷ total_started_device_uniq × 100
total_amount_usd, _brl, _eurEl importe vendido en cada moneda, como un entero en centavos (537300 es 5.373,00). Suma todas las compras atribuidas al reproductor, order bumps incluidos, no solo las ventas iniciales de total_conversions

Las tasas son porcentajes truncados, no redondeados, a dos decimales. engagement_rate, over_pitch_rate y play_rate llegan como texto, como "29.62"; overall_conversion_rate llega como número. Las ventas y sus importes caen en el día del clic que llevó a ellas.

Añade el total del periodo

Para la línea de resumen del informe, POST /sessions/stats recibe el mismo cuerpo y devuelve un objeto con los mismos campos, sin date_key, para todo el rango. Úsalo en lugar de sumar los días: las tasas y los recuentos únicos no se pueden sumar entre días.

Mantente dentro de tu cuota

Cada solicitud se descuenta de la cuota de consultas de tu plan. Un informe diario por reproductor es una solicitud; para muchos reproductores, espacia las solicitudes y consulta GET /quota/usage cuando estés cerca del límite.

A continuación: mira dónde se van los espectadores y qué pasa en el pitch, o compara las fuentes de tráfico detrás de estos números.

En esta página