How does Dreamdata track all relevant on-site customer data?

How does Dreamdata track all relevant on-site customer data?

It is only with accurate data that B2B companies can finally decloak their long and complex customer journeys.Dreamdata’s revenue attribution platform enables B2B companies to capture and use this data. Our out-of-the-box, no code technology gathers, joins, and cleans all revenue related data, to present transparent, actionable analysis on what actually drives B2B revenue.

At the core of our product lies our data collection process, which enables our customers to track and collect first-party data.

This consists of both data captured by CRM, product support tools, and analytics tools, as well as, behavioural on-site data tracked and gathered by Dreamdata’s script.

It is this second part (the Dreamdata script) that we’re focusing on here.Below we’ll cover the most frequently asked questions about our class-leading tracking:

  • What is meant by first-party data?
  • How does Dreamdata track users?
  • Where is Dreamdata storing the data?
  • Are Ad Blockers a problem for Dreamdata’s tracking?
  • Does Dreamdata’s tracking slow down site loading times?
  • Does Dreamdata rely on other data sources? 
  • Can Dreamdata track across (sub)domains?
  • Does Dreamdata (the company) have access to our data?
  • Does the script track across different devices?
  • What about GDPR?
  • What if I stop using Dreamdata?
  • What is meant by first-party data?

The aim of Dreamdata’s tracking is to gather and store as much (relevant) information on users, and what they do on your site, as possible.

All data that is gathered by the Dreamdata analytics script (more on this below) is known as first-party data. But what exactly is first-party data?

You are most likely familiar with the term third-party data, which rears its head on pretty much every cookie related pop-up.

Well, third-party and first-party data are the two main data classes that businesses, especially marketers, depend on for customer information. What sets these apart is where they are sourced.

First-party data, which is what our tracking helps gather, is defined as: 

“Data you collect directly from your customers based on how your customers use your products or services. This includes information on which products a customer views or purchases from you, how often they visit your website or mobile app, and even data that’s stored in your CRM. For the most part, your customers understand that you are collecting this data—for instance, providing it via a form completion—and expect that you use it to provide an intuitive user experience as they continue to engage with you going forward.” (Segment)

Although Dreamdata also gathers data from integrated tools, such as CRM, in this post we’re focusing on the behavioural on-site data tracked by our analytics script.

How does Dreamdata track users?

Dreamdatas script tracks and identifies users coming onto your site.

Already using Segment? Dreamdata will use the data captured by segment analytics - so you can jump to the next section. 

By any measure the Dreamdata script is very light. This is because the script uses ‘async’ to load another heavier script. The reason we use this nimbler script on your site, is so we don’t block the loading of the rest of the page (more on this in the ‘does Dreamdata’s tracking slow down my loading time’ below 👇)

The script loads in browser when the user visits the website, using both cookies and browser local storage to store information identifying the user.

Now, to the point. 

The script’s objective is twofold: (1) gather as much user behaviour as possible. (2) link this behaviour to an identified user.

To achieve this, Dreamdata relies on these two identification functions: analytics.track and analytics.identify - called by our ‘auto-identify-form’ or manually by your frontend developers. See more on this here.

Let’s take a closer look at how exactly these two objectives are met.


Dreamdata’s behavioural data tracking starts from the moment a user comes onto your site (accepting ‘statistics cookies’) - whether through paid ads, direct, or organically.

*Make sure to have UTMs on all links and ads to your site, as this will allow you to complete the tracking and learn more about your users’ journey. Check out how to do this here*

Every tracking journey begins by assigning an anonymous ID to all users who interact with your website. The anonymous journey is stored in a database (see ‘Where is Dreamdata storing the data’ below for more on this), awaiting later association to an email, company, etc.

analytics:track then records users’ interactions with your site, e.g. reading a blog post or subscribing to a newsletter, as well as any properties that describe that action.

  • It’s important to name your events, with the action the user takes, and assign the properties to that event.
    For example, an event might be: "event": "Newsletter Subscription". Or if you’re A/B testing, the property might be: "experiment_name": "Homepage headline two"

The stored data will eventually be converted from an anonymous user to an identified user - complete with all relevant details (email, company, etc.). 

*Good to know - the script is written in such a way that consecutive visits from the same browser (even after turning off the computer) are always tracked.*


At the same time analytics:identify starts assigning ‘traits’, such as first name and email, to users’ actions. 

Initially these are tied to the anonymous ID for users who have not yet been identified. And later, after an ID event, to the assigned user ID.

The ID event could be a user: 

  • Signing up to a newsletter;
  • Purchasing a product; 
  • Logging into a service, both as the first from a company or by invite from a colleague post-purchase; or
  • Triggering an ‘IP lookup’

From the ID event, the user’s details can then start being populated accurately and securely. Including, the user’s associated company (i.e. where they work). It is here when the account based buyer journey can start being mapped.

Multi-touch account based user journeys

In summary, our script takes an anonymous ID (ajs_anonymous_id), identifies an event, and creates a user ID (ajs_user_id) complete with a variety of user details.

It’s at this point that Dreamdata’s magic starts to happen.

As users are associated with their companies, we start combining these individual journeys into one joined company (account) journey. From which we can paint a holistic picture of the user journey, and so be able to tell a story about key events:

  • When did we see the company appear anonymous on our website the first time?
  • When did the company identify initially?
  • When did they start paying for the first time? 
  • What lifetime revenue has derived from this company?
  • When did the company end up churning?

Have a listen to this great podcast to learn more about what you can do when mapping your customer journey.

Are ad blockers a cause for concern?

According to Statista, almost 30% of all internet users have an ad blocker installed on their browser. This is hardly surprising given the amount of intrusive ads interrupting users. No one appreciates having half their screen consumed by ads.

Ad blockers are also crucial in preventing undesirable third party marketing cookies from aggressive tracking behaviour.

However, this can have an impact on first-party tracking too. These ad blockers might even prevent analytics scripts such as Google Analytics and Dreamdata's from loading. Because of this, these more aggressive ad blockers will prevent tracking. Without tracking we are unable to collect behavioural data and ultimately add vital information to the user journey on our platform. 

Don’t fret, this can be circumvented. 

By loading your analytics script from your own domain you can sidestep the risk of ad blockers blocking the script from being loaded. This way you get to see the interactions of users who are using ad-blockers which will give you the insights you need to complete the customer journey.

Where is Dreamdata storing the data?

All the analytics data collected by our script from your users will be stored on our Google Bigquery (our cloud data warehouse).

But this doesn’t mean we hoard your data. Dreamdata allows our clients access to their own data - and of course, at no cost!

Does the script slow down site loading times?

No! That’s what’s so great about our script.

The (not so) secret lies in the script’s ‘async’ function. That is, the script sitting on your site includes an ‘async’ function which loads our larger script (the one actually doing all the analytics) in the background. 

All of this happens independently of your own page loading, meaning no delay in your loading time.

Does Dreamdata rely on other data sources? 

As mentioned in the introduction, Dreamdata gathers data from two main sources: tools already in use (CRM, product support tools, and analytics tools), and, behavioural on-site data tracked and gathered by Dreamdata’s script - the topic of this post.

To identify the user Dreamdata’s script - through the analytics:identify function - handles almost all cases (see identification above). However, there are some cases where we cannot identify the user’s company through the information they have provided in ‘ID events’.

In these cases Dreamdata might reverse look-up the user and match their IP address to a company.

Does the script function across (sub)domains?

Yes. By default our analytics script can match the data across all subdomains.

However, the same does not apply to separate domains. First party cookies regard only one domain (and all related subdomains). You cannot get data across domains. If you own both domains then you can track this user in both of them, separately.

Does Dreamdata (the company) have access to our data?

Yes. Dreamdata has access to all the data.

The reason for this is that the data collection is only one part of Dreamdata’s product. Our platform then joins and cleans all the data - including data from your commercial techstack - to present transparent, actionable analysis.

Does the script track across different devices?

Yes. Dreamdata’s script tracks and identifies multiple devices per user. 

In fact, this forms part of the user identification process (set out above). All the devices used by an individual user will (eventually) be linked to identified users once an ID event takes place.

For example:

  • A user first identified herself on Device 1 (e.g. work computer) when booking a demo.
  • The user then signs up to the newsletter on Device 2 (e.g. home computer).
  • Then the user, who we now know to be ‘Anne Smith from ProSales’, opens and clicks through newsletter emails via Device 3 (e.g. mobile device).

This user will then have all three devices associated with her.

We will continue to link devices to users through the lifespan with your company. This includes correcting attribution and customer journeys after the fact that the deals were closed.

What about GDPR?

You are probably already informing your customers about your usage of cookies. As Dreamdata also uses cookies it's important you update your cookie policy and your cookie consent message to include Dreamdata. 

Here is an overview of all our cookies:

If you are not already using a cookie message service here are a few to consider that work with Dreamdata: Legalmonster (free/paid) or CookieBot (free/paid)

What if I stop using Dreamdata?

If you decide to stop making use of Dreamdata’s revenue attribution platform, your data will be deleted, and you will no longer be able to access the platform.

How did we do?