Data Model for Contacts
Understanding Bird’s Data Model for Unified Contacts
Bird’s data model is designed to unify all customer information into a single contact profile. This profile consolidates identifiers, attributes, events, objects, and lists so you can segment, analyze, and personalize communications effectively.
The Contact: Central Object
The contact is the central object in Bird’s data model. Every contact has a Contact ID (visible in the profile URL), which uniquely identifies it within Bird.

Identifiers and Attributes
Lists
Contacts can optionally be added to one or more lists.
Being in a list allows you to group contacts for targeting.
A contact can be removed from a list, which marks them as Unsubscribed from that list.
Removal can happen manually or when a user clicks a list unsubscribe link in an email.
Adding contacts to lists:
Via Contacts API
CSV import
Manual updates
Journeys or Flows Actions
Events
Events represent actions or interactions associated with a contact. They appear as a timeline on the contact profile.
Standard (semantic) events: These are pre-defined by Bird, such as:
Ecommerce events like Placed an order, Updated cart
Message events like Message sent, Clicked message link
Custom events: user-defined actions that fit your specific use cases e.g. Opened an account, Made a transaction etc.
Creating or Updating events:
Standard events: API, SDK, integration sync, or data flows
Custom events: API, SDK, or data flows
Objects
Using the Data Model
Segmentation
You can build segments using:
Identifiers and attributes
Events (standard or custom)
Company or any related custom objects
Content Personalization
When sending campaigns or journeys, you can personalize content using:
Identifiers and attributes: available in all communications from Campaigns and Journeys
Event properties: available only in Journeys, when the trigger is that same event
Related custom object properties: available only in Journeys, when the trigger is the same related object
How to use discounts or coupons or offers for personalization?
Note that discounts are not associated with contact object directly in any way. Discounts can be stored separately under Content > Discounts by uploading a csv of discount codes in a discount object or by creating a discount code directly syncing with Shopify integration.
Uploaded or created Discounts can be used for unique discount codes only in Emails
Contacts will get Discount code assigned and Discount code failed events associated with them if a discount code is sent or failed to send for them
How to use adhoc data such as unique links for personalization?
Users can upload a csv file with adhoc data columns mapped to contact identifiers under Advanced > Additional data section.
The columns in the Additional data csv can then be used for mapping content variables in campaigns.
Summary
Bird’s unified contact profile brings together all customer data into a single view, including:
Identifiers for unique recognition
Attributes for descriptive context
Lists for subscription management
Events for behavioral tracking
Objects for relational data modeling
This structure allows you to create precise segments, automate customer journeys, and deliver deeply personalized experiences at scale.