Overview
Dreamdata's fundamental data model is built on an event-based approach and consists of two core entities:
- Contacts: Individual users, tracked by their email, who interact with your business.
- Companies: Organizations to which these contacts belong.
These entities are originated from source integrations or are created in the Dreamdata model based on tracked activities performed by either the contact or the company.
Contacts and companies can perform activities (also referred to as events).
This forms the basis of an event-based data model, where an activity timeline is made for each contact and company by collencting their activities over time.
Components of the data model
Contacts
A contact is an email address and can be associated with multiple companies.
If a contact is associated with multiple companies, the activity of the contact will be associated with all companies associated with that contact.
Emails are treated as a unique identifier across systems. If your primary CRM supports additional emails, Dreamdata will resolve all additional emails to the primary email for a contact.
Companies
A company is a record in your primary CRM or a web domain not already associated with a company.
Dreamdata only creates new companies when they do not already exist in a source integration.
To maintain an easy relationship between Dreamdata and your primary CRM, a company will exist for each company/account in your primary CRM. For other integrated systems, Dreamdata will try to identify and connect companies across systems. This means that companies in your other integrated systems will be linked to those in your primary CRM, ensuring that you can follow your funnel across systems with a clear reference to your primary CRM.
Events
Events represent any activities performed by or towards a contact or company.
Each event is identified by a timestamp and/or associated with a contact or company.
Some events are anonymous, meaning the contact or company performing it is unknown. Other events, we may know only the company involved but not the specific contact.
Events come in two classes: activities and exposures.
- Activities are actions performed by someone.
- Exposures are actions performed towards someone i.e. an ad was served but no-one actively did something.
Sessions
Sessions are a group of events chronologically connected in time. The typical example is a web session containing multiple page views.
When an event is imported into the Dreamdata model, it is either set as a stand-alone session or can be grouped with other events into a session.
The events that represent exposures like linkedin impressions are per definition not groupable into sessions.
Sessions are not a separate table, but rather a subset of the Events table (see schema definitions on how to retrieve only session information).
Stages
Stages are your main funnel KPIs. A stage is identified by a timestamp and the contact or company reaching the stage.
Each stage has an associated journey. The stage journey is defined by the events performed by the company or contact associated with the stage happening before the stage was reached.
A stage also has a value indicating the revenue associated with reaching the stage.
Attribution
Attribution calculations are done on the individual stage journeys. Meaning that there is an attribution value for each attribution model for each stage.
Each attribution model is applied to the same journey, but may exclude different sessions based on the setting of the individual attribution model.
Attribution is always done on session level, as attribution is an acquisition channel analysis.
Spend
Spend is meta data that is not trackable at a contact or company level, but can be connected to events via channel, source, campaign etc. in order to create reporting on activities connected to the spend.
Dreamdata collects spend data both through native integrations with ad platforms and through direct uploads. Standardizing between different formats to create easy reporting.
Primary CRM
This is typically the system used to record closed won deals/opps.
When resolving identities and associations, Dreamdata will prioritize the associations in the primary CRM over other systems.
Why an event based data model is important?
Traditional object-based data models known from CRM and MAP systems, use entities (= objects) for every type of action. This structure combined with rigid predefined fields, makes it good at answering the operational question of “What is the current status?”
However, it makes it hard to answer analytics questions requiring the historical journey, as an object usually only has the current state - not the history.
This makes traditional object-based data models a poor choice for analytics facing the complexity of modern customer journeys.
In contrast, event-based data models offer a more flexible and scalable solution for journey type analytics. An event-based data model focuses on recording individual actions or occurrences, known as events. These events can represent a wide range of customer interactions, such as website visits, email opens, app usage, and social media engagements etc.
Dreamdata employs a specialized version of an event based model aimed to capture both contact and company level activities and exposures.
This differs from most event based models that only include events on one level - either company or contact. As a B2B company you need a model including both as your top-of-funnel is usually a person whereas the bottom-of-funnel is always a company. So it is natural to ask questions that revolve around the combination of contact and companies.
What does account based data model mean?
An account-based data model integrates both contacts and companies (or accounts) as primary entities or 'first-class citizens.'
In this model, the account (or company) is considered a key entity alongside contacts. This approach allows for analyzing how individual activities aggregate to influence account-level decisions and what combination of activities (individual and collective) results in closed deals.
All activities—whether performed by individuals or at the company level—are linked back to the company. This provides a comprehensive view of the company's journey, complementing the contact-level journey typically found in B2C modeling approaches.
Maintaining visibility into contact-level activities is crucial. This specialized dual-layer approach helps businesses address questions such as: Which contacts within an account are most actively engaging? Are decision-makers involved, or is the activity primarily from lower-level contacts?
A unique feature of account-based data models is that companies can undertake activities without needing to connect them to a specific person, a capability not possible in data models focused solely on contacts.