Subscribe to Our Updates

Tracking and Measuring Your Customer Journey from Awareness to Retention

13 min

Image by
Tracking and Measuring Your Customer Journey from Awareness to Retention

Tracking and Measuring Your Customer Journey from Awareness to Retention

Effective product, marketing, and sales strategies hinge on a deep tracking, measuring and understanding of the Customer Journey. This article provides a framework for tracking and optimizing digital customer journey, from building awareness to acquisition. We’ll explore key metrics, URL tagging best practices, and analytical techniques to drive data-informed decisions.

We are not covering the entire customer journey along the sales funnel here. However, you may get a wider picture from the great Marketing Playbook by Myk Pono.

The full funnel coverage will be discussed in future articles.

Tracking and Measuring Your Customer Journey From Awareness to Retention

Understanding the DTC Sales Performance Measurement Framework #

The provided framework outlines a Direct-to-Customer (DTC) sales process, encompassing key stages from awareness to acquisition. Each stage presents opportunities for optimization and requires careful monitoring of specific metrics. 

“Marketing is the act of telling stories about the things we make—stories that sell and stories that spread.”1

—Seth Godin.

A well-defined, measured, and understood customer journey helps you craft those stories and deliver them effectively.

Customer Journey Tracking Table: A Data-Driven Approach #

The next table aligns with the provided framework, offering a structured and simple approach to tracking your customer journey. It is an example and you can easily make customization to your specific business and product offerings.

StageChannel / SourceCampaign / Ad GroupURL TagKey MetricsConversion Rate (Stage)Conversion Rate (Overall)Notes / Observations
1. AwarenessE.g., Google Ads, Social Media, SEO, Influencer Marketing, Outbounde.g., “Brand Awareness Campaign”E.g., utm_source=google&utm_medium=cpcCR1 (Conversion Ratio 1, Impressions-to-Visitors)
Total Advertising Costs
Cost-per-Click (CPC)
Agency Commission
Advertising Budget
Channel-specific Costs
CR1, aka Click-through Rate (CTR), %%Initial observations, messaging A/B testing results
2. Site / Landing VisitorsDriven by Awareness channelse.g., “Product Launch Ad Group”utm_source=facebook&utm_medium=social# Visits
# Visitors
# Average Visits per visitor
# Visits per business day
Session Duration
Bounce Rate
CR2 (Visitors-to-Leads)
CR2, aka Visitor-to-Lead Conversion Rate, %%Website traffic analysis, landing page effectiveness
3. LeadsGenerated from Site Visitors and/or Awareness Channelse.g., “Lead Magnet Campaign”utm_source=website&utm_medium=organic# Total Leads
# Leads per Business Day
B2C Leads & B2B Leads
CR3 a, b, c (MQLs, SQLs, PQLs: qualified leads)
CPL (Cost per Lead)
#Leads by Channel (calls, orders, bot, email, recommendations)
CR3a, b, c: Lead qualification rates for MQLs, SQLs, PQLs, %%Lead quality assessment, channel optimization, and lead nurturing strategies
4. New CustomersConverted from Leadse.g., “Sales Qualified Leads”N/A# New customers
# Users per 1 customer (B2B)
CR4 (leads/new customers)
CAC (Customer Acquisition Cost)
UAC (User Acquisition Cost for B2B)
Tariff-specific data
Segment-specific data
CR4: Lead-to-Customer Conversion Rate, %%Customer segmentation, acquisition cost analysis
5. All Customers (Including New)Growth Over Timee.g., “Customer Retention Program”N/A# of Customers (B2B)
# of Users
Average # of Users per Customer
Region-specific data
Country-specific data
Customer Retention Rate (CRR), %
Dollar Customer Retention Rate (DRR), %
%Customer demographics, geographic analysis
6. RevenuesGenerated from Customerse.g., “Product Sales Campaign”N/ARevenue generated, Average Revenue per User (ARPU)Sales performance analysis, pricing strategy
7. Lead RejectionsAnalysis of Lost Opportunitiese.g., “Rejected Leads Feedback”N/AReasons for rejection (expensive, lack of value perception, unmet expectations, competitor preference)Lead Rejection Rate, %%Feedback analysis, sales process improvement
8. Customer ChurnLoss of Existing Customerse.g., “Churn Reduction Initiative”N/A# Customers Left
# Users Left
Share of Clients Left, %
Share of Users Left, %
$$ Left
Share of $$ Left, %
Customer Churn Rate, %
User Churn Rate, %
Dollar Churn Rate, %
%Churn analysis, customer retention strategies

URL Tagging: Precision in Tracking #

Consistent and accurate URL tagging is crucial for effective Customer Journey analysis. An URL (Uniform Resource Locator) is a web address that specifies the location of a resource on the Internet. Think of it as the digital equivalent of a street address. It is guiding browsers to websites, images, documents, or other online content.

Utilize URL parameters and Urchin Tracking Module (UTM) codes to granularly track your campaigns and sources. This allows you to understand which digital channels are driving the most valuable traffic and conversions.

URL Parameters #

URL parameters (or query strings) are key-value pairs added to the end of a URL after a “?”. They provide additional information to the server or track data for analytics. For example:

https://example.com/search?query=shoes&sort=price
  • Key-Value Pairs: query=shoes and sort=price.
  • Separator: & is used to separate multiple parameters.
  • Purpose: Used for filtering, searching, or tracking user activity.

UTM Parameters #

UTM parameters are a specific type of URL parameter used to track the effectiveness of online marketing campaigns. They help identify where traffic is coming from and how users interact with your content.

Example:

  • utm_source: Identifies the source of the traffic (e.g., google, facebook, newsletter).
  • utm_medium: Identifies the medium (e.g., cpc, social, email).
  • utm_campaign: Identifies the specific campaign (e.g., summer_sale, product_launch).
  • utm_term: Identifies the keywords or search terms (for paid campaigns).
  • utm_content: Identifies the specific ad or content (for A/B testing).

Example UTM URL:

https://example.com/products?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
  • Source: facebook (traffic is coming from Facebook).
  • Medium: social (marketing medium is social media).
  • Campaign: spring_sale (part of the Spring Sale campaign).

Key Differences

  • URL Parameters: General-purpose, used for passing data to the server or tracking.
  • UTM Parameters: Specialized for tracking marketing campaign performance.

Why Use UTM Parameters? #

  1. Analytics: Track which campaigns drive the most traffic or conversions.
  2. Optimization: Identify effective channels and refine marketing strategies.
  3. Attribution: Understand user behavior and measure ROI.

Tools like Google Analytics use UTM parameters to provide detailed insights into campaign performance. 

URL Tagging Best Practices #

  • Consistency: Use a consistent naming convention for your UTM parameters across all channels.
  • Specificity: Be as specific as possible with your campaign names and sources to allow for granular analysis.
  • Lowercase: Use lowercase consistently to avoid issues with case sensitivity.
  • UTM Builder: Utilize a UTM builder tool. Many are available online, including plugins for WordPress. These tools help generate your URLs accurately and efficiently.
  • Google Analytics: If you’re using Google Analytics, make sure your UTM parameters are set up correctly. This will provide more detailed insights.

Unveiling Insights #

Analyzing your customer journey data requires more than just looking at individual metrics. First, visualize your data using tools like Sankey diagrams. These diagrams represent the flow of users through different stages of your customer journey. They highlight drop-off points and areas for improvement. The diagram was named after Captain Sankey. He created a diagram of steam engine efficiency. It used arrows having widths proportional to heat loss.

Consider also using frameworks like Cohort Analysis to understand how customer behavior changes over time. 

Creating a Sankey Diagram for Customer Journey Analysis: #

  1. Data Preparation: Organize your data to represent the flow between stages. Each stage should be a node in the diagram, and the connections between stages represent the flow of users. The thickness of the connection indicates the volume.
  2. Tool Selection: Several tools can create Sankey diagrams. Consider Google Charts, Excel/Google Sheets Add-ons, or dedicated data visualization libraries in Python (e.g., Plotly, Matplotlib).
  3. Visualization: Input your prepared data into the chosen tool. The Sankey diagram will visually depict the customer journey flow. It will show the volume of users at each stage. It will also illustrate the transitions between them.
  4. Interpretation: Analyze the diagram to identify bottlenecks or drop-off points. Where are users abandoning the journey? This visual representation makes it easier to understand complex flow data.

Example Sankey Diagram for the Tracking Table #

Let’s imagine a simplified version of the tracking table and visualize it as a Sankey diagram. The data in your table directly translates to the flows in the Sankey diagram. Each row represents a path through the stages:

ChannelOutreach by ChannelSite Visitors by ChannelLeads by ChannelNew Customers by ChannelTotal Customers
Advertisements10002001005070
Mailing10001005020

To create a Sankey Diagram from this table use the following approaches.

Excel/Google Sheets #

  1. Organize and Verify Data: Ensure your table has clear columns representing the stages (e.g., Outreach, Site Visitors, Leads, New Customers). Each row should represent a channel (e.g., Advertisements, Mailing). Values in the cells indicate the quantity flowing between stages.
  2. Add-ons/Plugins: Search for and install a Sankey diagram add-on or plugin. Popular options include (may require a payment for a license):
    • Excel: e.g., Sankey Diagram for Excel, ChartExpo
    • Google Sheets: e.g., ChartExpo, SankeyMATIC, Lucidchart
  3. Select Data: Use the add-on/plugin’s interface to select the data range from your table. Specify which columns represent the source, target, and value.
  4. Customize: Adjust settings like colors, labels, and node widths as desired.
  5. Generate: Click the “Generate” or “Create” button to create the Sankey diagram.

Google Charts (for Tech Savvy Users) #

  1. Open Google Chart for Developers: https://developers.google.com/chart/interactive/docs/gallery/sankey, and read how to visualize the Sankey Diagram with Google Chart and JavaScript.
  2. Go to JSFiddle: https://jsfiddle.net/
  3. Provide the Code: Use HTML to create a container for the diagram. Write JavaScript code using the Google Chart functions to create and configure the Sankey diagram. You may also use AI engines to do it for you.
  4. Run Code: Save the code in a JSFiddle and run it to display the Sankey diagram.

 For example, paste the following code into HTML section and hit Run to get the Sankey chart as shown below:

Click to expand
<!DOCTYPE html>
<html>
<head>
  <title>Sankey Diagram with Conversion Ratios</title>
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  <script type="text/javascript">

    google.charts.load('current', {'packages':['sankey']});
    google.charts.setOnLoadCallback(drawChart);
    function drawChart() {
      var data = new google.visualization.DataTable();
      data.addColumn('string', 'From');
      data.addColumn('string', 'To');
      data.addColumn('number', 'Weight');
      var rows = [
        ['Advertisements (1000)', 'Site Visitors (Ads: 200)', 200],
        ['Mailing (1000)', 'Site Visitors (Mailing: 100)', 100],
        ['Site Visitors (Ads: 200)', 'Leads (Ads: 100)', 100],
        ['Site Visitors (Mailing: 100)', 'Leads (Mailing: 50)', 50],
        ['Leads (Ads: 100)', 'New Customers (Ads: 50)', 50],
        ['Leads (Mailing: 50)', 'New Customers (Mailing: 20)', 20],
        ['New Customers (Ads: 50)', 'Total Customers (70)', 50],
        ['New Customers (Mailing: 20)', 'Total Customers (70)', 20]
      ];
      data.addRows(rows);
      // Calculate conversion ratios
      var ratios = {
        'Site Visitors': {
          'Ads': 200 / 1000,
          'Mailing': 100 / 1000
        },
        'Leads': {
          'Ads': 100 / 200,
          'Mailing': 50 / 100
        },
        'New Customers': {
          'Ads': 50 / 100,
          'Mailing': 20 / 50
        }
      };

      // Add ratios to node labels

      var newData = new google.visualization.DataTable();
      newData.addColumn('string', 'From');
      newData.addColumn('string', 'To');
      newData.addColumn('number', 'Weight');
      for (var i = 0; i < rows.length; i++) {
        var from = rows[i][0];
        var to = rows[i][1];
        var fromStage = from.split(' (')[0]; // Extract stage name
        var fromChannel = from.includes('(Ads:') ? 'Ads' : (from.includes('(Mailing:') ? 'Mailing' : null); // Extract channel
        var toStage = to.split(' (')[0];   // Extract stage name
        var toChannel = to.includes('(Ads:') ? 'Ads' : (to.includes('(Mailing:') ? 'Mailing' : null); // Extract channel
        var fromRatio = ratios[fromStage] && ratios[fromStage][fromChannel] ? ' (' + (ratios[fromStage][fromChannel] * 100).toFixed(0) + '%)' : '';
        var toRatio = ratios[toStage] && ratios[toStage][toChannel] ? ' (' + (ratios[toStage][toChannel] * 100).toFixed(0) + '%)' : '';
        newData.addRow([from + fromRatio, to + toRatio, rows[i][2]]);
      }

      var options = {
        width: 900,
        height: 500,
        sankey: {
          node: {
            width: 15,
            padding: 10
          },
          link: {
            colorMode: 'gradient'
          }
        }
      };

      var chart = new google.visualization.Sankey(document.getElementById('sankey_basic'));
      chart.draw(newData, options);
    }
  </script>

</head>
<body>
  <div id="sankey_basic" style="width: 900px; height: 500px;"></div>
</body>
</html>

Sankey Diagram Interpretation #

The Sankey diagram for this data would visually show:

  • 1000 users entering the “Outreach” stage for both “Advertisements” and “Mailing”.
  • In regards to Advertisements:
    • 200 prospects (20% conversion) moving to the “Site Visitors” stage.
    • 100 prospects (50% conversion) moving to the “Leads” stage.
    • 50 prospects (50% conversion) moving to the “New Customers” stage.
  • In regards to Mailing:
    • 100 prospects (10% conversion) moving to the “Site Visitors” stage.
    • 50 prospects (50% conversion) moving to the “Leads” stage.
    • 20 prospects (40% conversion) moving to the “New Customers” stage.

The diagram would clearly highlight the drop-off points at each stage. For example, a significant drop-off between “Site Visitors” and “Leads” might show issues with lead capture forms. It could also suggest problems with content relevance.

The exact steps for creating a Sankey diagram will vary depending on the tool you choose. Consult the tool’s documentation for specific instructions.

For more complex tracking tables with multiple channels and campaigns, the Sankey diagram can become more intricate. Consider using interactive tools that allow users to drill down into specific segments of the data.

Why is a Sankey Diagram Often a Better Choice for Visualizing a Customer Journey? #

Other charts, e.g., using bars, are useful for showing snapshots of metrics at each stage. Sankey diagrams excel at visualizing the dynamic flow and transitions of customers throughout the stages. It makes them a powerful tool for visualizing a Customer Journey. They help identify bottlenecks, understand user behavior, and communicate insights more effectively.

Tracking and Measuring Your Customer Journey From Awareness to Retention

The bar chart effectively shows the absolute number of users at each stage for each channel. However, it doesn’t visually represent the flow from “Outreach” to “Site Visitors.” It also fails to show how many users from “Advertisements” became “New Customers” compared to “Mailing.”

A Sankey diagram would be better because it would:

  • Clearly show the 200 users from “Advertisements” flowing into “Site Visitors,” visually demonstrating the conversion rate.
  • Visually represent the separate paths of “Ads” and “Mailing” users as they move through the stages.
  • Emphasize the relative contribution of each channel to the final “New Customers” count.

It’s important to note that Sankey diagrams also have limitations:

  • Complexity: Can become cluttered and difficult to interpret. Especially, when dealing with a very large number of stages or highly complex flows.
  • Less Precise for Exact Values: Ribbon thickness is not always as precise for determining exact values as a bar chart.

Key Point: Choose the visualization that best suits the specific insights you want to extract and communicate.  For CJM, the flow and transitions are often the most critical aspects to highlight.   

Conclusion: Continuous Optimization #

Tracking and optimizing the customer journey is an ongoing process. Regularly review your data, experiment with different approaches, and iterate based on your findings. By embracing a data-driven approach, you can significantly improve your conversion rates and drive sustainable growth.


💬What challenges do you face in tracking and optimizing your customers’ journey? Share your experiences and best practices in the comments below! Subscribe to our newsletter for more insights on product strategy and management.

  1. Seth Godin, “Tribes: We Need You to Lead Us,” Portfolio, 2008. GoodReads. URL: https://www.goodreads.com/work/quotes/3873014-tribes-we-need-you-to-lead-us. ↩︎

Updated on February 19, 2025
What are your feelings

Leave a Reply

Your email address will not be published. Required fields are marked *