Customer Journey Report improvements

Journey reports are challenging when trying to dial in on the time it takes to complete the steps in a journey.
Current Restrictions/Limitations
Only one way to control the time range of the journey (sure we can do a static range or rolling time range), it is still only one time setting.

  • Other analytics tools we use have additional levels of time parameters, the lack of this in Hubspot journeys limits the value we get out of the reports.

Lacking stat of median time between steps; we only see the average time between steps

Inability to refine time parameters on each step of the journey.

Control that the action was done the 1st time since the previous step (and then stop recording the event on that report for that contact)

-----

Further details
We want to look at anyone who would enters the journey up to 30 days ago. THEN, we want to know, of those contacts, who completed the steps in the journey within 10 days of entering the journey.

  • If a contact ‘qualified’ to be in the journey but dropped off before completing within 10 days, that’s an interesting stat along with the ‘success’ rate of those that did complete within the 10 days.

IF we limit the journey report date range to only include 10 days, we are NOT capturing the entire cohort of interest (like anyone who was sent the email in the last 30 days).

IF we try to use the contact filter or apply a list to capture the cohort for the 30-day range, this doesn’t work either. The reason being the date range on the report is set to 10 days because we want to know who completed the journey within 10 days, we will still only ‘see’ the contacts that did the first step in that 10-day range (even though we want to look at a cohort of contacts that did the first step in the last 30 days).
------

Median is good to see in addition to Average. OR at least allow us to decide which we prefer to see for each step.
-----
We should be able to refine the parameters between each step as well and control how those actions are counted. (refinements)

  • IF we are using a custom event or a page view, a person may do those events multiple times while in the time range of the journey.
  • It appears that the most recent timestamp of firing those actions/event, overrides the first time after the prior journey step the contact may have done the event.
  • This creates a challenge of knowing the time of completion between steps as the first time after the previous step is no longer recorded if the contact comes back and does the step again and again.
  • Ex) Instead of opening an email, clicking a link, logging into our app showing seconds (confirming our engagement email is working); we are seeing opened an email, clicked a link and then the time to log into our app being hours or days later. When we dig into the contact record, we see this is due to the contact firing the event multiple times after having done the action in the previous step of the journey. We care to only see the time to complete as a reflection of the ‘the first time after the previous step’.

Thanks for the suggestions, Christa! Some of these aren’t possible today, but there are a few I would love to clarify, as I think we may have some solutions available now:
>>Only one way to control the time range of the journey (sure we can do a static range or rolling time range), it is still only one time setting.

>>Inability to refine time parameters on each step of the journey.

A: Hopefully this is relevant, but you can set the timestamp for each event in the journey at the step / stage-level. So for example, you could set a step to where the calls had to start before April 15, 2024, or between two dates. Are there other time parameters you feel we’re missing?

>>Lacking stat of median time between steps; we only see the average time between steps

A: I agree, this would be useful. I don’t have a timeline, but I can chat with the team about if-and-when we could support this.

>>Control that the action was done the 1st time since the previous step (and then stop recording the event on that report for that contact)

A: Would this be like being able to say that a page visit or an email open was the contacts’ first page visit or email open? How did you mean by the second part about ‘stop recording the event on that report for that contact’? Would love an example.

>> We want to look at anyone who would enters the journey up to 30 days ago. THEN, we want to know, of those contacts, who completed the steps in the journey within 10 days of entering the journey.

  • If a contact ‘qualified’ to be in the journey but dropped off before completing within 10 days, that’s an interesting stat along with the ‘success’ rate of those that did complete within the 10 days.

A: I’ve taken a screenshot of what I think you’re trying to do. You’ll see that the date range is set to ~30 days (assuming it’s March 1). You’d then set the final stage to be between days 1-20 (10 days prior to the end of the period); presumably, you could do the same for any previous steps/stages, too, to ensure each step happened prior to 10 days before the end of the period (assuming you want more than just these two steps).

Let me know if I missed anything!

Thanks for the thoughtful reply @dmastin
I’ll try to clarify
Reporting date ranges

  • Adding a timestamp filter may help in some cases but it doesn’t get to what we are after (from what I am seeing). Here is an example from another tool of what we would like to have the ability to do ‘timeframe layering’. Ex of other tool that gives...

    The report time frame may change from 30 to 60 days etc for interest in watching trends or just looking at a larger number of contacts. Having other time parameters in each step (your suggestion) to adjust does not sound manageable if the overall report date parameter changes.
    - It is difficult to know what to select for the timestamp parameter. For this to be dynamic with the report time frame selected, do we use less than X days or something? If using a between X date range, we would have to edit that each time we look at the report.
    - Is the Timestamp on each stage you pointed to only taking into account time from entering into the journey?

    Ex) if we say:

    of all the contacts that were delivered a specific email in the last 30 days, how many completed the journey within 10 days of opening that email?
    Journey being ‘Email delivered’ > ‘Email opened’ > ‘Email clicked’ > ‘Custom event fired login’ or ‘in app page view’

    - How would we set that up?

    - If the ‘within 10 days’ starts at the time of the email being delivered, since that is the first step in the journey, how would we set that up?

    Also, it’s not necessarily 10 days from the end of the 30-day period; it’s a rolling period of time. It seems like putting timestamps on the last stage of the journey may exclude relevant contacts who may have entered the journey and completed the steps on day 28. (maybe I’m not grasping your suggestion). Ideally once the person engages with the email, the ‘clock starts ticking’ on the 10 days. Since a delivery doesn’t necessarily mean a person saw and reacted to the email (not sure how possible this is with your suggestion)

    Another way to say it… and maybe it will spark some clarity on how to do it with current reporting abilities.
    We want to make sure the Action was completed within X amount of time from the previous step. If the action wasn’t completed in X time, then the influence of the previous step/stage was likely not a relevant factor of influence. BUT also knowing that drop off will help us understand that.

Only record 1st time event fires following the previous step in the journey. Example for this:

  • We use a custom event or app page view to determine IF a person logged into the app after either opening or clicking on a specific email.

    • Question the Journey report should answer - How many contacts receive our email, click a link in the email and log into our app? Of those contacts, how much time is there between each of these steps?
  • We find that when a person logs in or views an app page multiple times following the open email or clicked email event, the time between steps continues to ‘grow’ when looking at the journey performance.

  • This appears to be due to the event firing on the contact each time they do the action. That’s fine (and expected) when looking at the contact record BUT when looking at the journey report, we want to know how much time was between the email engagement and the first log in event or app page view since/after engaging with that email.

  • When the first login since clicking on the email gets overwritten by the next (2nd or 3rd or 4th and so on) login events, the time between email and login continues to get stretched in the Journey report. Ideally the 1st time the next step happens is what the Journey report ‘sticks’ with, rather than continuing to consider the event and making the time between steps inaccurate to what the journey was intended to show.
    *not really sure how to solve for that other than refining the parameters in the step. Like performed for 1st time since last stage in journey, a threaded story of actions based on timestamps.

Median - thanks for chatting with the team about this

There are a lot of good ideas here, and the insights from @dmastin are really helpful - this is the piece I’m most interested in "X amount of time from the previous step"

@dmastin are there ways to suppress contacts at all? (Example, “is not apart of list XYZ”) In order to get a true story of real contacts we want to exclude competitors, internal folks testings, etc - these all live in a suppression list.

Also would be optimial if we can add deal stage to the journey. Giving the picture from contact creation to closed won or closed lost deals.

Good question, @Melly2022 -- we don’t support this ‘suppression’ logic for lists in customer journey analytics today. Right now, my recommendation would be to create a contact property that represents what you’re trying to suppress. Then, you can filter out those contacts from the report.

@dmastin I created the custom property as a checkbox - this didn’t work the property is not an option in Journey reports. I also can’t use it at the dashboard level. :thinking:

To clarify, these properties are what we call ‘report-level’ filtering. They’re not usable as touchpoints, but rather let you filter the journey “by” this information.

@dmastin are there plans to enable a form of suppression in Journey reports? When we perform tests to ensure assets are operating as expected, our users get pulled into the journey report, falsifying data and frankly wasting time.

@Melly2022 yes there is -- we’re introducing some new features in the coming quarters to Customer Journey Analytics. The first feature, known as ‘Top Events’ (goes into beta in a few weeks, be on the lookout!) will search for the most-trafficked “next events” from a prior stage. In that, we have an “include only” list that will let you pick which events to include. (By definition, this is a suppression list.)

However, I’m not sure our first version would include a “remove internal user” operator. I’m going to DM you to set up time to discuss more.

Hi everyone!
This idea’s status has changed from ‘Being Reviewed’ to ‘Idea Submitted’. This change is due to our improvement project to update our Ideas Forum statuses in order to provide better transparency into how we are listening to your feedback.

“Idea Submitted” means that our product teams are aware of this feedback and are monitoring the need for this feature alongside other inputs that determine their priorities & roadmap.

For more details about the statuses we use on the Ideas Forum & what they mean, you can read this community post here.