How to Draw a Customer Data Flow Diagram

The difference between teams who can do customer data management effectively and those who can't is how well they understand how their tools, teams & data work together.

The most effective method we've seen for understanding communicating these relationships internally is a data flow diagram.

By "effective customer data management" we mean teams who can take the hard challenges (and the fun, whizzy stuff) in their stride. Challenges like:

Rome wasn't built in a day. You need to understand how it comes together brick-by-brick; how each of the components slots together - or doesn't!

The problem with describing how customer data flows is explaining many relationships between many nodes in a network. Like describing your entire local subway network it is both difficult to talk about or write down, as it is to listen or read. You need to see it.

What type of data flow diagrams should you use?

Data flow diagrams are one of many data visualization methods, specifically a network diagram for displaying relationships between "nodes" in a network.

The DataVizCatalogue has a brilliant summary of what data viz methods are most appropriate for each use case, including for network diagrams (like your tools, tracking & databases).

Importantly, your customer data flow diagram is a directed network diagram. The same customer data doesn't (usually) flow in both directions. For instance, you might send lead & product usage data into Salesforce but send opportunity and deal data from Salesforce. What goes in-and-out are not equivalent.

undirected-vs-directed-network-diagram

In the example whiteboard diagram above, we didn't illustrate this. For conferences, we've used portable whiteboards & logo magnets to quickly ask teams how their tools come together at a high level. This is helpful for showing the value prop of Hull - "and then Hull goes right in the middle here" - but it doesn't help us explain how the data moves. The very next call with each lead & prospect is to build this out.

Unless you're doing a quick sketch (like we do at conferences), you need to draw directed network diagrams.

Relationships between your data objects (the hidden details)

In B2B, most teams will have some notion of a "company" and a "person". A prospect (person) might be an employee of a target account (company).

This is a simple hierarchy, and supported by most tools:

  • Salesforce Accounts have Salesforce Contacts
  • HubSpot Companies have HubSpot Contacts
  • Intercom Companies have Intercom Users

But if there's anything more complex than that, it's important to understand how these relationships too since not all of this logic will perfectly map and translate.

Just as Facebook Custom Audiences, Optimizely, Customer.io, and others don't recognize "companies" (instead, you can just append related company attributes to the person's being synced there), other tools might not understand your custom objects. For instance, a person might buy ("has") a product - this needs to be reflected and 'translated' across all your tools & databases.

You need to understand the relationships (and hierarchy, if it matters). Your data objects form a hidden "third dimension" to or layer behind your data flow diagrams.

person-company-network-diagram

Drawing your data flow diagram

There's a lot of moving parts within your data flow diagram. It takes some planning & listing to illustrate the complexity of how it comes together.

To start, a pen & paper or whiteboard can be a good place to sketch your network before pulling into a graphical or data visualization tool like.

But...

First, list all your tools, tracking & databases

Before diving into making a pretty picture, lay out the elements you need to pull together - all your team's tools, tracking scripts, and databases of any kind that host customer data.

This should be beyond just your CRM and marketing tools. Remember, customer data is cross-functional. You need to build a customer data integration strategy for your entire company, not just a silo within it.

Common tools we see teams need that host customer data:

  • CRM for sales (including person, company & opportunity/deal objects)
  • Marketing automation (including person & company objects)
  • CRM for support & ticketing
  • Data enrichment
  • Live chat for your website (sales & marketing)
  • Live chat for your product (support, product marketing & customer success)
  • Website analytics tracking tool
  • Product analytics tracking tool
  • Products backend operational database
  • Data warehouse
  • Ad audiences (for ad networks)
  • Web audiences (for website personalization)
  • Billing & subscription tooling
  • Accounting
  • Subscription analytics

TL;DR: You should name the full list of tracking scripts, tools, and databases your company uses, and the team which owns each of them.

Identify your "core" tools & databases

Whilst each team (particularly marketing) may own & operate several different tools, there's likely to be a some "core" tools that act as the source of truth and central repository for each of these teams. For instance, your CRM for sales, accounting software for finance, and backend database for product & engineering.

These tools are at the heart of your network diagram - the "pillar tools" - and should be drawn in first.

These tools also tend to have more advanced data models and support more data objects (like sales opportunities in your CRM).

TL;DR: From your list of tools, tracking & databases, highlight the core tools and the data objects tied to them.

Identify your integration methods

For many tools, tracking & databases, there might be native integrations which are controlled within each tool themselves. For others, you may have alternative methods which have different behaviors and are managed elsewhere:

  • Custom scripts
  • Zapier zaps
  • Segment source-to-destination

Best practice is to annotate the directional arrows with a smaller icon of the (non-native) integration method behind used.

First, it highlights how and where the integration is managed. Teams shouldn't assume they can view or update the integration's behavior in the same way as a native integration.

Second, it highlights that the behavior is different. For instance, Segment integrations are a strictly one-way paradigm (Source-to-Destination), not a bi-directional sync (like HubSpot's Salesforce integration for instance).

TL;DR: Make sure to annotate any integration method outside of a native integration (like a Zapier zap).

Now map the integrations between your core tools & databases

For each of your team's core tools, map how they do (or don't) talk to each other. For instance:

  • Sales CRM
  • Marketing's core lead management tool
  • Support's CRM & ticketing tool
  • Product & engineering's core backend database
  • Finance's accounting software
  • Your data warehouse (if you have one)

It can help to group key tools by behavior to organize your collection of tools. One suggestion to try according to the four types of tool integration behaviors:

  • At the top, put your key tools which host lead & customer profiles for each key team or channel. It can help to put these tools roughly in order of your customer lifecycle (marketing-to-sales-to-support).
  • On the right, put any data enrichment & computation tools
  • On the bottom, add any incoming-only tools (like tracking, form capture, billing)
  • On the left, add any outgoing-only tools (like Slack, ad audiences)
  • In the middle, put your core "single source of truth"

Make sure you use directional data flow diagrams. Annotate each arrow with the data you need to clarify what data is flowing. This is the center of your data flow diagram.

With each of these, annotate any additional data objects supported by them beyond people & companies.

Next, add "fringe" tools in your network owned by individual teams

From your list of tools, tracking & databases, add your fringe tools to the data flow diagram by connecting them into your core "pillar" tools and databases.

Don't expect everything to connect to everything else, but you should be able to see how data and "states" (like Email unsubscribed) can be transmitted across your network of tools.

Data flow diagram examples from Hull users

Here's a data flow diagram example of Hull's own stack. Ironically, we're in the midst of making a number of changes to our stack, So this version of our data flow diagram (November 2018) is pretty incomplete and inaccurate.

How should we improve this?

  • More tools We should add our product, engineering & finance stack (like Quickbooks, Metabase, our Hull in-product implementation, analytics & BI stack and so on)
  • More detail We should explain what data is going in and out along each arrow
  • More description about how each integration works

At Mention, they presented their data flow diagram internally as an interactive Prezi presentation showing how data moves through the stack across the customer lifecycle. Here's a copy of that presentation.

Similarly, at Drift they've presented their growth stack showing how they combine different types of data to engage target accounts. This is a higher level, external presentation from GrowthHackers Conference.

Use your data flow diagram to break down individual data integration projects

With your data flow diagram laid out, you can pick and choose individual nodes (tools) in your network to connect. It becomes much simpler to breakdown data integration projects into smaller tasks.

Let's take Hull's own example - today, we have to sync data about our leads & prospects to Outreach through Salesforce.

We're working on an Outreach connector to enable us to trigger cadences (with event-powered segments) & personalize templates (using any User & Account attribute) more precisely directly from Hull without having to complicate our Salesforce setup.

We also want to track our engagement data back from Outreach into Hull so we can progressively profile both people and companies moving through the buying journey.

Try creating your own teams data flow diagram

You can sketch out v1 in a coffee break.

And your v1 alone will make you start asking all the right questions.

To help get you started, follow the process here. But one quick helper is having your tool logos ready to go. If you want to grab our files that we use to power our integrations, website, and data flow diagrams, click here.

Did you learn something new?

The Hull Crew researches how to "join the dots" between your tools, teams & data to share best practices with our own customers. Subscribe to follow along more articles like this to learn the latest trends, tactics & techniques.

Ed fry
Ed Fry

'Ed of Growth at Hull, working on all things content, acquisition & conversion. Conference speaker, flight hacker, prev. employee #1 at inbound.org (acq. HubSpot).

If you've questions or ideas, I'd love to geek out together on Twitter or LinkedIn. 👇