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, nicht nur in der vorgefertigten Ansicht mit Last-Touch-Attribution.
In diesem Szenario fragen Sie mit dem Query Builder das Event ecommerce.order_placed aus den geteilten Event-Tabellen von Snowflake ab und fügen die gespeicherte Abfrage anschließend als Kachel vom Typ Custom Queries im Dashboard Builder hinzu. Sie können diesen Workflow für weitere Metriken wiederholen, etwa für neue und wiederkehrende Käufer:innen, Produktkategorien oder den Umsatz auf Segment-Ebene.
Nutzen Sie diesen Ansatz, wenn die integrierten E-Commerce-Dashboards Ihren Metrik-Mix nicht abdecken. Für den Umsatz mit Last-Touch-Attribution verwenden Sie stattdessen das Dashboard Revenue - Last Touch Attribution.
Hinweise
- Event-Implementierung:
ecommerce.order_placedmuss implementiert sein undtotal_value(sowie bei Bedarf Produktdaten) 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 Nutzerberechtigung „PII anzeigen“, 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 an aufbewahrten Daten abfragen. Weitere Informationen finden Sie unter Query Builder.
- Timeouts: Abfragen, die länger als sechs Minuten laufen, werden abgebrochen. Grenzen Sie den Datumsbereich ein, filtern Sie nach
TIMEoder verkleinern Sie die Zielgruppe, wenn ein Bericht fehlschlägt. Event-Tabellen sind nachTIMEgeclustert. Filtern Sie daher vorzugsweise nach dem Zeitpunkt, zu dem das Event aufgetreten ist. - Umsatzfeld: Die Beispielabfragen summieren
total_valueaus den Event-properties. Der standardisierte E-Commerce-Umsatz von Braze in Produktberichten wird häufig auspriceundquantityder einzelnen Produkte abgeleitet. Gleichen Sietotal_valuemit Ihren Produktpositionen ab oder passen Sie das SQL an Ihr Schema an. - Spaltenbeschriftungen: Setzen Sie Anzeigenamen von Spalten 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 die 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 ein und passen Sie sie an, um den Gesamtumsatz pro Kalendertag über die letzten 60 Tage zu ermitteln:
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 anschließend Save aus.
Details zur Einrichtung des Query Builders finden Sie unter Berichte im Query Builder ausführen.
Schritt 2: Abfrage zu einer Kachel im Dashboard Builder 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:
- Legen Sie als Chart-Typ Line graph fest.
- Setzen Sie X-axis auf
Date. - Setzen Sie Y-axis auf
Total Revenue.
- Passen Sie die Größe der Kachel nach Bedarf an und wählen Sie dann Save aus.
- Wählen Sie View Dashboard > Run Dashboard aus.
Die Erstellung des Dashboards kann einige Minuten dauern. Siehe Ein angepasstes Dashboard erstellen.
Schritt 3: Weitere 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 Anzahl der Bestellungen 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 Balken-Chart mit Date auf der X-Achse und beiden Metriken auf der Y-Achse (heben Sie die Auswahl von Spalten auf, die nicht angezeigt werden sollen).
Neue und wiederkehrende Käufer:innen pro Tag
Dieses Szenario vergleicht den Tag des ersten ecommerce.order_placed-Events jedes Nutzers bzw. jeder Nutzerin mit späteren Kauftagen. Am genauesten ist es, wenn das Zeitfenster Ihres Query Builders den gesamten 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
Flachen Sie das Array products ab und filtern Sie nach Ihrem Kategoriefeld. Ersetzen Sie metadata.category, wenn Sie einen anderen Schlüssel für Produkt-Metadaten 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 | Verwenden, wenn |
|---|---|
| Umsatz – Last-Touch-Attribution | Last-Touch-attribuierter Umsatz nach Campaign oder Canvas |
| Bericht zu angepassten Events | Event-Volumen und -Häufigkeit für empfohlene Events |
| Konversionen von Campaigns oder Canvase | ecommerce.order_placed ist das primäre Konversions-Event |