Customer Data Platform mini-course #2: Send events to your tools
The exact same data. Into any of your tools.
Hey everyone, welcome to the 2nd edition of this series of posts about Customer Data Platforms.
If you’ve missed it, here’s what we discovered in the 1st edition:
Customer Data Platforms are useful to collect « events ».
There are 3 main types of events:
The
track
event: to track user behaviorsThe
identify
event: to collect user attributes (phone, email…)The
page
event: to know all the pages your users visited.
You collect events from different sources of data. Those sources can be:
Your website
Your mobile app
Your product
3rd party tools
Sending your event to destinations:
This is what a CDP user interface looks like:
It’s pretty straightforward: we have sources (on the left, where data comes from) and destinations (on the right) where data will be sent.
Adding a new tool is as simple as:
Clicking “add a destination”
Connecting your CDP to the new destination using your API credentials (the CDP will guide you to this)
That’s pretty much it.
The 5th different types of destinations:
When it comes to tools, there are actually only 5 types of destinations you can send data to:
Email marketing tools
Analytics tools
CRMs (and customer support tools)
Advertising platforms
Data warehouses or databases
So, let’s see what happens when we send events to those tools!
1. Email marketing tools
You can send data from your CDP to tools like:
Then send some emails, SMS, push notifications, or in-app messaging to your customers.
The more targeted those messages are, the better!
And that’s why sending data from your CDP is helpful: you can target your communications depending on what users did with your product and their attributes.
My favorite emailing tool is Customer.io: let’s see what happens when you connect Customer.io to a CDP.
1. The Identify
event will create or update users
When you send an identify event to Segment, it will either create or update customers in your emailing tool.
Here’s what my profile looks like in Ulysse’s Customer.io. All the attributes you see have been created by an Identify
event from the CDP at some point.
2. The track
events let you trigger campaigns based on user behaviors
Track events performed by your users will be sent to their profile in your mailing tool as well.
Thanks to this, you can trigger and segment campaigns based on the past users’ actions in your product.
For instance here, we’re able to personalize emails with information about the last destination the user searched.
The user behaviors (track
events) are sent to the CDP first. Then, the CDP is in charge of replicating this data to your tools.
☝️ As you can see,
page
events are also sent to the same place. This can be also useful to address more relevant messages to your users or prospects.For instance, you can send an outreach message to prospects who visited your pricing page more than 5 times in the last 30 days to push for conversion.
Customer.io is also capable of sending:
Text messages (SMS)
WhatsApp messages
Push notifications
Giving us many possibilities to personalize multi-channel campaigns, at scale!
2. Product analytics tools
Again, what’s nice with CDPs is that you only have to do the setup once to send data to any tool you need.
That means you can also replicate all your events to product analytics tools such as Amplitude, Mixpanel, or June — with one click! Let’s see how it goes.
For analytics, track
events are the most important.
Using a tool like Amplitude will help you understand how many users performed a certain track event, and the conversion rates between each event.
Here are all the track
events we’ve just seen in Customer.io but replicated this time into Amplitude:
Having something like this will give you a big picture of your product:
What are users mostly doing?
Where are they stuck?
What are the most common “paths” they’re taking?
I.e: what event B is the most performed after event A…
Anyone in the company can easily:
Know what to work on (prioritization)
Follow the impact of any change made impacting users
Create a one-off analysis to quickly answer questions:
You can easily create any analysis by looking at what events were performed by users, in which order, on which device…
All you have to do is select those events, place them into the order you’d like, and the chart will create automatically!
Similarly, you can connect tools like Google Analytics
3. CRMs
I think you get the idea now! CRMs interact similarly with CDPs than email marketing tools. Meaning that:
Identify
calls will create and update your contacts (leads/users) and their attributes.Track
calls will send the behaviors and actions your users performed to those contacts.
Also, this is quite similar for customer support tools like Intercom and Zendesk. You can create/update customers by sending an Identify
event and send their activities using track
.
Create and update accounts (companies), using the Group
call
But what’s more interesting with CRMs is that you can follow how an entire company interacts with yours using the CDPs’ group
call.
(As a reminder, the group
call is an equivalent of the identify
call, but for a group of users. Meaning you create/update a company, and its attributes).
It makes a ton of sense for B2B SaaS for instance, where different people from the same company can use your product, and be involved in the buying processes.
→ You can ‘group’ those users together, to understand how engaged the company is (instead of just one user).
Please note:
Product analytics often accept the
group
calls as well, so you can create an analysis for accounts instead of users (again, super relevant for B2B SaaS).Not all tools accept the
group
call (for instance, Customer.io doesn’t).
But I would not advise you to begin using a CDP with group
calls. Here’s why.
At the end of the day, when you’re communicating with someone, whether it’s:
An email
A phone call
An SMS, WhatsApp message, or a push notification
An ad
You are always talking only to one person.
So following its behaviors, having attributes about this person (only), and personalizing messages as much as possible already is a good start.
Account-based motion can be super powerful, but if you’re just getting started, it might add more complexity than needed.
4. Advertising platforms
You can also send your CDP events to advertising platforms, such as Facebook Ads or Google Ads.
Again, you’ll mainly use track
events to say to Facebook/Google “user who saw this ad performed the signup
event, you can count a conversion”.
Device mode VS cloud mode (for any destination)
Looking at Segment’s destinations documentation, you’ll always see a little chart that looks like this:
I often see people overlook it but it can make some important difference for your setup.
In “cloud mode”, your CDP will:
Send data from your website to its servers
To then send this from its servers to your destinations
For example:
Segment is loaded on your website, it collects data from there, and sends it to its servers
Then Segment will send this data from its servers to Amplitude using Amplitude’s API.
Amplitude is not loaded on your website.
In “device mode”, your CDP will:
Load your destination’s “library” on your website (add additional code).
Send data directly from your website to your destination.
For example:
Segment is loaded on your website, it collects data from there
Segment also loads Amplitude on your website
Amplitude receives data from your website directly, even though it’s loaded through Segment. Segment is acting similarly to Google Tag Manager in this situation.
You’ll have to choose between cloud and device mode for all your destinations.
It is especially important for advertising destinations, now that there are many restrictions for 3rd party scripts loaded into your website (cookies, ad blockers, iOS14, GDPR).
I am always recommending cloud-mode, to reduce the number of scripts loaded to your website/app and thus increase performance.
If you want to learn more, you can check my previous post about the 3 levels of tracking.
About non-available destinations
Sometimes, you’ll want to use a tool that is not available in your CDP’s “destinations” list.
For instance, I really love Plausible, which is a simple and privacy-friendly alternative to Google Analytics.
Unfortunately, Plausible is not (yet) available as a Segment destination.
As we’ve seen, one of the goals of using a CDP is to have everything centralized, and clean, with all data flowing to the same place at one time.
This means that ideally, you don’t want to independently install new scripts on your website/app (appart from your CDP).
So here’s the trick: you can add Google Tag Manager as a Segment destination.
This way, all your Segment events will be “translated” to the GTM’s data layer, which will then replicate the same data to any tool.
→ With GTM, you can add any script to your website (in device mode — by adding a custom HTML tag), so you can virtually send Segment’s data to any of the tools you want by installing it through GTM.
The tricky thing is: technically, you can also add Segment as a GTM destination. I.e: install GTM on your website, and then install Segment through GTM.
But again, I would not recommend doing this as Segment is more robust than GTM and supposed to be the source of truth for all your data. It’s risky to use GTM this way, and you will end up with my nightmare: bad data pipelines. 😱
5. Warehouses & databases
Last but not least for today… You can also send your event data from your CDP to a data warehouse, such as Snowflake or BigQuery (or databases).
If you’re not familiar with how warehouses work, you can imagine a mega Excel file with several sheets where our events will be replicated.
Then you can query the warehouse data using SQL.
Advantages of connecting a warehouse
1. Data persisting over time
One big advantage of having a warehouse connected to your CDP is your data persists in one place.
→ If you just send your events from sources to your destination, sure your data will be available in the destinations. But nowhere else. That’s pretty uncomfortable.
Whereas if your warehouse is connected, you have all the historical data from all your events available under your hands.
Segment will also keep your data, but if you want to ‘replay’ your events (i.e: send old events to your tools) you’ll have to pay an extra fee.
2. Merging data from other tools and your own database
Second, you can also send raw data (not events) to your warehouse, from any of your tools, using an “ETL” like Fivetran.
For example, you can send companies from your HubSpot to a big ‘Company’ table in your warehouse.
You can also send data from your own database to query not only ‘events’ performed by users (behavioral data from Segment) but anything available in your database.
Having all this data centralized together will help you to get a big picture of any data generated by your customers. From Segment events to your own database and 3rd party tools.
Let’s see how events will be translated to a warehouse (it’s pretty straightforward).
1. The « Identifies » table will show you user-related information
Quite simple. You can imagine something like this, will all your users’ attributes available.
2. The « Tracks » table will show you all the events your users performed
Again, simple! You this huge table creating one more row each time a user performs a track
event.
Finally, the CDP → warehouse connection will act similarly for any other type of event (page
, group
...)
All you have to remember… 💭
That’s it for today guys! Now you know how to send and use your track
, identify
, and page
events into your favorite tools.
As you can see, the simple fact of having track
and identify
events will unlock most of the use-cases for any of your tools.
Here’s a brief summary:
Identify
events: create/update customers’ attributes in any toolsTrack
events: follow user behaviors, and maybe: trigger marketing/sales actions from them.
As you’ve probably remarked, there are several “ids” related to one user or event (first two columns of the last screenshot — anonymous_id
, user_id).
That’s one important aspect of CDPs: how do you manage users’ identities?
And guess what? This is exactly what we’ll dive into in the next edition!
See you there,
Victor
hi,Victor,
Really thanks for your sharing, all your articles are so useful for me!
Do you know the platform Clearbit, Can it be categorized as a CDP platform?
Thank you for this great post, again!
About « I am always recommending cloud-mode », we do not always recommending cloud-mode (Server) only, but sometimes both device-mode and cloud-mode (Browser+Server) when the vendor is « smart » enough and can manage in particular events deduplication. This is the case for Meta for example, given the Meta Pixel sends strong signals (but this may change in the future).