Fires when a subscription is cancelled. The eventType is subscription_cancelled. Category: COMMERCE.
Deduplicate on event_id. Money is integer cents. This is not a new purchase — do not attribute it as one.
Field guarantees
| Field | Guarantee |
|---|---|
subscription_id, subscription_status | ✅ Always present |
total_value_cents, currency | ⚠️ Conditional — may be absent when the subscription has no amount/currency set |
plan_type, first_purchase | ⚠️ Added by the v2 sanitizer when the subscription can be joined to a checkout order |
attribution | ⚠️ Omitted when no tracking data was captured |
journey_id | ⚠️ Omitted when no journey relationship is resolved |
Payload (v2)
{
"event_type": "subscription_cancelled",
"event_id": "evt::example",
"api_version": "2026-08-17",
"timestamp": "2026-05-26T12:00:00.000Z",
"timestamp_epoch": 1779796800,
"affiliate_id": "aff::example",
"patient_id": "pat::example",
"patient_external_id": "ext-patient-123",
"patient_marketing_consent": false,
"is_returning_patient": false,
"subscription_id": "esub::example",
"subscription_status": "pending-cancel",
"total_value_cents": 4999,
"currency": "usd"
}| Field | Type | Always? | Notes |
|---|---|---|---|
subscription_id, subscription_status | string | ✅ | |
total_value_cents, currency | number/string | ⚠️ | Absent if the subscription has no amount/currency |
attribution | object | ⚠️ | See Attribution Passthrough. |
