Keep every email interaction on one contact. Store unlimited contacts.
Identity, typed attributes, consent, product events, and engagement history on a single durable record that segments and flow filters read directly. Unlimited on every tier.
✓Unlimited contacts on every tier, including free.
One person, current context
Activity
AllEmailsEventsFlows- trial.activatednow
- Entered Onboardingrunning
- Welcome to Northstardelivered
[ 01 / 03 ]What lives on the record
Everything you'd otherwise keep in a second database.
Keep identity coherent
Upsert by email with typed attributes. No duplicate profile per list or audience.
Store the context that explains them
Product events and attributes that say where someone actually is in the journey.
Respect suppression automatically
Unsubscribe, complaint, and bounce state applied at the moment of dispatch.
[ 02 / 03 ]Why it holds up
A contact is a record, not a billing event.
Charging by list size makes deleting your own history the rational move. Here, keeping an address costs nothing, so the record stays complete and the segments stay honest.
- Attributes update in place instead of duplicating a contact into another audience.
- Suppression state follows the contact into every send path, including transactional.
- Engagement is materialised on the record, so segments filter on it with no join.
- Lifetime history survives log retention — a pruned log never shrinks a contact's counters.
One person, current context
Activity
AllEmailsEventsFlows- trial.activatednow
- Entered Onboardingrunning
- Welcome to Northstardelivered
Questions people ask us
Keep the customer context your next message needs.
Import a real list, watch the engagement fill in, and build one segment from it.