Abandonment Event Logic

Simon supports a variety of derived events which are primarily used for various forms of abandonment campaigns:

  • Abandoned cart
  • Abandoned search
  • Abandoned browse

Abandoned cart campaigns are a common way to reach customers who put something in their cart, but never completed checkout; and similar for customers who abandon a search session or a product listing browse session. You can use Flows or Journeys to create these campaigns, and there is some logic to be aware of as you design your campaign.

Global abandonment rules are:

  • abandoned_cart always gets sent
  • abandoned_search should always be sent as long as there hasn’t been a complete_transaction or add_to_cart in the last 48 hours
  • abandoned_browse should always be sent as long as there hasn’t been a complete_transaction, add_to_cart, or abandoned_search in the last 48 hours
  • Any abandoned_cart cancels out any pending abandoned_browse or abandoned_search event; abandoned_search should cancel any pending abandoned_browse event

How cart and browse abandonment interact in flows

The global rules above determine whether an event is fired. When you build flows off of both cart and browse abandonment, there's additional behavior worth understanding: a contact can enter both journeys simultaneously depending on event order.

When cart suppresses browse

If a contact triggers an abandoned_cart event, Simon will suppress any pending abandoned_browse event within the 48-hour window — but only if the browse journey has not yet been entered. If the contact is already active in a browse journey when the cart event fires, Simon does not automatically remove them from it. They may receive both the browse and cart messages.

What this means in practice

ScenarioOutcome
Cart event fires, browse event fires afterContact enters cart journey only; browse event suppressed
Browse event fires first, cart event fires afterContact may be active in both journeys simultaneously
Both events fire at the same timeBehavior depends on event processing order — not guaranteed

Recommended approach

If you need to guarantee mutual exclusivity between cart and browse journeys, add an explicit entry suppression segment to your browse journey that excludes contacts currently active in your cart journey. This gives you full control over the suppression logic regardless of event timing.