Overview
Dreamdata’s fundamental data model contains two entities: contacts and companies.
These entities are originating from source integrations or are created in the Dreamdata model based on tracked activities performed by either the contact or the company.
Contacts or companies can perform activities (= events).
This forms the foundation of an event-based data model, where an activity timeline is made for each contact and company by collecting what they did at a given time.
Contacts
A contact is an email 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 makes new companies if they are not already made 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 systems Dreamdata will try to identify companies across systems. So companies in your other integrated systems will be connected to companies in your primary CRM, ensuring that you can follow your funnel across systems with a clear reference to your primary CRM.
Events
Events are any activities performed by or towards a contact or company.
It is identified by a timestamp and/or a contact or company.
Some events are anonymous meaning we don’t know either the contact or the company performing the event. Other events we know only about the company, but not the contact.
Events come in two classes: activities and exposures. Activities are actions performed by someone whereas exposures are performed towards someone i.e. and 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 refers to the fact that you in addition to contacts also include companies (or accounts) as ‘first class citizens’.
In addition to contacts, the account (or company) is a primary entity How do individual activities roll up to influence account-level decisions? What combination of activities (individual and collective) leads to closed deals?
All activities - whether performed by individuals or on company level - are tied back to the company. This enables a holistic view of the account's journey in addition to the contact’s journey that you will often find in B2C modelling approaches.
At the same time it’s also important to retain visibility into contact-level activities. This specialized dual-layer approach enables businesses to answer questions like: Which contacts within the account are engaging most actively? Are decision-makers engaging, or is the activity primarily from lower-level contacts?
A special feature of account based data models is that companies can do activities without it necessarily being connected to a specific person. This is not possible in data models based purely on contacts.