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 und Thread, eine fiktive Einzelhandelsmarke für Bekleidung, erfasst Bestellungen mit empfohlenen E-Commerce-Events. Das Marketing-Team möchte täglichen Umsatz, den durchschnittlichen Bestellwert (AOV) und das Bestellvolumen in einem einzigen Dashboard sehen – 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 Anfrage dann als Custom Queries-Tile im Dashboard Builder hinzu. Sie können den Workflow für zusätzliche Metriken wiederholen (neue vs. wiederkehrende 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 siehe stattdessen das Dashboard Revenue - Last Touch Attribution.
Hinweise
- Event-Implementierung:
ecommerce.order_placedmuss implementiert sein undtotal_value(sowie Produktdaten bei Bedarf) senden, bevor Anfragen Daten zurückgeben. Wenn Sie den Shopify-Konnektor verwenden, sind empfohlene Events möglicherweise bereits verfügbar. - Query-Builder-Zugriff: Sie benötigen die Nutzer:innenberechtigung „View PII“ (Nutzer:innenverwaltung), um den Query Builder zu verwenden.
- Datenaufbewahrung: Der Query Builder gibt standardmäßig Daten der letzten 60 Tage zurück. Mit Snowflake Data Sharing können Sie bis zu zwei Jahre aufbewahrte Daten abfragen. Siehe Query Builder.
- Timeouts: Anfragen, 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; filtern Sie bevorzugt nach dem Zeitpunkt des Events. - Umsatzfeld: Die Beispielabfragen summieren
total_valueaus den Event-properties. Der standardisierte E-Commerce-Umsatz von Braze in Produktberichten leitet sich häufig auspriceundquantityjedes Produkts ab. Stimmen Sietotal_valuemit Ihren Produktpositionen ab oder passen Sie das SQL an Ihr Schema an. - Spaltenbezeichnungen: Setzen Sie Anzeige-Spaltennamen in doppelte Anführungszeichen (zum Beispiel
"Date","Total Revenue"), damit der Dashboard Builder lesbare Achsen- und Tabellenüberschriften anzeigt. - Testen: Das SQL in diesem Artikel dient als Beispiel. Validieren Sie Anfragen in Ihrem Workspace, bevor Sie Dashboards breit teilen.
Einrichtung
Schritt 1: SQL-Anfrage für den täglichen Umsatz erstellen
- Gehen Sie zu Analytics > Query Builder.
- Wählen Sie Create SQL Query und dann SQL Editor.
- Benennen Sie die Anfrage (zum Beispiel
Flash Thread — daily eCommerce revenue). - Fügen Sie die folgende Anfrage ein und passen Sie sie an, um den Gesamtumsatz pro Kalendertag der letzten 60 Tage zu erhalten:
1
2
3
4
5
6
7
8
9
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.
Details zur Einrichtung des Query Builders finden Sie unter Berichte im Query Builder ausführen.
Schritt 2: Anfrage als Dashboard-Builder-Tile hinzufügen
- Gehen Sie zu Analytics > Dashboard Builder.
- Wählen Sie Create Dashboard (oder öffnen Sie ein bestehendes Dashboard).
- Wählen Sie als Datenquelle Custom Queries.
- Wählen Sie + Add Tile und dann die in Schritt 1 gespeicherte Anfrage.
- Wählen Sie das Stiftsymbol, um das Tile 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 Größe des Tiles nach Bedarf an und wählen Sie Save.
- Wählen Sie View Dashboard > Run Dashboard.
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 Anfragen und fügen Sie jede als eigenes Tile hinzu (bis zu 10 Tiles pro Dashboard).
Durchschnittlicher Bestellwert und Bestellanzahl pro Tag
1
2
3
4
5
6
7
8
9
10
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 vs. wiederkehrende 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 gesamten Berichtszeitraum abdeckt (zum Beispiel das standardmäßige 60-Tage-Fenster).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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.
1
2
3
4
5
6
7
8
9
10
11
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)
Dies erfordert Segment-Analytics-Tracking für die Segmente, über die Sie berichten. Verwenden Sie SQL-Variablen für Datumsauswahlen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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-attributierter 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 |