Opening the editor
Go to Lapse > Journeys. Under Start a New Journey, pick a template card, or use the icons in a journey's Actions column to edit, clone or delete it. You need edit access to the property to see these controls.
| Template card | Title | Entry | Exit | Refresh on | Window | Emits |
|---|---|---|---|---|---|---|
| Cart ("Added, never bought") | Cart Abandonment | add_to_cart | purchase | add_to_cart, remove_from_cart, view_cart | Inactivity, 35 min | cart_abandoned |
| Checkout ("Started, never paid") | Checkout Abandonment | begin_checkout | purchase | add_shipping_info, add_payment_info | Inactivity, 35 min | checkout_abandoned |
| Form ("Started, never sent") | Form Abandonment | form_start | form_submit | none | Inactivity, 10 min | form_abandoned |
| Blank ("Define it yourself") | empty | empty | empty | none | Inactivity, 35 min | empty |
A template only pre-fills the editor. Nothing records which template a journey came from. Clone opens a copy with " - Copy" added to the title and the status set to Draft.
Event pickers
Event pickers list the event names actually seen on this property, read from the events Echo sends to Lens. Pick from the list rather than typing: a misspelled event name means the journey never fires. Choose Custom... to type a name that is not listed, and click Rescan to read the list again.
If the property has no Echo destination of type Lens, the list is empty and the editor says so. Journeys still work; type the event names by hand.
Details
| Setting | Default | What it does |
|---|---|---|
| Title | none (required) | Up to 200 characters |
| Description | empty | Notes for your team |
| Status | Draft - not running | Active - running is the only status that runs. Paused - stopped, keeps config stops it without losing anything |
Entry: the thing that happened
| Setting | What it does |
|---|---|
| Entry Event (required) | The event that opens a journey for a visitor |
| Only When | Optional conditions on the entry event's fields. With none, any entry event enters the journey |
Exit: the thing that should have followed
| Setting | What it does |
|---|---|
| Exit Events (required, at least one) | Click Add after picking each one. Any one of them closes the journey with no signal |
| Only When | Optional conditions on the exit event's fields. With none, any exit event closes the journey |
Conditions
Click + Add Condition, then pick a field, an operator and a value. Every condition needs a field and a value.
| Operator | Matches when the field |
|---|---|
| equals | is exactly the value |
| not equals | is anything but the value |
| contains | contains the value |
| not contains | does not contain the value |
| begins with | starts with the value |
| ends with | ends with the value |
| regex | matches the regular expression |
Snapshot: what the signal will carry
The emitted event is a copy of the entry event. Refresh The Snapshot On lists events that replace that copy with a newer one whenever they fire, so the signal describes the cart as it was when the visitor left, not as it was at the first add.
Window: how long we wait
| Setting | Default | What it does |
|---|---|---|
| Mode | Inactivity (sliding) | Inactivity (sliding): the clock restarts on every event Echo forwards to Lapse. Fixed (from entry): the clock starts at the entry event and never restarts |
| Length (required) | 35 minutes | 1 to 43,200 minutes (30 days) |
The panel restates the window in words, warns when an inactivity window is shorter than the 30-minute session timeout, and warns when the Lapse destination is not forwarding page_view. See How Lapse Works.
Identity: who we are watching
| Track By | Default | Watches |
|---|---|---|
| Session (sid) | Yes | One session |
| Device (cid) | One browser or device | |
| User (uid) | One logged-in user across devices; events without a user ID never enter |
Emit: the signal we produce
| Setting | What it does |
|---|---|
| Emitted Event Name (required) | The name of the event Lapse sends, for example cart_abandoned |
| Extra Static Attributes | Key and value pairs added to every signal as ep.<key>. Click + Add Attribute. Keys are required and up to 100 characters. The snapshot's own data already comes across, so list only constants |
| Accumulators | Values built from several of the journey's events (below) |
Below these fields the panel checks your Echo destinations and says whether anything is listening for the emitted event name.
Accumulators
An accumulator collects one field from the journey's events into the signal. Without accumulators, the signal carries whatever the last snapshot event carried. Click Add Accumulator, fill in the fields, then list the events that contribute to it with Add Event, choosing an operation for each.
| Field | What it does |
|---|---|
| Name (required) | The result is added to the signal as ep.<name>. Starts with a letter; letters, digits and underscores only; up to 64 characters; unique within the journey |
| Source (required) | The event field to read, such as ep.items or ep.value |
| Key field | For lists of items: the field that identifies one item, such as item_id. Required when any event uses upsert or remove |
| Sum field | Optional. For lists of items: a number field to add up rather than replace, such as quantity when each add sends only the quantity added |
| Max items | Optional. Caps how many items the result keeps |
Each event can appear once per accumulator, with one operation:
| Operation | Works on | Effect |
|---|---|---|
append_array | Lists | Adds the event's items to the list |
upsert | Lists | Adds the item, or replaces the item with the same key. With a sum field, adds to its quantity |
remove | Lists | Removes the item with the same key. With a sum field, subtracts the quantity and drops the item at zero |
replace | Lists or single values | Overwrites the whole result, for an event that carries the complete current state, such as view_cart |
add, subtract | Single values | Running total |
max, min | Single values | Largest or smallest value seen |
first, last | Single values | The earliest or latest value |
count | Single values | How many contributing events arrived |
append | Single values | Keeps every value |
set | Single values | Keeps every distinct value |
One accumulator cannot mix list operations (append_array, upsert, remove) with single-value operations; use two accumulators. Events are applied in the order they happened. A list result is sent as JSON text. When a journey has a list accumulator, the signal also carries ep.cart_source: authoritative when a replace event set the final list, accumulated when it was built from individual adds and removes. If the list grew too large to store in full, the signal carries ep.cart_truncated.
Example: a full abandoned cart and its value.
| Accumulator | Source | Key field | Sum field | Events |
|---|---|---|---|---|
items | ep.items | item_id | quantity | add_to_cart: upsert, remove_from_cart: remove, view_cart: replace |
cart_value | ep.value | add_to_cart: add, remove_from_cart: subtract |
Consent and Bots
| Setting | Default | What it does |
|---|---|---|
| Consent Is Checked | At emit - re-check when the signal fires | At entry - use consent as it was at the entry event: a visitor who withdraws consent during the window is still signaled. Not checked: no check in Lapse |
| Required Consent | none | The consent categories the visitor must have granted: analytics, marketing, personalization, functional. Hidden when consent is not checked. Leave all unchecked for no consent gate |
Bot filtering is not a journey setting. Turn on Exclude bot traffic on the Lapse destination in Echo > Destinations.
Click Save Journey to save, or Cancel to go back to the list.
Save rules
A journey is refused, with the reason shown, when:
| Rule | Message (summary) |
|---|---|
| No title, or over 200 characters | Title is required |
| No entry event, no exit event, or no emitted event | An entry event, at least one exit event and an emitted event name are required |
| An exit event is the entry event | The journey would resolve instantly |
| The emitted event is the entry event | It would re-enter its own journey |
| The emitted event is an exit event | The signal would close the journey it came from |
| Window 0 or less, or over 43,200 minutes | Must be between 1 minute and 30 days |
| A condition without a field or value | Every condition needs both |
| An attribute without a key | Every attached attribute needs a key |
| An accumulator breaks a rule above | The message names the accumulator |
| A new journey over your plan's journey limit | The limit message from your plan |
If the journey saves but cannot be published, you see "Journey saved, but publishing it failed" and stay on the editor. The journey will not run until a save succeeds, so save again. The same applies to deleting: if the delete is stored but not published, the journey may keep running until a later save or delete succeeds.
TagPipes monitors, configures and reports. It does not determine legal compliance and does not provide legal advice. Output is informational and reflects observed state at the time of observation. Confirm any regulatory interpretation with your counsel.