Reference
Journeys
Journeys are visual automations that run when something happens in Shopify. You design a graph and publish it, and TopEdge turns it into timed steps for each customer who enters.
Short answer
A journey has one trigger, optional filters and a graph of nodes. Publishing freezes the graph and trigger, so edits change nothing until you publish again. Each enrolled customer gets their own timeline of scheduled steps, and by default a reply cancels the rest.
How a journey runs#
Trigger types#
| Trigger | Fires when |
|---|---|
| Order placed | An order is created in Shopify. This is also your order-confirmation trigger. |
| Order shipped | An order is fulfilled, or a fulfilment updates with a non-delivered status. |
| Order delivered | A fulfilment updates with a delivered shipment status. |
| Cart abandoned | A checkout is abandoned and the capture delay has elapsed. |
| Manual | Nothing automatic — you enrol customers yourself from a list. |
Exit conditions#
Exit conditions cancel a customer’s remaining steps.
- Customer replies: available on every trigger and on by default, so a customer who already answered is not chased.
- Order cancelled: available on order triggers.
Trigger filters#
Filters decide who enters. Every active rule must be true: they combine with AND, never OR.
An empty rule set matches everything, which is usually right for an order-confirmation journey.
| Filter | Values |
|---|---|
| Payment method | Any, COD, or prepaid. This is how you build a COD-only journey. |
| Order total | Minimum, maximum, or both, in rupees. |
| Products | Include or exclude specific Shopify products. |
| Customer type | Any, first order, or returning. |
| Order tags | Include or exclude by tag. |
| Shipping state or city | Indian states from a list, or a city as free text. |
| Discount code | Whether a specific code was used. |
| Filter | Values |
|---|---|
| Capture delay | How long after abandonment the customer enters — 25 minutes by default. |
| Minimum cart value | Skip low-value carts that are not worth a conversation fee. |
| Cart products | Only carts containing specific products. |
Node types#
| Node | What it does | Needs |
|---|---|---|
| Entry | The root of every journey. Holds the trigger, its filters and exit conditions. Cannot be deleted. | — |
| Send WhatsApp | Sends an approved template with variables mapped from the order or cart. | An Approved template |
| Send Email | Sends an email from your connected mailbox, with subject and body. | Gmail connected |
| Order status | Sends the lifecycle template for a stage — confirmed, shipped, out for delivery or delivered. | An Approved Utility template |
| Cart recovery | A cart reminder with the live product image and a link back to checkout. Can also send a matching email. | An Approved template |
| COD → prepaid | Creates a Shopify draft invoice and injects the payment link into the message. | Growth plan or above |
| Wait | Delays the next sending node. Presets from 15 minutes to 7 days. | — |
| Conditional split | Two outputs, yes and no, based on a rule. Both branches must be wired before publish. | Growth plan or above |
| Connect to chatbot | Hands the customer to a published flow, using the latest published version at send time. | A live flow |
| End journey | Explicitly terminates a branch. | — |
How waits actually work#
A wait node is not a step of its own. Its delay is added to the next node that sends something.
- Two waits in a row add up.
- A wait at the end of a branch does nothing.
Playbooks#
Journeys ships pre-built playbooks, so you never start from an empty canvas. Each has the right trigger and nodes in place; you map your approved templates and publish.
| Playbook | Trigger | Plan |
|---|---|---|
| Order placed — confirmation | Order placed | Launch |
| Order shipped — tracking | Order shipped | Launch |
| Order delivered — review request | Order delivered | Launch |
| Cart recovery — 3 step | Cart abandoned | Launch |
| Quick 3-step follow-up | Manual | Launch |
| Cart recovery — smart (with branch) | Cart abandoned | Growth |
| COD confirm with branch | Order placed | Growth |
| COD → prepaid | Order placed | Growth |
Runtime limits worth knowing#
- Two active sequences per customer
- A customer can be enrolled in at most two running automations at once. A third enrolment is skipped rather than queued, which stops a customer receiving four unrelated ladders at the same time.
- Reply cancels remaining steps
- On by default. A customer who answers your first message does not receive the rest of the ladder. You can turn it off on the entry node, but you usually should not.
- Revenue attribution: last touch, 7 days
- An order is credited to the most recent journey touch within the previous 168 hours. The customer does not need to click your link for it to count.
- Published journeys survive a downgrade
- Plan-gated nodes stop you creating or editing a journey, but an already-published one keeps running. You just cannot change it until you upgrade again.
- Scheduled steps need the background worker
- Delayed sends are dispatched by a background process on a short cycle, not by the web app. On production this is automatic.
Reading journey analytics#
Each journey’s detail view shows per-step counts (enrolled, sent, delivered, read, clicked) and attributed revenue. The canvas can overlay those counts on the nodes, the fastest way to find where customers drop out.
Frequently asked questions
- Why is my published journey not sending?
- Check in this order: the journey is Published rather than Draft, the template it uses is Approved right now, trigger filters do not exclude the customer, and the customer has a phone number. The order detail page records a skip reason naming the exact cause.
- Do trigger filters combine with AND or OR?
- Always AND. Every active rule must be true for a customer to enter. This is why two reasonable-looking filters can exclude everybody — a minimum order value plus a specific product is a much narrower audience than it appears.
- How is recovered revenue attributed to a journey?
- Last touch within seven days. If a journey message was the most recent TopEdge touch before the order, that journey is credited. The customer does not have to click the link, which avoids under-counting people who get the reminder and then visit your site directly.
