Driving CX Success with Adobe Customer Journey Analytics Journey Canvas
In this session, we’ll explore the powerful capabilities of Adobe Customer Journey Analytics (CJA) and its Journey Canvas to drive deeper, outcome-oriented Customer Experience (CX) strategies. We’ll focus on a practical framework for mapping and comparing the “happy path”—your ideal user journey—with actual user behavior, uncovering where friction, drop-off, or divergence from intent occurs.
Attendees will learn how to use journey-level analysis to pinpoint actionable opportunities that streamline user experience, foster desired behaviors, and support business objectives. We’ll also demonstrate how to tie these insights to specific Key Performance Indicators (KPIs), ensuring CX enhancements are not only intuitive but also measurable.
Finally, we’ll dive into strategies for scaling these insights across the organization by connecting Journey Canvas findings to granular dashboards, enabling continuous optimization at every touchpoint. Whether you’re new to CJA or a seasoned practitioner, this session will equip you with a clear methodology for using Journey Canvas to elevate your CX programs and drive tangible results.
All right, so thanks for joining in. Today I’m excited to talk about Stitching the Story. It’s a challenge many of us face dealing with data silos and fragmented reports suite and we’ll see how we merge those reports into a unified data set and then use it to calculate the lifetime value of a customer. So how customer journey analytics connects the dots turning data silos into data synergy. So I’m Sumit Kumar working as a Tech Lead at Shell. When I’m not working, I love sports, so I used to play cricket and I visit the lots, which is home of cricket stadium to watch cricket matches. Feel free to add me on LinkedIn. Here’s what we are going to cover today. We’ll talk about how we bring Adobe Analytics data into the experience platform using the out of the box connector. We’ll look at person ID, how we can leverage EC ID as person ID to unify different report suites. We talk about customer lifetime value, how we can link marketing and transactional data using the common key, which is SSO ID and traditional data warehouse approach in data where bricks. We’ll talk about some of the, how we can move that approach into customer journey analytics JENE analytic solution, which will answer app behavior to transactional flow using field searching. And finally, we’ll open up for questions. So let’s get started with a real-time use case. So imagine that user who visits the countryside and also visits the loyalty site, and both are sitting in different reports and did some registration. Finally, the same user is required to paid media campaign. And we would like to understand how many of those users are doing in-store purchase offline transactions. So how we can calculate the lifetime value of a customer using customer journey analytics. And we’ll see the stitching, how this results in linking online behavior with the offline transaction data.
So this is a common challenge in Adobe Analytics, where we want to understand how many users from site A were also engaging with site B. But we couldn’t answer that, because data from site A and site B are completely in different reports. So individually, each report suite worked great. But when we have to create simple overlap report, we are unable to do so, even though ECID is common link between different report suites.
Traditionally, we used to solve this through global report suite tagging or multi-report suite tagging. But that means we need to create a common SDR. And in case we have different SDR, then how we can solve this? So this is a critical step. We can create a unified schema called common SDR inside experience platform. So let’s say EVA 5 is used for market. And the same EVA 1 does the same job in report suite 2. We’ll club them together as market common field in our unified schema. Same logic will apply for page URL, page name, and other fields, like hardcoded data source origin, where we’ll say from which row of data is coming from which report suite. So this system unifies everything.
The common question we have to ask, have the report suite already been ingested in the experience platform via the connector? If yes, then we have to use the query service and default schema. If none of the reports have been ingested in platform yet, we can go ahead with the customer schema without the use of query service.
So let’s say we have already ingested one report suite inside platform. And now we’ll just bring another report suite using the out-of-the-box data source connector.
And this Adobe does all the heavy lifting for you. It just creates automatically all the required schema based on the report suite, et cetera. So each report suite creates its own data set. And report suite A becomes data set A. And same report suite B becomes data set B. Here is the flow. We select the report suite. We select the default schema, no need to enable profile. And when you connect to the report suite, data flows are automatically created. Each report suite, you get two data flows, one for historical and one for ongoing data set. And in this example, we are ingesting two report suites. So we get four data flows automatically created, all without manual setup. Now, this is how you can preview the data set.
This is where we create the unified schema data structure, which is common in this TR. We mark ECID as primary identity. And we then create a single unified data set from the same unified schema.
We can bring out-of-the-box field-like environment. We’ll use AEP query service to extract common field from each data set. For example, we are ingesting E-VAR 26 S-page URL and mapping it to the common field in the unified data set. And same logic applies for other report suites. So this is just another report suite we apply.
E-VAR numbers are different, but the goal is to map all of them into the same unified data set and schema. So the query service looks like this. For example, we are bringing two report suite here. So at the last line, you can see from which report suite we are ingesting the data. And the first line is on where we are ingesting it into the unified data set, for example. So this way, and then you can bring any of the common fields, as you can see from here.
This is our AEP query service for each report suite looks like. And we can save it as a reusable template. So tomorrow, for each report suite, single scheduled query is created. And once we have saved it as a template, we can bring all of the third-party report suite if we need, using the same common template. Just we need to change the variable mapping.
And the final step is just using the CGA connection to select the single unified data set. And also, if you want to save six months of data or 12 months of data, just use it inside our rolling data window. Now, we mark ECID as the person ID, which is because it’s the common glue to stress data across different report suite. And finally, after bringing all the common fields and out of the box field, we extract it. We have now created a kind of like bring them together into a unified view using our CGA data view. So using three steps, we have unified multiple report suite data inside CGA. Now, we can answer questions like, how many of our customers who visited the countryside and also visited the loyalty website and got registered so that we can create a segment out of it, retarget them back in AEP, RT-CDP. And also, we can have one unified page URL report. And you can see here, for example, we are pulling page view data from two different report suite. And this is now merged into one dimension.
So hence, we have successfully merged multiple report suite into a single unified view inside Customer Journey Analytics using ECID as person ID. So the best part is we don’t need any tagging for this. This is fully post implementation. No AEP web SDK tagging needed. And we can do cross-channel analysis. We can do journey overlap, et cetera.
Now, the next step in calculating customer lifetime value is understanding the end-to-end impact of paid media campaigns. So we do this by linking app installs driven by paid media campaigns to know how many of them have done in-app purchase or offline transaction. So in other words, we can say how many users acquired from paid media campaign actually go on to make a purchase in the app or at a physical store. So it’s a very crucial step to understand the complete journey of a customer. Now, let’s say we have already integrated a mobile measurement platform within Adobe Analytics. So all of the campaign data are already included and are tying up with the online metrics, like revenue, et cetera, inside Adobe Analytics. So we have got the online data set ready, but we also have offline data set that includes physical, store, transactional, or CRM data. So to combine Adobe data with the CRM data, we need a common bridge. And this time, we have SSO ID, which is a common bridge across our online and offline purchase. So to join Adobe Analytics data with CRM data, we can bring it into Azure Databricks using the traditional data warehouse approach. But obviously, this approach comes with a challenge. It requires complex SQL query logic that we need to use for different loyalty transactional data set. And hence, it becomes very complex. And that’s where customer journey analytics solves this challenge by combining data like loyalty transactional and Adobe Analytics data without the need of complex SQL queries. So it’s very much faster and easier for any non-technical stakeholder to use it. At the time of app install, only EC ID is present. So there is no SSO ID captured. But as you see, all of our offline transactional data set only has got SSO ID used as the person ID. So when we try to combine these two data set, they won’t naturally tie together. And this is where we need to ask Adobe customer team to enable something called field-based stitching. And this works in customer journey analytics. What will happen, the EC ID will be now tied with the SSO ID. So we can stitch online campaign data with the offline purchase behavioral data.
So field-based stitching works by selecting a persistent ID, which is EC ID, and a transient ID, which in this case SSO ID, from a source data set. And then we request customer care to create a new status data set that links those ID to it.
So once a user logs in, their EC ID gets a status to their known SSO ID. For example, in this case, Bob. So EC ID 246, 81911 are now staged under one person ID, which is Bob. The final step is just use the same status data set with your loyalty transaction data set. And if you want to bring some product lookup table, you are free to do so. And we have a very important step where we need to say expiration window should be person, because we want to tie all of our campaign data with the loyalty transaction data at the person label. With all these set up, now we can answer. All of our campaign data are now tying with loyalty transactional data set. So we know how many of our paid media campaign actually resulted in offline transactions, and what are the offline products they have purchased. And we can create segmentation to retarget them. For example, customers who have done more than 1,000 amount of transaction, we can create a segment out of Adobe Customer Journey Analytics and send it to APRTCDP to retarget them. Or we can create kind of journey canvas where we say, okay, following customers actually acquired from this paid media campaign, and we can create what are the products they have actually purchased and did what kind of transaction. So this is the stitching approach. Adobe also have got something called field-based stitching and graph-based stitching, which is much better. So these are steps to request field-based stitching. And graph-based stitching is better because we can use the person ID, could be different on all of our different dataset.
Finally, by merging report suite and using the field-based stitching, we have unlocked several key use cases, including creating a holistic view of the customer across different touchpoints, web app and offline. Thank you, and let me know if you have any questions. That’s great. Thank you so much, Sumit, for demystifying the process of merging report suites, which I know is really top of mind for a lot of CJA customers.
Now I’d like to introduce our final Experience Maker Spotlight presenter, Taylor Cruz. Welcome, Taylor. Hi, welcome to my talk, driving CX success with Adobe CJA’s Journey Canvas. Today, we’re going to walk through how to build your Journey Canvas visuals, starting with your happy path and then going into real pathing options. Then we’re going to compare paths, dive deeper into analysis using KPIs and additional data points and also how to activate underfindings for further CX optimization.
First, a little bit about me. My name is Taylor Cruz. I’ve been in the analytics industry for over 10 years, mainly in consulting with many different clients and many different industries. Now I would love to connect with anyone after the talk, so feel free to connect with me on LinkedIn and we can chat about data.
So let’s dive in.
Now, as analytics professionals, we are no strangers to pathing reports, but CJA’s Journey Canvas takes that foundation even further. It offers a flexible, intuitive way to construct and visualize customized user journeys, giving you full control over how you define the steps, transitions and conversions. So let’s explore how this functionality enables more outcome driven insights. Moving beyond passive observation and into active CX optimization.
Now, whether you are uncovering friction points, mapping ideal paths or aligning metrics with business goals, Journey Canvas empowers you to design with intent and analyze with CX in mind. Using flexible Journey Canvas options, you can start by first defining both an optimal path to the end goal as well as an actual path the user can take.
So let’s look at that a little bit further.
First, your ideal happy path should include the most critical steps, those that represent the most streamlined and effective way to complete the journey while accomplishing your key objectives.
This doesn’t mean it has to be linear. It can be just straightforward enough that the customer isn’t going in loops or going through too many extra fluff steps.
So next, we want to define our real pathing options. Your real path should reflect the full range of actions a user might take in an intended journey.
Now, this does not only include the core steps, but it also includes optional interactions such as viewing additional content, exploring related pages or taking minor detours as long as they don’t go too far off the journey.
Now, the goal here is to capture that realistic flow, the behavior that the user has without veering too far off track. So now we’re going to take their journey, we’ve built out our visuals, we’re going to take it a little bit step further and add in some KPIs and critical data points that might make or break the success of the journey.
You’ll want to be intentional about considering overall CX and ensure that you’re viewing the experience through the lens of the entire customer journey. You don’t want to view it just through isolated touch points or individual features. You want to see this as an entire journey, especially through the view of the consumer.
Now, this will allow you to monitor the journey, performance and have eyes on the moments that matter without getting lost in the details. So next, we’re going to take it even further and use workspace text boxes to link to dashboards or collapsed panels that reveal more detailed data within the journey.
So first, we’re going to start out by building out dashboards and panels, but high priority pages, highlighting key actions and KPIs from that page level view. Then you’re going to do the same thing for critical functionality, which captures the experience with these strategically segmented out views. You can easily move between high level insights in granular analysis.
Now, as a bonus tip here, use workspace company folders and link to those to keep dashboards organized and accessible. This also means that there’s going to be no manual upkeep required when you’re linking to your dashboards. So now bringing it all together, we’ve created a centralized hub that empowers analysts to explore and compare user flows, evaluate KPI performance and seamlessly dive into deeper analysis from all from a single source of truth.
Now, this eliminates confusion caused by inconsistent setups, reliance on scattered dashboards and ensures that every teammate starts from the same trusted foundation. One unified view, but countless opportunities for optimization. So now what can you do with this setup? Well, you can do quite a few things and let’s explore some of those.
With this setup, you can compare expectations to reality, pinpointing exactly where the experience excels and where friction might occur.
Now, additionally, you can understand the difference between a planned journey and real time actions that the user might take. This will allow you to make critical adjustments by either continuing to optimize towards your ideal path or adjusting expectations to what the user is telling you about their journey they want to take.
So, for example, say you see a huge drop off in step three of your journey. Now you can look at ways to optimize that step.
However, say you see a large number of users veering off your ideal path and into optional content. This might be telling you that your optional content is actually more of a need than you might’ve thought. Now you can look at more ways to incorporate that information better into your journey. Now to enhance your journey analysis and comparisons, you can always analyze them through the lens of a persona. You can use CDPs, zero party data, and behavioral insights to build up these personas. And you can even use AI to help implement them even further.
Then you can apply that context when interpreting your data. For example, say you have a working mom who’s booking a party room for her daughter. Because she’s working, she needs something that’s quick and seamless, and she might not be able to visit in person. This means that clear online information and visuals are going to be critical for her customer experience.
Personas bring CX into focus, and Journey Canvas is a powerful tool to connect those personas to real behavioral data. So Journey Canvas offers advanced capabilities beyond simple pathing, such as breaking down key journey points by dimensions or training them over time. One of the most powerful features is the ability to create segments directly from specific steps within your journey.
Now these segments can then be pushed into the other dashboards that you have connected, and you can analyze them at various levels of granularity.
Now this enables you to bring real customer behavior into focus and keep CX at the center of all of your analysis efforts. So now let’s really amp up your CX optimization here.
In Journey Canvas, you can also turn any subset of users from your journey into an audience that can be then published to AEP and used as the base for marketing and personalization efforts.
For example, say you go through your analysis and you identify common drop-off points that may be contributing to customer turn. You can create an audience that can be used to create an audience from those drop-off points and then use them to push tailored remarketing emails or site personalization for custom CTA platforms using things like Journey Optimizer. So why should you do all this? What will you get out of it? A consistent centralized view for your team to work from, a customer-centric analysis keeping CX front and center, and you’ll uncover hidden friction points prioritizing CX optimization.
Now additionally, you’re gonna get flexible optimization paths that help you optimize where it makes most sense. Then you’ll also be able to measure the impact to increase CX satisfaction and overall conversions.
So here are three key actions you can take after this talk. First, you can take one user flow and build out your Journey Canvas visuals, starting with your happy path as well as creating your real path. Then you can conduct some analysis and create a user segment directly from Journey Canvas for even more analysis.
Last, you can then create an audience from Journey Canvas and use it to help drive optimization.
So start with the first action and you’ll immediately see benefits. But if you do all three, you’ll be gaining more conversions and happy customers in no time. Then scaling to more user flows will be a no brainer. Thank you and I look forward to answering all of your questions in the Q&A. Thank you so much, Taylor. You gave us some really excellent ideas on how to use Journey Canvas beyond just basic pathing. So let’s open the Q&A now. If you have any questions about anything that Sumit and Taylor touched on, now is the time to let us know.
Sumit, we have some that came in during your session, so I’d like to start off with you. Customer asks, if we have implemented the Web SDK in Adobe Analytics and then all the report suites will use the same XDM schema, correct? In such cases, how does CJA differ? Yeah, that is correct. If you have time to implement Web SDK on your website, then yes, it will have a common unified schema across your different domains. However, in my case, the example I’m giving is like how we can use out of the box Adobe Analytics connector. And sometimes we don’t have time to implement Web SDK, how we can set EC ideas or person ID. And then from there, we can create unified schema. And using AP query service, just extract the common fields from different report suite, load them into the unified dataset, and thus you can create a single view of the customer in CJA in QuickTime. So that was my tip, which we can’t do right now in Adobe Analytics. We can’t see merging multiple report suite into one global report suite, unless you have done like global reports with tagging or you have done like Web SDK full-fledged tagging. Great and super helpful insight there. So Sumit, how are fields standardized across suites that use different SDRs? Yeah, so basically you can use some kind of translation rules to map variables consistently. So for example, let’s say EVA5, which is capturing let’s say country. And if it is capturing in one report suite upper case, in another report suite lower case. So all you can standardize in the query service and just ingest the consistent data in market country, which is your common field. So during ingestion, we will just make sure everything is kind of harmonized, data is harmonized and then ingested into the common field.
Gotcha. And just taking a step back, what are the key business benefits of merging report suites? Sure, so we can answer things like creating a single cross-channel view. So we can have journeys like someone who is, what are my users who are engaging on site A, domain site A, and also they are engaging on site domain B, what are the common pattern they have done? So it just breaks the data silos and you can have like decision-making based on the, like I have given an example, users who actually went on the countryside and also went on the another domain, which is the loyalty site, and then finally did the registration or they did not do the registration so that we can retarget them in our AEP, RTCDP and different platforms.
Yeah, it’s a very special thing, right? For CJA that we is, customers have felt some pains with that with Adobe analytics.
Exactly, I just wanted to share like you have cross-channel attribution, product level purchase and offline transaction, which I have given example like personalization based unified data. So basically we are creating kind of holistic view of the customer by merging multiple reports. Absolutely, here’s an identity question. In CJA, is ECID also at a browser level like it is in Adobe analytics? Yes, so in CJA as well, like ECID, we can mark person ID. So basically we can capture ECID, we can capture the SSO ID or any other ID in CJA, but it all depends like what is your person ID in your connection when you make it. So in my example, for example, when I did the stitching, that time I’m keeping SSO ID as my person ID, but when I’m merging the report suite from different domain, the common key is ECID, so I’m marking ECID as my person ID. Gotcha, and that happens on a connection level? That is correct. Okay. At the data view level. Gotcha. And the connection level, correct.
And so expanding on stitching, so what happens after stitching is enabled? Yeah, so basically once the stitching is done, what we can say like at the time of app install, we only have the ECID, but we also want to associate the campaign data with our offline transaction data. So field-based is stitching basically merges all of the authenticated users with the unauthenticated data. So initially once the user comes to the site or the app, we only have ECID as soon as they logs in, we have SSO ID. So once you enable the field-based stitching, all of the ECID, previous ECID will be merged with your logged in ID, which is SSO ID. So Adobe calls it like transient ID and persistent ID. So both will be merged. And once the stitching is done, we can have kind of like offline and online transaction dataset, which we have created will be merged kind of, and we can know how many of the customers who actually came from a particular campaign, online campaign, and resulted in certain down the line, offline transaction, and what are the products they have purchased. So that’s the beauty of this field-based stitching.
And as it is based, there is like graph-based stitching as well, which has its own advantage where you don’t need a common identity, like person ID across different reports, the different dataset. You can have different identity across different dataset. All you need is like obviously use the graph-based stitching which will be resolved, the identity will be resolved based on the graph, identity graph. So yeah, that is another way to do it. Yeah, thank you for explaining that. Stitching is a pretty complex concept. So that’s super helpful. Taylor, I’d like to switch to you. There’s a couple of questions for you. So first off, is Journey Canvas and CJA an improved version of the flow visualization and analytics? Yeah, I think that’s a great question. And in some ways, yes. In some ways, no. It’s really dependent on your use case. And so the flow visualization, really what it does is it gives you the flow based off of the data. But what Journey Canvas does is gives you the data based off of the flow that you choose. So there’s a lot more flexibility in it, but it’s really dependent on the use case. Do you wanna see what the data is kind of telling you about the journeys that users are taking? Or do you wanna see what the data is about the journey that you really want or know that the users are taking? So it’s really about the use case that you’re trying to understand.
And what’s the best way to discover what those significant deviations are from the ideal journey? Yeah. So a lot of that will really depend on, I guess, what you would consider something that is super out of the norm or something that, okay, yep, we can understand that and really listening to what the users are saying. So if there’s a huge amount of people who are like, hey, we need this information, that’s gonna be a really big clue that maybe your ideal path isn’t exactly what the customers need. And so really it’s about listening to the customer and not just kind of getting stuck into what you want or what you think the customers need. Yeah, no, great point.
Speaking of the, specifically with the visualization itself, can Journey Canvas visuals be reused or cloned across timeframes or use cases? Yeah, absolutely. So just like any other visual, you can copy and paste the canvas and update it where you need to. You can also use Journey Canvas for things like redesign effort comparisons. So like if you wanna compare a legacy version to a redesigned version of a flow, you can certainly do that. And my colleague Trent Thain actually walked through this during his rockstar presentation at this year’s summit. Oh, very cool. Yeah. Yeah, it sounds like a great way to kind of also just like share those with others who are reporting in Analysis Workspace and kind of make it, create some efficiencies there as well.
Someone asked, how can I ensure my KPIs reflect the full experience rather than just isolated touchpoints? That’s a great one. Yeah, so you’re really gonna wanna look at the main goal of the journey as well as how users get there.
So you’re gonna really wanna make sure that you’re not bloating your KPI monitoring efforts with KPIs that might hold a lower weight compared to other KPIs. So you don’t wanna add too many, but you also wanna make sure that you’re focusing on the start and end of the journey. You also wanna make sure that there’s one or two KPIs that really talks about what happens between the start and end to really understand what that journey looks like, not just if they completed it or not. Yeah, great point. Someone asked, can you elaborate on how you connect audiences from Journey Canvas to Journey Optimizer? So actually the activation portion. Yeah, and that is actually one of the best parts about this. So of course, any audiences you create in CJA, you can publish to AEP. And since Journey Optimizer is part of the Adobe suite of products, all AEP audiences can be easily connected to the journeys that you create in Optimizer. And the cool thing that I really like about this is that the visuals in the journeys that you create in Optimizer is actually really similar to Journey Canvas. And so it makes it really easy to move between analyzing in CJA and activating in Optimizer since the visuals are so similar, you’re not really having to worry about two completely different UIs.
Gotcha. And it’s pretty easy to do, right? It seems like it’s just like a one click. Yeah, pretty much. It’s really cool. It’s really great. So you can really move from just deep dive analysis straight into activation, and you can really see that ROI. I have a personal question of my own, if I can ask. So with Journey Canvas, I know unlike Fallout, which is you can say, hey, I want to look at the next immediate next touch point. And Journey Canvas also the same, is it going to kind of look at journeys based on the next thing that someone did? So not exactly. You can do that, but a lot of it is really about how you build it. And so you can see, okay, they went from this step. Now this is the next step, did they go there or not? And then, so it’s really more about the flexibility that you can do. You can certainly do based off of what, you know, they really want to do or what they did. But really the best part about it is that flexibility that you get with being able to determine the paths. And you can see if there’s converging paths, like there’s three different ways to get to one thing, you can see how many people went in each route. And so, well, the Fallout is really more linear. This is really more about all the different options and all the different journeys. So it really gives you more of a breadth of their experience than just a linear flow.
Awesome, that’s super helpful for me personally, as I’m building journeys in Journey Canvas.
And so, and it’s great. I’m so glad that you walked us through that because that’s one of our newer and super cool visualizations. So it’s definitely great to have your expertise on that.
So I just want to take a minute to say, thank you both for joining. This has been a fantastic conversation and I hope you guys both have a great day. Thank you.
Journey Canvas: From Analysis to Activation
- Build “happy path” and real user journeys to visualize and compare ideal vs. actual experiences.
- Add KPIs and critical data points to monitor journey performance and identify friction points.
- Create segments directly from journey steps and push them to AEP for marketing activation.
- Easily reuse or clone Journey Canvas visuals for different timeframes or redesign comparisons.
- Centralized dashboards ensure all teams work from a single source of truth, streamlining CX optimization.
Merging Data Silos for Unified Analytics
- Use Adobe Analytics connectors to ingest multiple report suites into the Experience Platform without new tagging.
- Map disparate fields (e.g., different eVar numbers) into a unified schema for consistent analysis.
- Query Service enables harmonization and extraction of common fields, creating a single dataset for Customer Journey Analytics (CJA).
- Achieve cross-channel analysis, journey overlap, and unified reporting—enabling insights like “users who visited both site A and site B.”
- No need for global tagging or Web SDK reimplementation; the process is post-implementation and scalable.