Journey Abandoned

Fires when a patient abandons checkout for a journey. The eventType is journey_abandoned. Adds recovery_url / recovery_url_expires_at over the other journey events.

šŸ“˜

v1 and v2 payloads are identical for journey events. These are journey-native events built on the flat, sanitized payload shape — there is no separate raw-envelope form.

See Attribution Passthrough for inbound URL params, the attribution block (including for retargeting), and compliance guidance.

Field guarantees

FieldGuarantee
event_type, api_version, timestamp, journey_id, affiliate_id, template_id, patient_marketing_consent, is_returning_patient, total_value_cents, currency, productsāœ… Always present
template_display_name, journey_type, patient_id, patient_external_id, started_at, coupon_code, attributionāš ļø Conditional — omitted when the underlying data is absent
recovery_url, recovery_url_expires_atāœ… Present for this event (cart-recovery link)

Payload (v1 and v2)

{
  "event_type": "journey_abandoned",
  "api_version": "2026-08-06",
  "timestamp": "2026-05-26T12:00:00.000Z",
  "journey_id": "jour::example",
  "affiliate_id": "aff::example",
  "template_id": "jtmp::example",
  "template_display_name": "Weight Loss Program",
  "journey_type": "ONE_TIME",
  "patient_id": "pat::example",
  "patient_external_id": "ext-patient-123",
  "patient_marketing_consent": true,
  "is_returning_patient": false,
  "started_at": "2026-05-26T12:00:00.000Z",
  "total_value_cents": 4999,
  "currency": "usd",
  "products": [
    { "product_variation_id": "epv::example", "display_name": "Weight Loss Program", "quantity": 1, "unit_price_cents": 4999, "is_addon": false }
  ],
  "coupon_code": "WELCOME20",
  "recovery_url": "https://app.example.com/orders/example?token=example",
  "recovery_url_expires_at": "2026-05-27T12:00:00.000Z",
  "attribution": {
    "first": {
      "captured_at": "2026-01-04T10:22:31.000Z",
      "params": {
        "telegra_utm_source": "google",
        "gclid": "Cj0KCQexample"
      }
    },
    "last": {
      "captured_at": "2026-03-11T18:02:55.000Z",
      "params": {
        "telegra_utm_source": "facebook",
        "fbclid": "IwARexample",
        "fbp": "fb.1.1700000000.1234567890",
        "fbc": "fb.1.1700000000.IwARexample"
      }
    },
    "touch_count": 2,
    "visitor_id": "550e8400-e29b-41d4-a716-446655440000"
  }
}
FieldTypeAlways?Notes
journey_id, template_id, affiliate_idstringāœ…
total_value_cents, currency, productsmixedāœ…
recovery_url, recovery_url_expires_atstringāœ…Cart-recovery link and expiry. Treat recovery_url as a credential — its token grants access to the patient's checkout session. Don't log or persist it beyond use, don't expose it outside the recovery email/SMS, and honor recovery_url_expires_at.
template_display_name, journey_type, patient_id, patient_external_id, started_at, coupon_codemixedāš ļøPresent when the underlying data exists
attributionobjectāš ļøFirst/last-touch tracking params; omitted when the journey has none. See Attribution Passthrough.