Berichte zu E-Commerce-Order-Placed-Events im Dashboard Builder
Erstellen Sie angepasste Umsatz- und Bestell-Charts aus empfohlenen
ecommerce.order_placed-Events, indem Sie SQL-Anfragen im Query Builder speichern und die Ergebnisse im Dashboard Builder visualisieren.
Über dieses Beispiel
Flash & Thread, eine fiktive Bekleidungsmarke im Einzelhandel, protokolliert Bestellungen mit empfohlenen E-Commerce-Events. Das Marketing-Team möchte den täglichen Umsatz, den durchschnittlichen Bestellwert (AOV) und das Bestellvolumen in einem einzigen Dashboard sehen – und nicht nur die vorgefertigte Last-Touch-Attribution-Ansicht.
Dieses Muster verwendet den Query Builder, um ecommerce.order_placed aus den gemeinsam genutzten Snowflake-Event-Tabellen abzufragen, und fügt die gespeicherte Abfrage dann als Custom Queries-Kachel im Dashboard Builder hinzu. Sie können den Workflow für zusätzliche Metriken wiederholen (neue gegenüber wiederkehrenden Käufer:innen, Produktkategorien oder Umsatz auf Segment-Ebene).
Verwenden Sie dieses Vorgehen, wenn die integrierten E-Commerce-Dashboards Ihren Metrik-Mix nicht abdecken. Für Last-Touch-attributierten Umsatz verwenden Sie stattdessen das Dashboard Revenue - Last Touch Attribution.
Überlegungen
- Event-Implementierung:
ecommerce.order_placedmuss implementiert sein undtotal_value(sowie Produktdaten bei Bedarf) senden, bevor Abfragen Daten zurückgeben. Wenn Sie den Shopify-Konnektor verwenden, sind empfohlene Events möglicherweise bereits verfügbar. - Zugriff auf den Query Builder: Sie benötigen die Nutzer:innenberechtigung „View PII“ (Nutzer:innenberechtigungen), um den Query Builder zu verwenden.
- Datenspeicherung: Der Query Builder gibt standardmäßig Daten der letzten 60 Tage zurück. Mit Snowflake Data Sharing können Sie bis zu zwei Jahre gespeicherter Daten abfragen. Siehe Query Builder.
- Timeouts: Abfragen, die länger als sechs Minuten laufen, werden abgebrochen. Schränken Sie den Datumsbereich ein, filtern Sie nach
TIMEoder reduzieren Sie die Zielgruppengröße, wenn ein Bericht fehlschlägt. Event-Tabellen sind nachTIMEgeclustert; bevorzugen Sie die Filterung nach dem Zeitpunkt des Events. - Umsatzfeld: Beispielabfragen summieren
total_valueaus den Event-properties. Der standardisierte E-Commerce-Umsatz von Braze in Produktberichten wird häufig auspriceundquantityjedes Produkts abgeleitet. Stimmen Sietotal_valuemit Ihren Produktpositionen ab oder passen Sie das SQL an Ihr Schema an. - Spaltenbeschriftungen: Setzen Sie Anzeige-Spaltennamen in doppelte Anführungszeichen (zum Beispiel
"Date","Total Revenue"), damit der Dashboard Builder gut lesbare Achsen- und Tabellenüberschriften anzeigt. - Testen: Das SQL in diesem Artikel dient als Beispiel. Validieren Sie Abfragen in Ihrem Workspace, bevor Sie Dashboards breit teilen.
Einrichtung
Schritt 1: SQL-Abfrage für den täglichen Umsatz erstellen
- Gehen Sie zu Analytics > Query Builder.
- Wählen Sie Create SQL Query und dann SQL Editor aus.
- Benennen Sie die Abfrage (zum Beispiel
Flash Thread — daily eCommerce revenue). - Fügen Sie die folgende Abfrage für den Gesamtumsatz pro Kalendertag der letzten 60 Tage ein und passen Sie sie an:
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;
- Wählen Sie Run Query und dann Save aus.
Details zur Einrichtung des Query Builders finden Sie unter Berichte im Query Builder ausführen.
Schritt 2: Abfrage zu einer Dashboard-Builder-Kachel hinzufügen
- Gehen Sie zu Analytics > Dashboard Builder.
- Wählen Sie Create Dashboard aus (oder öffnen Sie ein bestehendes Dashboard).
- Wählen Sie als Datenquelle Custom Queries aus.
- Wählen Sie + Add Tile und dann die Abfrage aus, die Sie in Schritt 1 gespeichert haben.
- Wählen Sie das Stiftsymbol aus, um die Kachel zu bearbeiten:
- Setzen Sie den Chart-Typ auf Line graph.
- Setzen Sie die X-Achse auf
Date. - Setzen Sie die Y-Achse auf
Total Revenue.
- Passen Sie die Kachelgröße nach Bedarf an und wählen Sie dann Save aus.
- Wählen Sie View Dashboard > Run Dashboard aus.
Die Dashboard-Erstellung kann einige Minuten dauern. Siehe Ein angepasstes Dashboard erstellen.
Schritt 3: Zusätzliche Order Placed-Metriken hinzufügen (optional)
Erstellen Sie separate gespeicherte Abfragen und fügen Sie jede als eigene Kachel hinzu (bis zu 10 Kacheln pro Dashboard).
Durchschnittlicher Bestellwert und Bestellanzahl pro Tag
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;
Verwenden Sie ein Linien- oder Balkendiagramm mit Date auf der X-Achse und beiden Metriken auf der Y-Achse (deaktivieren Sie Spalten, die Sie nicht anzeigen möchten).
Neue gegenüber wiederkehrenden Käufer:innen pro Tag
Dieses Muster vergleicht den ersten ecommerce.order_placed-Tag jeder Nutzer:in mit späteren Kauftagen. Es ist am genauesten, wenn Ihr Query-Builder-Fenster den vollständigen Berichtszeitraum abdeckt (zum Beispiel das standardmäßige 60-Tage-Fenster).
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;
Produktkategorie aus Bestellpositionen
Entfalten Sie das products-Array und filtern Sie nach Ihrem Kategoriefeld. Ersetzen Sie metadata.category, wenn Sie einen anderen Produkt-Metadaten-Schlüssel verwenden.
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;
Käufe und Umsatz nach Segment (Segment-Analytics)
Dafür ist Segment-Analytics-Tracking für die Segmente erforderlich, über die Sie berichten. Verwenden Sie SQL-Variablen für Datumsauswahlen.
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;
Weitere integrierte E-Commerce-Berichte
| Bericht | Verwendung |
|---|---|
| Revenue - Last Touch Attribution | Last-Touch-attribuierter Umsatz nach Campaign oder Canvas |
| Bericht zu angepassten Events | Event-Volumen und -Häufigkeit für empfohlene Events |
| Campaign- oder Canvas-Konversionen | ecommerce.order_placed ist das primäre Konversions-Event |