Event schemas

Every event TryMe records. 50 types, generated from the taxonomy itself.

The envelope

Every event carries the same envelope, whatever its type.

{
  "eventId": "evt_...",
  "type": "trial.claimed",
  "version": 1,
  "merchantId": "mch_...",
  "source": "api",
  "occurredAt": "2026-06-01T12:00:00Z",
  "receivedAt": "2026-06-01T12:00:01Z",
  "idempotencyKey": "...",
  "payload": {}
}

occurredAt is when it happened; receivedAt is when we heard. They differ, sometimes by hours, and attribution windows use the first.

You can subscribe to these

A deliberately short list of events worth acting on, rather than everything the bus carries.

Type
trial.claimed
fulfillment.shipped
fulfillment.delivered
attribution.created
referral.converted
credit.created
credit.redeemed
credit.expiring
risk.blocked

There is no trial.converted. A trial converting is an attribution.created, and a second name for one thing is how two systems start disagreeing about whether it happened.

Everything we record

Type
behavior.product_viewed
behavior.cart_added
behavior.checkout_started
behavior.browse_abandoned
offer.impression
offer.clicked
offer.dismissed
campaign.published
campaign.paused
campaign.version_created
trial.claim_started
trial.claim_refused
trial.claimed
trial.reviewed
trial.expired
trial.cancelled
trial.add_on_offered
trial.add_on_selected
trial.add_on_declined
trial.add_on_converted
commerce.order_created
commerce.order_cancelled
commerce.product_updated
commerce.product_deleted
commerce.customer_updated
fulfillment.shipped
fulfillment.delivered
fulfillment.failed
purchase.completed
purchase.refunded
message.sent
message.delivered
message.opened
message.clicked
message.bounced
message.complained
referral.sent
referral.clicked
referral.claimed
referral.converted
credit.created
credit.redeemed
credit.expiring
credit.expired
experiment.assigned
experiment.exposed
attribution.created
attribution.reversed
risk.flagged
risk.blocked