Simulate a journey

Test your journey's paths with an isolated dry run before activating external actions.

Use Simulate to test how customers move through your journey. A dry run processes your journey in isolation and lets you inspect the results on the canvas without exporting to destinations, sending trigger webhooks, or performing CRM actions.

📘

Enable journey simulation

Reach out to your GrowthLoop representative or [email protected] to enable journey simulation for your organization. Once enabled, Simulate appears in the journey actions menu.

Prerequisites

  • Save the journey you want to test. You can simulate a draft before starting it.
  • Configure an entry audience for a warehouse journey, or a registered entry event for a real-time journey.
  • For a real-time journey, prepare a sample JSON event that matches your registered event schema and customer identifier mapping. If the journey uses warehouse enrichment, use a test customer ID that exists in the mapped dataset.

Learn more about building a journey and registering real-time events.

Open the simulation dialog

  1. Open your journey from Journeys in the left sidebar.
  2. Click the journey actions dropdown beside Save in the upper-right corner.
  3. Select Simulate.
Annotated journey actions menu showing where to select Simulate

The dialog depends on the journey type:

Journey typeInputWhat you test
WarehouseFull entry audienceHow customers in the audience move through your journey's nodes and branches.
Real-timeSample JSON eventsHow an event enters the journey and how later events continue it through Wait For nodes.

Simulate a real-time journey

Submit the entry event

  1. Select New dry run from the Dry run dropdown.
  2. Paste your entry event into Sample event (JSON).
  3. Click Simulate event.
Annotated real-time simulation dialog showing New dry run, the JSON input, and Simulate event

For example, the abandoned-cart journey in the screenshots enters on use_case_five:

{
  "event_type": "use_case_five",
  "customer_id": 29606,
  "first_name": "Simulation",
  "email_address": "[email protected]",
  "cart_content": [
    {
      "name": "Test product",
      "price": 49.99,
      "quantity": 2
    }
  ]
}

Use your own registered event type, fields, and test customer ID. This example's schema expects customer_id to be a number, so it is not enclosed in quotation marks. Match the field types in your own event schema.

Continue through a Wait For node

A Wait For node needs a later matching event. Keep both events in the same dry run so the second event can continue the customer who entered with the first.

  1. Reopen Simulate from the journey actions menu.
  2. Select Continue dry run for the run you started, such as Continue dry run 1.
  3. Paste the event expected by the Wait For node. Use the same customer identifier as the entry event.
  4. Click Simulate event.
Annotated simulation dialog showing Continue dry run 1 and a matching follow-up event for the same customer

The example journey waits for use_case_three. Its follow-up event is:

{
  "event_type": "use_case_three",
  "customer_id": 29606
}
💡

Tip

Selecting New dry run for the follow-up event starts a separate simulation. Select Continue dry run to test the existing customer's next step.

Inspect the result

  1. Click Runs, the clock icon above the canvas.
  2. Select your dry run to overlay its counts on the journey nodes.
  3. Check the event count, outcome, and node badges to confirm the expected path.
Annotated saved real-time run showing two submitted events and counts on the Entry and Wait For nodes

The saved example shows 2 events submitted and a completed pass through the Entry and Wait For nodes. A dry run can finish processing an event while a customer remains at a Wait For node. Submit a matching follow-up event to continue that customer.

Simulate a warehouse journey

  1. Open Simulate from the journey actions menu.
  2. Click Dry run full audience. You do not need to enter JSON.
  3. Wait for the dry run to finish.
Annotated warehouse simulation dialog showing Dry run full audience and the isolated warehouse state behavior

The dry run processes the full entry audience and writes its state to an isolated warehouse table.

  1. Click Runs above the canvas and select the completed dry run.
  2. Inspect the counts across your criteria branches and downstream nodes.
  3. Click Clear in the Runs panel to remove the simulation overlay.
Annotated warehouse journey showing a selected completed dry run, branch counts, and Clear to remove the overlay

Understand simulation results

The canvas badges show counts from the selected dry run. Yellow indicates customers waiting at a step, green indicates customers who passed through it, and an exit badge appears when the exit count is nonzero. Click Clear in Runs to return to the normal canvas view.

BehaviorDuring simulation
Destination exports, trigger webhooks, and CRM actionsExternal actions are suppressed. Reaching a destination node does not confirm delivery to that platform.
Delay nodesDelays are treated as elapsed so you can inspect the downstream path.
Wait For nodes in real-time journeysA later matching event is needed to continue the customer.
Warehouse stateDry-run state is written to an isolated table.

Troubleshooting

These are the issues we see most often. You can always email us at [email protected] for help.

ProblemCauseResolution
Simulate is missingJourney simulation is not enabled for your organization.Contact GrowthLoop to enable journey simulation for your organization.
The entry event does not matchThe submitted event does not match the registered event type, schema, or configured entry filters.Check the registered event type, JSON field types, and entry filters, then update your sample event.
The customer stays at Wait ForA matching follow-up event has not continued the customer in the selected dry run.Select the same dry run and submit the event expected by the node with the same mapped customer identifier.
The dry run failsA configuration, event, or processing error stopped the run.Review the error shown for the run. Check the journey configuration and sample event, then contact GrowthLoop if you need help.

You're all set to test your journey's paths! Continue to Monitor a Journey when you're ready to inspect live journey activity.


What’s Next

Monitor your journey after testing its paths.

Did this page help you?