Créer des rapports sur les événements eCommerce Order Placed dans le générateur de tableaux de bord
Créez des graphiques personnalisés de chiffre d’affaires et de commandes à partir des événements recommandés
ecommerce.order_placeden enregistrant des requêtes SQL dans le générateur de requêtes et en visualisant les résultats dans le générateur de tableaux de bord.
À propos de cet exemple
Flash & Thread, une marque fictive de vente au détail de vêtements, enregistre les commandes avec les événements recommandés eCommerce. Son équipe marketing souhaite visualiser le chiffre d’affaires quotidien, la valeur moyenne des commandes (AOV) et le volume de commandes dans un seul tableau de bord, au-delà de la vue préintégrée d’attribution au dernier contact.
Ce modèle utilise le Query Builder pour interroger ecommerce.order_placed à partir des tables d’événements partagées Snowflake, puis ajoute la requête enregistrée sous forme de tuile Custom Queries dans le Dashboard Builder. Vous pouvez reproduire ce flux de travail pour d’autres indicateurs (acheteurs nouveaux par rapport aux acheteurs récurrents, catégories de produits ou chiffre d’affaires par Segment).
Utilisez cette approche lorsque les tableaux de bord eCommerce intégrés ne couvrent pas votre combinaison d’indicateurs. Pour le chiffre d’affaires attribué au dernier contact, consultez plutôt le tableau de bord Revenue - Last Touch Attribution.
Considérations
- Implémentation des événements :
ecommerce.order_placeddoit être implémenté et envoyertotal_value(ainsi que les données produit si nécessaire) avant que les requêtes ne renvoient des données. Si vous utilisez le connecteur Shopify, les événements recommandés peuvent déjà être disponibles. - Accès au Query Builder : Vous devez disposer de la permission utilisateur « View PII » pour utiliser le Query Builder.
- Conservation des données : Le Query Builder renvoie par défaut les données des 60 derniers jours. Avec le partage de données Snowflake, vous pouvez interroger jusqu’à deux ans de données conservées. Consultez Query Builder.
- Délais d’expiration : Les requêtes dont l’exécution dépasse six minutes expirent. Réduisez la plage de dates, filtrez sur
TIMEou diminuez la taille de l’audience si un rapport échoue. Les tables d’événements sont regroupées surTIME; privilégiez le filtrage sur la date à laquelle l’événement s’est produit. - Champ de chiffre d’affaires : Les exemples de requêtes additionnent
total_valueà partir despropertiesde l’événement. Le chiffre d’affaires eCommerce standardisé de Braze dans les rapports produit est souvent dérivé dupriceet de laquantityde chaque produit. Aligneztotal_valueavec vos lignes de produits, ou adaptez le SQL pour correspondre à votre schéma. - Libellés de colonnes : Encadrez les noms de colonnes affichés entre guillemets doubles (par exemple
"Date","Total Revenue") afin que le Dashboard Builder affiche des en-têtes d’axes et de tableaux lisibles. - Tests : Le SQL de cet article est fourni à titre d’exemple. Validez les requêtes dans votre espace de travail avant de partager largement les tableaux de bord.
Configuration
Étape 1 : Créer une requête SQL pour le chiffre d’affaires quotidien
- Accédez à Analytics > Query Builder.
- Sélectionnez Create SQL Query, puis SQL Editor.
- Nommez la requête (par exemple,
Flash Thread — daily eCommerce revenue). - Collez et adaptez la requête suivante pour obtenir le chiffre d’affaires total par jour calendaire sur les 60 derniers jours :
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;
- Sélectionnez Run Query, puis sélectionnez Save.
Pour plus de détails sur la configuration du Query Builder, consultez Exécuter des rapports dans le Query Builder.
Étape 2 : Ajouter la requête à une tuile du Dashboard Builder
- Accédez à Analytics > Dashboard Builder.
- Sélectionnez Create Dashboard (ou ouvrez un tableau de bord existant).
- Pour la source de données, sélectionnez Custom Queries.
- Sélectionnez + Add Tile, puis choisissez la requête que vous avez enregistrée à l’étape 1.
- Sélectionnez l’icône crayon pour modifier la tuile :
- Définissez le type de graphique sur Line graph.
- Définissez X-axis sur
Date. - Définissez Y-axis sur
Total Revenue.
- Redimensionnez la tuile selon vos besoins, puis sélectionnez Save.
- Sélectionnez View Dashboard > Run Dashboard.
La génération du tableau de bord peut prendre quelques minutes. Consultez Créer un tableau de bord personnalisé.
Étape 3 : Ajouter des indicateurs supplémentaires Order Placed (facultatif)
Créez des requêtes enregistrées séparées, puis ajoutez chacune d’entre elles sous forme de tuile individuelle (jusqu’à 10 tuiles par tableau de bord).
Valeur moyenne de commande et nombre de commandes par jour
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;
Utilisez un graphique en ligne ou à barres avec Date sur l’axe X et les deux indicateurs sur l’axe Y (désélectionnez les colonnes que vous ne souhaitez pas afficher).
Nouveaux acheteurs vs acheteurs récurrents par jour
Ce modèle compare le premier jour de ecommerce.order_placed de chaque utilisateur aux jours d’achat ultérieurs. Il est le plus précis lorsque la fenêtre de votre Query Builder couvre toute la période de reporting (par exemple, la fenêtre par défaut de 60 jours).
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;
Catégorie de produit à partir des lignes de commande
Aplatissez le tableau products et filtrez sur votre champ de catégorie. Remplacez metadata.category si vous utilisez une clé de métadonnées de produit différente.
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;
Achats et chiffre d’affaires par Segment (analyse de Segments)
Cela nécessite que le suivi analytique des Segments soit activé sur les Segments que vous analysez. Utilisez les variables SQL pour les sélecteurs de dates.
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;
Autres rapports eCommerce intégrés
| Rapport | Cas d’utilisation |
|---|---|
| Revenue - Last Touch Attribution | Chiffre d’affaires attribué en dernière interaction par Campaign ou Canvas |
| Rapport d’événements personnalisés | Volume et fréquence des événements pour les événements recommandés |
| Conversions de Campaign ou Canvas | ecommerce.order_placed est l’événement de conversion principal |