Nivel 1
Nivel 2
Iniciar sesión en la comunidad
Iniciar sesión para ver todas las insignias
This is Part 1 of a 3-part series on Step Events in Adobe Journey Optimizer. Jump to: Mastering Step Events in Adobe Journey Optimizer: Fundamentals, Schema, and Essential Queries for Da... | Troubleshooting Step Events in Adobe Journey Optimizer: Diagnosing Errors, Discards, and Failures fo... | Optimizing and Validating Adobe Journey Optimizer Step Events: Performance Analytics, Feedback Integ...
What to expect from this trilogy: This 3-part blog series is your comprehensive guide to mastering Step Events in Adobe Journey Optimizer.
Part 1 lays the foundation—explaining the Step Events schema, key identifiers, and essential queries for understanding journey analytics.
Part 2 dives into troubleshooting, showing you how to diagnose errors, discards, and failures to ensure reliable customer journeys.
Part 3 focuses on performance optimization, validation, and integrating feedback, equipping you to monitor, tune, and cross-validate your journeys for maximum impact.
Here's what the Query Service UI looks like in Adobe Experience Platform:
Key nested sections of _experience.journeyOrchestration :
Section What it captures
stepEvents | Orchestration info at per node, per profile level (nodeType, nodeName, stepStatus, …) |
serviceEvents | Up-stream or infra signals (dispatcher discards, orchestrator export jobs…) |
profile & journey | Present only on certain error paths today; future-proofed for all events |
The attributes above reside in the flattened analytics dataset named journey_step_events. Below are the leaf fields you will query most often:
{ "_experience": { "journeyOrchestration": { "stepEvents": [ { "journeyVersionID": "9ac7ac5e-1234-4cde-8a2b-61b6faeab999", "nodeType": "action", "nodeName": "Send Email #1", "stepStatus": "SUCCEEDED", "timestamp": "2024-02-14T16:32:11Z" } ] } } }
Know your journey IDs – The journeyVersionID is the UUID you see as the last segment of the URL when a journey version is open. Its friend journeyVersionName is the human-readable display name. You will reference one of these in almost every query.
-- ISO timestamp stored as TIMESTAMP type. Keep it raw for Common Table Expressions. SELECT timestamp FROM journey_step_events LIMIT 10; -- Last 48 hours WHERE timestamp > (NOW() - INTERVAL '48 hour'); -- Group by calendar day SELECT DATE(timestamp) AS event_day, COUNT(*) FROM journey_step_events GROUP BY event_day;
Let's start with a foundational query: getting a simple headcount of who's knocking on the journey's front door.
SELECT COUNT(DISTINCT _experience.journeyOrchestration.stepEvents.profileID) FROM journey_step_events WHERE _experience.journeyOrchestration.stepEvents.journeyVersionID = '<journeyVersionID>' AND _experience.journeyOrchestration.stepEvents.nodeType = 'start' AND timestamp > (NOW() - INTERVAL '24 hour');
Time to find the hot-spots. This query acts like a thermal camera, revealing which nodes on your canvas are getting the most traffic.
SELECT _experience.journeyOrchestration.stepEvents.nodeName AS node, COUNT(*) AS hits FROM journey_step_events WHERE _experience.journeyOrchestration.stepEvents.journeyVersionID = '<journeyVersionID>' AND _experience.journeyOrchestration.stepEvents.journeyNodeProcessed = 'true' GROUP BY node ORDER BY hits DESC;
Your CMO asks, "How many real humans actually entered that flashy welcome journey yesterday?" You have 10 minutes before the exec meeting. Time to wield SQL like a lightsaber.
Before diving in, keep Adobe's canonical Examples of queries page open in another tab. We'll upgrade those snippets with re-entrance logic and throughput heat-maps.
Just as important as who comes in, is who leaves. Let's see the total number of profiles that have finished the journey.
-- Total exits (any status) last 24 h SELECT COUNT(*) FROM journey_step_events WHERE _experience.journeyOrchestration.stepEvents.journeyVersionID = '<journeyVersionID>' AND _experience.journeyOrchestration.stepEvents.instanceEnded = TRUE AND _experience.journeyOrchestration.stepEvents.instanceType = 'unitary' AND timestamp > (NOW() - INTERVAL '24 hour');
Not all exits are created equal. This query breaks down how profiles left—whether they finished, timed-out, or hit an error.
SELECT _experience.journeyOrchestration.stepEvents.stepStatus AS status, COUNT(*) AS cnt FROM journey_step_events WHERE _experience.journeyOrchestration.stepEvents.journeyVersionID = '<journeyVersionID>' AND _experience.journeyOrchestration.stepEvents.instanceType = 'unitary' AND _experience.journeyOrchestration.stepEvents.instanceEnded = TRUE GROUP BY status ORDER BY cnt DESC;
Let's zoom in on the entry-gate's busiest moments. This helps you visualize pressure on the Start node, minute by minute.
SELECT DATE_FORMAT( TO_TIMESTAMP(FLOOR(EXTRACT(EPOCH FROM timestamp)*1000/60000)*60000/1000), 'yyyy-MM-dd HH:mm') AS bucket, COUNT(*) AS requests FROM journey_step_events WHERE _experience.journeyOrchestration.stepEvents.journeyVersionID = '<journeyVersionID>' AND _experience.journeyOrchestration.stepEvents.nodeType = 'start' AND _experience.journeyOrchestration.stepEvents.instanceType = 'unitary' GROUP BY bucket ORDER BY bucket;
Congratulations—you now have a working toolbox for exploring the journey_step_events dataset. We covered how to locate your journey IDs, slice data by time, surface hot-spots, and tally entrances vs. exits in minutes.
In Part 2 we will dive deep into troubleshooting failures & discards, turning those raw Step Events into actionable fixes. Part 3 then rounds out the trilogy with performance tuning and validation techniques.
Continue your journey: Troubleshooting Step Events in Adobe Journey Optimizer: Diagnosing Errors, Discards, and Failures fo... | Optimizing and Validating Adobe Journey Optimizer Step Events: Performance Analytics, Feedback Integ...
Debe ser un usuario registrado para añadir un comentario aquí. Si ya está registrado, inicie sesión. Si todavía no está registrado, hágalo e inicie sesión.