Skip to main content
Subtotal delivers the following custom events to Braze via the users.track endpoint. Each event can be used to trigger campaigns, build segments, or power Canvas journeys.

subtotal_purchase

Triggered when a purchase is detected for a connected account. Sent for each historical purchase and for any newly detected purchases.
KeyTypeDescription
purchase_idstringIdentifier for the purchase
totalstringThe grand total paid by the customer
taxstringThe sales tax that was paid
subtotalstringThe subtotal of the purchase
item_countnumberThe number of items in the purchase
retailerstringIdentifier for the retailer where the purchase was made
upcsarrayThe UPCs associated with each item in the purchase
brandsarrayThe brands associated with each item in the purchase
sourcestringAlways "subtotal"
Example

subtotal_account_connected

Triggered when a consumer links a retail account.
KeyTypeDescription
connection_idstringIdentifier for the connection
retailerstringIdentifier for the retailer
sourcestringAlways "subtotal"
Example

subtotal_account_disconnected

Triggered when a consumer disconnects a retail account.
KeyTypeDescription
connection_idstringIdentifier for the connection
retailerstringIdentifier for the retailer
link_urlstringThe Link URL that can be used to reconnect the account
sourcestringAlways "subtotal"
Example

subtotal_connection_unauthenticated

Triggered when an active connection becomes unauthenticated and requires the customer to reauthenticate (e.g. after a retailer password change).
KeyTypeDescription
connection_idstringIdentifier for the connection
retailerstringIdentifier for the retailer
link_urlstringThe Link URL that can be used to reconnect the account
sourcestringAlways "subtotal"
Example

subtotal_connection_reauthenticated

Triggered when a consumer re-authenticates a previously unauthenticated connection.
KeyTypeDescription
connection_idstringIdentifier for the connection
retailerstringIdentifier for the retailer
sourcestringAlways "subtotal"
Example

Profile Created

Triggered the first time Subtotal captures a consumer’s profile for a connection — their identity details and purchase metrics scoped to your brands. Use it to enrich Braze user profiles with first-party retail identity.
KeyTypeDescription
connection_idstringIdentifier for the connection
first_namestringConsumer’s first name (null if unavailable)
last_namestringConsumer’s last name (null if unavailable)
emailstringConsumer’s email address (null if unavailable)
mobilestringConsumer’s mobile phone number (null if unavailable)
postal_codestringConsumer’s postal code (null if unavailable)
account_created_datestringWhen the consumer’s retailer account was created (ISO 8601; null if unknown)
total_purchasesnumberAll-time number of purchases on the connected account
last_purchase_datestringDate of the most recent purchase (ISO 8601; null if none)
brand_purchasesnumberNumber of those purchases matching your brands
last_brand_purchase_datestringDate of the most recent brand purchase (ISO 8601; null if none)
brand_purchase_ratenumberbrand_purchases ÷ total_purchases, from 0.0 to 1.0
sourcestringAlways "subtotal"
Example

Profile Updated

Triggered when a previously captured profile changes — for example an updated email or postal code, or when new purchases shift the brand-purchase metrics. Carries the same properties as Profile Created.
KeyTypeDescription
connection_idstringIdentifier for the connection
first_namestringConsumer’s first name (null if unavailable)
last_namestringConsumer’s last name (null if unavailable)
emailstringConsumer’s email address (null if unavailable)
mobilestringConsumer’s mobile phone number (null if unavailable)
postal_codestringConsumer’s postal code (null if unavailable)
account_created_datestringWhen the consumer’s retailer account was created (ISO 8601; null if unknown)
total_purchasesnumberAll-time number of purchases on the connected account
last_purchase_datestringDate of the most recent purchase (ISO 8601; null if none)
brand_purchasesnumberNumber of those purchases matching your brands
last_brand_purchase_datestringDate of the most recent brand purchase (ISO 8601; null if none)
brand_purchase_ratenumberbrand_purchases ÷ total_purchases, from 0.0 to 1.0
sourcestringAlways "subtotal"
Example