How to create a B2B customer journey map

Library > Customer Journey Map

Written by Maimouna Corr Fonsbøl

Published on 20 October 2026

TL;DR: Create a B2B customer journey map by choosing one business question, collecting the relevant touchpoints, and arranging them by account, person, and time. Add clear buying stages, identify friction, and assign actions.

The result should help you decide what to change in your campaigns, content, or sales handoffs.

1. Choose the question your map should answer

 

Imagine one person at a target account attends your webinar, a colleague reads a comparison page, and a third requests a demo. A map built around the demo lead would miss much of that story.

An account-based map brings those recorded interactions together so you can understand how the buying group engaged before and after entering your pipeline.

 

Agree on these basics

  • Your business question: for example, why engaged target accounts stop before booking a meeting, or which content buyers use during evaluation.

  • Stage owners: agree with marketing, sales, and RevOps on the events that mark meaningful progress.

  • Relevant sources: start with CRM accounts and opportunities, then add the website, campaign, event, and sales activity needed to answer your question.

  • Account matching: agree how contact IDs, company domains, and CRM account IDs connect the records. Check subsidiaries and shared domains.

Write down the purpose

 

For example, “We will map target accounts from their first recorded engagement to a qualified opportunity to understand where webinar follow-up breaks down.”

That gives you a clear account group, start and end points, and a decision: what to change after the webinar. Keep this statement beside the map as you add detail.

 

Set the start and end points

  • For acquisition, map first recorded engagement through pipeline entry and closed-won. Include lost and stalled accounts so the picture covers more than successful journeys.

  • Include the activity relevant to your question: web visits, ads, email, events, sales conversations, and opportunity changes.

  • For onboarding or expansion, extend the map with product and customer-success activity. Give those stages their own definitions and owners.

 

2. Collect the touchpoints that explain the journey

 

Create an inventory of the records you can identify, timestamp, and connect to an account.

For the webinar example, that could include registration, attendance, follow-up clicks, website visits, sales conversations, and opportunity creation. Keep missing sources visible so you can distinguish a quiet account from an incomplete record.

 

Use these fields in your inventory

  • Source system

  • Touch type

  • Timestamp and time-zone convention

  • Account identifier (domain/company/account ID)

  • Person identifier (email/contact ID when known)

  • Channel

  • Campaign (normalized naming if possible)

  • Conversion flag (yes/no + conversion type)

Work through the sources

  1. List the tools holding the relevant activity: your CRM, marketing automation, ad platforms, website tracking, and event system.

  2. Choose meaningful event types. Separate a webinar registration from attendance, and a meeting booking from a completed meeting.

  3. Define identifiers: what ties a touch to an account, and what ties it to a person when known.

  4. Use a consistent time zone. Remove duplicate imports of the same event while preserving genuine repeat visits.

  5. Decide how offline touches enter the dataset: CRM activities, event uploads, or logged sales actions.

Check the gaps

  • Early activity: does the timeline begin at a form submission because earlier visits were not captured or have not been connected?

  • Sales activity: are the relevant meetings and calls recorded with the right account and date?

  • Campaign labels: can you recognize the same campaign across the event system, email platform, and CRM?

Dreamdata's integrations and B2B tracking bring recorded activity into an account-based data model. That model is the foundation for automated collection and attribution: it connects contacts, companies, and touchpoints with pipeline and revenue. Review a familiar account to check how the connections work with your own data.

 

3. Build account timelines and keep the people visible

 

Start with a small set of accounts your team knows. Include successful, lost, and stalled journeys from a similar segment so the comparisons are useful. Read them with sales and RevOps to identify missing activity and learn what was happening between the recorded events.

 

Build your first timelines

  1. Choose a manageable sample of accounts with different outcomes. Keep segment, deal size, and journey maturity in mind when comparing them.

  2. Group touches by account: keep the account as the parent record.

  3. Keep a thread for each known person. Label activity without a known person clearly, and include it in an account timeline only when the account match is supported.

  4. Sort by time: one chronological timeline per account.

  5. Summarize the recorded contacts, channels, and time to key stages. Use these to explore differences between accounts rather than set arbitrary targets.

  6. Note when new people enter the journey and what happens before an account moves forward or stalls.

Add these details to each timeline

  • Date

  • Touch type

  • Channel

  • Campaign

  • Stakeholder (or “unknown”)

  • Stage label (temporary; you’ll formalize rules next)

  • Notes (for example: objection, intent page, or “data gap”)

Here is an example of an account journey: a marketing manager attends a webinar on January 8. Their colleague visits your comparison page on January 20. Sales completes a meeting on February 3. And, finally, a qualified opportunity is created on February 10.

Keep the events on one timeline while showing the two people separately. Dreamdata's Customer Journeys brings account and contact activity together so you can inspect those sequences.

A winding path links email, search, social, web, and goal touchpoints across a sliding-tile board.

4. Add stages and find friction you can address

 

Use stages to summarize progress without hiding the underlying events. In the example, webinar attendance could mark engagement, while the CRM's agreed opportunity criteria mark pipeline entry.

A page visit can suggest interest; it does not prove the buyer's intent or readiness by itself.

 

Document how your stages work

  • Stage names and entry/exit criteria

  • Qualifying events: what counts as meaningful engagement per stage

  • Unidentified activity: when a supported company match can contribute to the account view, and when the activity remains unassigned.

  • Multiple stakeholders: how activity from different contacts appears within the account, without treating each person as a separate deal.

  • Re-entry: how you label stalled → re-engaged accounts

Turn observations into a fix list

  1. For each stage, list the activity buyers use and the questions they still need answered. Add context from sales conversations or customer interviews.

  2. Check expected channel coverage against your campaign records. If webinar attendees received follow-up emails but no clicks appear, investigate the data before concluding the emails failed.

  3. Find long pauses and ask what happened around them. A pause after a pricing discussion may suggest a different problem from a pause before sales ever made contact.

  4. Investigate stage changes with little visible activity. They may reflect an offline conversation, missing tracking, or a CRM mapping issue.

  5. Assign an owner and a measure to each proposed fix. For example, clarify a comparison page and monitor the share of relevant accounts that reach a meeting.

Marketing can own campaign and content changes, sales can add buyer context, and RevOps can maintain the definitions.

In Dreamdata's Data Hub, check the records selected by your stage rules before using them in reports. Journey mapping explains the sequence of activity; attribution assigns credit to eligible touchpoints so you can compare channel and campaign contribution.

 

5. Turn the map into campaign actions

 

Choose one finding that your team can act on. Set a starting measure, an owner, and a review date. For the webinar example, you might test a more useful follow-up offer if suitable attendees repeatedly stop before a meeting.

 

Three actions to consider

  1. Re-engage suitable accounts before pipeline entry
       â—¦ Audience: target accounts with relevant engagement and no open opportunity, using criteria your team has checked.
       â—¦ Action: offer a useful next step through an audience synced to a supported ad platform.
       â—¦ Measure: qualified meetings or opportunity creation for the selected account group. Use a comparison or holdout where feasible to test additional impact.

  2. Improve the handoff when interest returns
       â—¦ Finding: an account becomes active again after a quiet period, with new campaign engagement or visits to relevant pages.
       â—¦ Action: give the account owner the recent activity and known contacts so follow-up addresses the buyer's current questions.
       â—¦ Measure: completed meetings and subsequent pipeline progression, alongside feedback on the quality of the handoff.

  3. Help the buying group evaluate the offer
       â—¦ Finding: sales conversations show that another role, such as Finance or IT, needs evidence before the deal can move forward.
       â—¦ Action: provide content that answers that role's questions and make it easy for your contact to share internally.
       â—¦ Measure: whether the identified questions are answered and the account progresses. Additional tracked contacts can provide context, but are not a success metric on their own.

Check each action before launch

  • Define audience criteria in plain language, then translate into filters.

  • Define exclusions (customers, open opportunities, or Sales-owned accounts based on your process).

  • Choose a supported audience destination that fits the campaign. Review the account list and the platform's matching requirements before syncing.

  • Assign someone to monitor audience size and quality, and confirm the refresh behavior of the selected sync.

  • For a sales handoff, agree who receives the information, where they receive it, and what follow-up is expected.

Dreamdata's Audience Hub lets you define audiences using account properties and engagement, then sync them to supported ad platforms.

You can also send selected pipeline conversion events through conversion syncs to help platforms optimize for outcomes further down the funnel. Use attribution reporting to follow campaign contribution, and check account quality with sales as the campaign develops.

 

Keep the map useful

  • Monthly: review the actions, unexpected stage changes, and audience definitions. Keep a record of what changed and why.

  • Quarterly: refresh the account sample and update the map as campaigns, buying behavior, and available data change.

 

Build a first version you can use

 

Choose one question, map a small group of accounts, and review the journeys with sales. Agree on one change that could help suitable accounts progress, then define how you will assess it. You will have a useful first map when it supports a specific campaign, content, or budget decision.

FAQs

 

1. Should a B2B customer journey map be lead-based or account-based?

 

  • Use the account as the main view and keep individual contacts visible inside it. B2B purchases often involve several people, so a single lead's activity gives you only part of the story. Connecting their recorded interactions helps you understand the journey toward the same opportunity.

 

2. Can you map the journey when early visitors are anonymous?

 

  • Yes, but distinguish what you know about a person from what you know about a company. Earlier recorded visits may connect to a known contact after identification, while supported company matching can place some activity at account level. Keep unmatched activity separate and supplement the map with customer interviews and self-reported answers.