Informes sobre eventos eCommerce Order Placed en el generador de paneles
Crea gráficos personalizados de ingresos y pedidos a partir de eventos recomendados
ecommerce.order_placedguardando consultas SQL en el generador de consultas y visualizando los resultados en el generador de paneles.
Requisitos previos
| Requisitos | Descripción |
|---|---|
| Permisos del Generador de consultas | Los permisos “View Dashboard Reports”, “View PII” y “Edit Dashboard Reports” en el nivel del espacio de trabajo |
Eventos ecommerce.order_placed |
Eventos recomendados de comercio electrónico implementados y enviando total_value (y datos de producto cuando sea necesario). Si usas el conector de Shopify, es posible que los eventos recomendados ya estén disponibles. |
Acerca de este ejemplo
Flash & Thread, una marca ficticia de comercio minorista de ropa, registra los pedidos con eventos recomendados de comercio electrónico. Su equipo de marketing quiere ver los ingresos diarios, el valor medio del pedido (AOV) y el volumen de pedidos en un único panel, y no solo la vista prediseñada de atribución al último contacto.
Este escenario usa el Generador de consultas para consultar ecommerce.order_placed desde las tablas de eventos compartidas de Snowflake y, después, agrega la consulta guardada como mosaico de Consultas personalizadas en el Generador de paneles. Puedes repetir este flujo de trabajo para otras métricas, como compradores nuevos frente a recurrentes, categorías de producto o ingresos por segmento.
Usa este enfoque cuando los paneles de comercio electrónico integrados no cubran la combinación de métricas que necesitas. Para los ingresos atribuidos al último contacto, consulta el panel Ingresos - Atribución al último contacto.
Consideraciones
- Retención de datos: Query Builder devuelve datos de los últimos 60 días de forma predeterminada. Con Snowflake Data Sharing, puedes consultar hasta dos años de datos retenidos. Consulta Query Builder.
- Tiempos de espera: Las consultas que se ejecutan durante más de seis minutos agotan el tiempo de espera. Si un informe falla, acota el intervalo de fechas, filtra por
TIMEo reduce el tamaño de la audiencia. Las tablas de eventos están agrupadas porTIME, así que es preferible filtrar por el momento en que ocurrió el evento. - Campo de ingresos: Las consultas de ejemplo suman
total_valuede laspropertiesdel evento. Los ingresos estandarizados de comercio electrónico de Braze en los informes de producto suelen derivarse delpricey laquantityde cada producto. Alineatotal_valuecon las líneas de producto o ajusta el SQL para que coincida con tu esquema. - Etiquetas de columna: Escribe los nombres de las columnas que se muestran entre comillas dobles (por ejemplo,
"Date","Total Revenue") para que Dashboard Builder muestre encabezados de ejes y tablas legibles. - Pruebas: El SQL de este artículo se proporciona como ejemplo. Valida las consultas en tu espacio de trabajo antes de compartir paneles de forma amplia.
Configuración
Paso 1: Crea una consulta SQL para los ingresos diarios
- Ve a Análisis > Generador de consultas.
- Selecciona Crear consulta SQL y, luego, Editor SQL.
- Ponle un nombre a la consulta (por ejemplo,
Flash Thread — daily eCommerce revenue). - Pega y adapta la siguiente consulta para obtener los ingresos totales por día natural de los últimos 60 días:
SELECT
DATE_TRUNC('day', TO_TIMESTAMP_NTZ(TIME))::DATE AS "Date",
SUM(PARSE_JSON(PROPERTIES):total_value::NUMBER(18, 2)) AS "Total Revenue"
FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED
WHERE NAME = 'ecommerce.order_placed'
AND TO_TIMESTAMP_NTZ(TIME) >= DATEADD(day, -60, CURRENT_TIMESTAMP())
AND TO_TIMESTAMP_NTZ(TIME) <= CURRENT_TIMESTAMP()
GROUP BY 1
ORDER BY 1;
- Selecciona Ejecutar consulta y, luego, Guardar.
Para obtener más información sobre la configuración del Generador de consultas, consulta Ejecutar informes en el Generador de consultas.
Paso 2: Añade la consulta a un mosaico del Creador de paneles
- Ve a Análisis > Creador de paneles.
- Selecciona Crear panel (o abre un panel existente).
- Como origen de datos, selecciona Consultas personalizadas.
- Selecciona + Añadir mosaico y, luego, elige la consulta que guardaste en el paso 1.
- Selecciona el icono del lápiz para editar el mosaico:
- Establece el tipo de gráfico en Gráfico de líneas.
- Establece Eje X en
Date. - Establece Eje Y en
Total Revenue.
- Cambia el tamaño del mosaico según sea necesario y, luego, selecciona Guardar.
- Selecciona Ver panel > Ejecutar panel.
La generación del panel puede tardar unos minutos. Consulta Crear un panel personalizado.
Paso 3: Añade métricas adicionales de Order Placed (opcional)
Crea consultas guardadas por separado y, luego, añade cada una como su propio mosaico (hasta 10 mosaicos por panel).
Valor medio del pedido y número de pedidos por día
SELECT
DATE_TRUNC('day', TO_TIMESTAMP_NTZ(TIME))::DATE AS "Date",
AVG(PARSE_JSON(PROPERTIES):total_value::NUMBER(18, 2)) AS "Average Order Value",
COUNT(*) AS "No. of Orders"
FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED
WHERE NAME = 'ecommerce.order_placed'
AND TO_TIMESTAMP_NTZ(TIME) >= DATEADD(day, -60, CURRENT_TIMESTAMP())
AND TO_TIMESTAMP_NTZ(TIME) <= CURRENT_TIMESTAMP()
GROUP BY 1
ORDER BY 1;
Usa un gráfico de líneas o de barras con Date en el eje X y ambas métricas en el eje Y (anula la selección de las columnas que no quieras mostrar).
Compradores nuevos frente a recurrentes por día
Este escenario compara el día del primer ecommerce.order_placed de cada usuario con los días de compra posteriores. Es más preciso cuando el intervalo del Generador de consultas abarca todo el periodo del informe (por ejemplo, el intervalo predeterminado de 60 días).
WITH order_days AS (
SELECT DISTINCT
USER_ID,
DATE_TRUNC('day', TO_TIMESTAMP_NTZ(TIME))::DATE AS purchase_day
FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED
WHERE NAME = 'ecommerce.order_placed'
),
first_purchase AS (
SELECT
USER_ID,
MIN(purchase_day) AS first_day
FROM order_days
GROUP BY USER_ID
),
per_day_purchasers AS (
SELECT DISTINCT
USER_ID,
purchase_day
FROM order_days
)
SELECT
p.purchase_day AS "Date",
COUNT(DISTINCT CASE
WHEN f.first_day = p.purchase_day THEN p.USER_ID
END) AS "New Purchasers",
COUNT(DISTINCT CASE
WHEN f.first_day < p.purchase_day THEN p.USER_ID
END) AS "Returning Purchasers"
FROM per_day_purchasers AS p
INNER JOIN first_purchase AS f
ON p.USER_ID = f.USER_ID
GROUP BY 1
ORDER BY 1;
Categoría de producto a partir de las líneas de pedido
Aplana la matriz products y filtra por tu campo de categoría. Reemplaza metadata.category si usas una clave de metadatos de producto diferente.
SELECT
f.value:metadata:category::STRING AS "Product Category",
COUNT(*) AS "Line Items"
FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED,
LATERAL FLATTEN(INPUT => PARSE_JSON(PROPERTIES):products) f
WHERE NAME = 'ecommerce.order_placed'
AND f.value:metadata:category::STRING IS NOT NULL
AND TRIM(f.value:metadata:category::STRING) != ''
AND LOWER(TRIM(f.value:metadata:category::STRING)) != 'undefined'
GROUP BY 1
ORDER BY 2 DESC;
Compras e ingresos por Segment (análisis de Segment)
Esto requiere el seguimiento de análisis de Segment en los Segments sobre los que informas. Usa variables SQL para los selectores de fecha.
WITH event_conversions AS (
SELECT
user_id,
time,
TRY_CAST(GET_PATH(PARSE_JSON(PROPERTIES), 'total_value')::string AS FLOAT) AS price,
id AS purchase_event_id,
f.value::string AS user_segment_membership_id
FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED,
LATERAL FLATTEN(input => user_segment_membership_ids) AS f
WHERE NAME = 'ecommerce.order_placed'
AND time > {{start_date.${Start Date}}}
AND time < {{end_date.${End Date}}}
)
SELECT
user_segment_membership_id AS "Segment Analytics Id",
COUNT(DISTINCT purchase_event_id) AS "Total Purchases",
ROUND(SUM(price), 2) AS "Total Revenue"
FROM event_conversions
GROUP BY 1
ORDER BY 3 DESC;
Otros informes de comercio electrónico integrados
| Informe | Úsalo cuando |
|---|---|
| Revenue - Last Touch Attribution | Quieras ver los ingresos atribuidos al último contacto por campaña o Canvas |
| Informe de eventos personalizados | Quieras ver el volumen y la frecuencia de los eventos recomendados |
| Conversiones de campañas o Canvas | ecommerce.order_placed sea el evento de conversión primaria |