Lapse

How Lapse Works

Lapse turns something that should have happened and did not into an event. A journey opens on an entry event, closes on an exit event, and emits a new event when the window runs out first.

One shape

Every journey has the same shape:

When an event happens, but another event does not happen within a window, emit a new event.

That covers cart abandonment (added, never bought), checkout drop-off (started, never paid), forms started and never submitted, quotes without orders, and trials without activation. The Journeys page offers templates for the first three; Blank lets you define any other.

PartWhat it isCart example
Entry eventThe thing that happened. It opens a journey for that visitoradd_to_cart
Exit eventsThe things that should have followed. Any one of them closes the journey with no signalpurchase
WindowHow long Lapse waits for an exit event35 minutes of inactivity
Emitted eventThe event Lapse sends when the window runs out firstcart_abandoned

How events reach Lapse, and where the signal goes

Lapse sits between two Echo destinations:

  1. Inbound: an Echo destination of type Lapse forwards the property's events to Lapse. Without it, no journey ever runs.
  2. Outbound: the emitted event (for example cart_abandoned) enters Echo as an ordinary event. Every Echo destination whose event filter includes that name, or that forwards everything, receives it: a CRM through a Custom destination, an ad platform, or Lens. Observer monitors and Activate audiences can use it like any other event.

Both links fail silently if they are missing, so the dashboard, the Journeys list and the editor all check them and show a red warning when:

  • the property has no enabled Lapse destination;
  • the Lapse destination's event filter leaves out an event an active journey needs (its entry, exit and refresh events, plus session_start);
  • no destination is listening for a journey's emitted event.

Lapse never re-enters its own output: an event that Lapse emitted cannot open or extend a journey. Bot filtering is set on the Lapse destination in Echo (Exclude bot traffic), not on each journey; when it is on, bot events never reach Lapse.

Windows

ModeThe clockUse it for
Inactivity (sliding)Restarts on every event Echo forwards to Lapse for that visitor, and runs out when they go quietCarts and checkouts, where a shopper who keeps browsing has not abandoned yet
Fixed (from entry)Starts at the entry event and never restartsDeadlines, such as "no activation within 7 days of signing up"

The window can be 1 minute to 43,200 minutes (30 days).

An inactivity window can only see the events Lapse receives. If the Lapse destination forwards only cart events, someone browsing with a full cart looks idle. Forward page_view too, or forward everything.

Visitor sessions end after 30 minutes without activity. An inactivity window shorter than that can call a journey abandoned while the visitor is still in the same session and might come back. That is right for a form (10 minutes of silence on a half-filled form means they left) and usually wrong for a cart, where 35 minutes or more is the norm. The editor explains this when you pick a short window.

Identity

Track By decides whose journey it is:

OptionWatchesConsequence
Session (sid)One sessionA cart abandoned on Monday and bought on Wednesday still counts as abandoned on Monday
Device (cid)One browser or deviceComing back later on the same browser closes the journey. Nothing carries across from phone to laptop
User (uid)One logged-in user across devicesOnly events that carry a user ID count. Anonymous visitors never enter the journey

Resolved early

When a visitor starts a new session, their previous session is over. Lapse uses that: instead of waiting out the rest of the timer, it emits the signal straight away. The dashboard counts these as Resolved Early. This needs session_start forwarded to Lapse; without it, only the timer ever fires.

The snapshot

Echo handles each event once, so Lapse keeps a copy of the entry event while the journey is open: its value, currency, items, campaign and identifiers. The emitted event is that copy with a new name. Whatever the snapshot holds is all the signal will ever carry.

  • Refresh The Snapshot On replaces the copy with a newer event, such as a later add_to_cart or view_cart. Without it, a cart entered at $40 and abandoned at $260 is reported at $40.
  • Accumulators go further and build values across all of the journey's events, such as the full list of items in the cart or a running cart total. See Journey Settings.

The emitted event also gets:

AddedWhat it holds
A new event IDSo downstream platforms do not treat the signal as a duplicate of the entry event
TimestampThe moment Lapse decided the journey lapsed
Extra Static AttributesYour constants, as ep.<key>
Accumulator resultsEach as ep.<name>
_lapseThe journey ID, the original entry event time, how it resolved (timer or new_session), and when it was emitted

A journey can check the visitor's consent before it signals. At emit (the default) checks consent at the moment the signal would fire, which can be well after the visitor left. At entry uses consent as it was at the entry event, so a visitor who withdraws consent during the window is still signaled. Not checked applies no check in Lapse; destinations may still apply their own. A journey that lapses without the required consent sends nothing and is counted as Suppressed For Consent on the dashboard.

Status

StatusRuns
Draft - not runningNo
Active - runningYes
Paused - stopped, keeps configNo

Only Active journeys run, and only on the property they were created in.

Plan limits

Your plan sets how many journeys the company can define. A new journey over that limit cannot be saved; editing an existing journey is never blocked, even if the company is over its limit. Signals emitted are counted per calendar month as plan usage. Lapse does not stop emitting signals when a count is reached.

Terms

TermMeaning
JourneyA rule watching for an entry event that is not followed by an exit event in time
SignalThe event a journey emits when it lapses
LapsedThe window ran out before an exit event arrived
CompletedAn exit event arrived in time, so no signal was sent
Not legal advice

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.