It’s hard to follow any Adobe Experience Cloud outlet today without hearing about Adobe’s Experience Platform. At the same time, it’s very hard to grasp what it actually is and what we can use it for. If you are in the Adobe Analytics space you might also have heard about Customer Journey Analytics, which is is often mentioned in the same breath with Platform, with just as much uncertainty around it.
I am fortunate enough to work in one of the first companies in Europe to actually have Customer Journey Analytics available. My dear Twitter followers will already know that I’ve spent a few days working with it and trying out some use cases. This post is about my actual first impressions with the product and why I think it might be the biggest game changer for Adobe Analytics customers in quite some time.
Everything I love about Analytics and then some
Let me start by laying out what Adobe Analytics as a product means to me. Regular readers of this blog already know I think it is the best Web Analytics tool available today. But why exactly do I think that? After all, I’ve written a whole series of posts on how to build a sophisticated analytics system made out of only Open Source tools. Why don’t I just build that for my business as well?
When I think of Adobe Analytics, I like to describe it by looking at what we get from it on a technical level. This usually leads to a list of parts like this, describing the chain of analytics value creation:
- A lot of SDKs and infrastructure to collect data. This includes all the AEP SDKs for web and mobile, Launch as tag management system, and the actual data collection infrastructure, so the always available, giant cluster of servers that takes our requests for processing.
- A sophisticated data processing pipeline and the Visitor Profile. Once Adobe has collected our data we can process it using Processing Rules, Vista Rules, and the Visitor Profile. With the profile, we can remember what a User of our app has done as the very first thing and add that information to all later behavior.
- A high performance Storage Engine. Not only can we store and query terabytes of data without having to worry about it, we also can break it down by parts of that data and segment on it in real time. This is one of the points that impress me the most, since I as the user can just build a segment like “user, who in their first visit opened page A, then page B, and Page C in another visit” and quickly get results for years of historical data. Try even building that query yourself in SQL, let alone run it somewhere!
- A clever Reporting Engine. With all that juicy data, we want to generate some actual numbers from it. This is what the reporting engine does, converting billions of rows of data into Unique Visitors, Visits or Purchases. And not only can it generate those numbers from a given set, we can even define our own Calculated Metrics on the fly and get results immediately!
- A plethora of Delivery Interfaces. Everyone knows Analysis Workspace as the industry standard for how analytics can look like today, but there are so many other ways to get your data by using Report Builder, Data Feeds, Data Warehouse, APIs, or the Dashboards App. Even if I know how to build everything up to this point myself, building and maintaining so many interfaces would be the final nail in the coffin for any DIY project.
This is why I use Adobe Analytics. Not only does it offer all of those features, but it gives it all in one package. But I already hear you ask: Why do I tell you all of this? Isn’t this post about Customer Journey Analytics? It is, so here is what Customer Journey Analytics is to me: Everything from the list above, starting at point 3.
That’s right. Customer Journey Analytics (CJA) to me is what Adobe Analytics is today, excluding the data collection and processing, so we can bring in our own data. Mind that this is my personal view, so Adobe might very well tell you something else. While they claim that it runs on Platform, it actually imports data first instead of just using the Data Lake and Query Service (thank you for that).
What we end up with is the Analysis Workspace experience (for the most part) with any data you can think of, and the powerful storage and reporting engines behind it. This offers us a completely new way to think of our company’s data. Let me tell you why I think it’s the right thing for my company as well.
The case behind it: what can it do for us?
At my company, we had to make quite a few decisions on how we want to set us up for the years to come in regards to Digital Analytics. With quite a few digital offerings we have, we are tasked to deliver insights on how our users move across those experiences, how our marketing campaigns affect other products and how our user’s retention and movement looks like. Also, while I wrote a whole article on how you can combine metrics from multiple Report Suites, having a native solution would be much smoother.
Already using Adobe Analytics we had quite a few options for how we want to tackle this. For simple, login based use cases, we were looking at the Cross Device Analytics (CDA) feature of Adobe Analytics Ultimate. This would utilize Device Graph technology to stitch users based on login ids. But that comes with some downsides: For example, we would have to change our implementation to using a Global Report Suite for all our products instead of one Suite per product. That would in turn break existing workflows and require us to change our reporting strategy. In addition, we would have to use Virtual Report Suites for Cross Device use cases, which are limited in their own way. This is why I want to avoid a Global Report Suite if I can.
But even CDA can’t help for use cases where we don’t have matching user ids to stitch users across products or devices. This case would require us to use other criteria to identify users, like I described before. This can’t be done by using Adobe Analytics alone, so we would need to export all data trough data feeds, do some processing, store it somewhere and make it available to analysts and business users. Going back to our list above, we would have to build everything from step 2 onwards by ourselves. Building a system like this would take us years and we would have to hire quite a few developers, data engineers and data scientists. We are a relatively small company, so this (sadly) is not a realistic option for us.
Now you know exactly what we need CJA for. But I didn’t realize that until Trevor Paulsen from Adobe reached out to me to explain what Adobe’s plan for CJA is. While there are many more sophisticated cases for it (like combining digital data with call center logs or CRM data), everything I need can be achieved with CJA just fine. As a consequence, my company is now among the first companies in Europe to actually work with CJA.
Turning Analytics up to 11
Once we got provisioned, I couldn’t stop spending time in Platform and CJA. The first thing I wanted to try out are two very simple use cases: Combine metrics from multiple Report Suites in a single panel and identify users across domains and Report Suites based on the ECID. What I didn’t expect: Getting those two things working only took me about five minutes. No joke, it’s really that simple.
For those two cases, I just activated the Adobe Analytics connector in Platform to pull data out of Analytics and store it in the data lake. That gave me a dataset for every Report Suite I wanted to use. Then all I had to do is head over to CJA, create a new connection with those data sets (using the ECID as Person ID) and create a view with all the components. And there we are:
When I first did this, I couldn’t believe how fast it all went. Sure, there is a lot of fine tuning ahead of me, but this is already actionable! So next, I wanted to try out a different form of identifying users across those Report Suites. All I had to do is create a new connection in CJA, using that identifier as the Person ID. As you can see, this is quite promising already, since our users now have a much higher overlap between Report Suites:
That was far too easy! And then I remembered: I have the whole power of Platform at my hands here. So next, I created some demo data, threw it in the lake and crunched it with Query Service. As result, I got something I always wanted to have in “normal” Adobe Analytics: A Visit Depth dimension on a user level and pathing reports. All I needed was a bit of SQL:
You can see for this demo session, how the user moves through the website. For each hit, we know exactly what came before and will come after that. Awesome, we could just use this in CJA! We could also do something like this, creating simple next- and previous page dimensions for the next and previous hits:
Stay tuned for my next post, where I will share some of my favorite SQL commands to create those reports. Also, I might create something similar to a Device Graph if I find the time. But for now, let’s come to the…
What can I say: Customer Journey Analytics truly is awesome. I feel like this product is the addition to the Analytics Cloud we all have been waiting for. Together with Platform and Query Service, there is no limit to what we can get out of our data and analyze in CJA’s workspace. But even if we just stay within the Digital Analytics realm, there is a lot of value in there.
Of course it’s still very early, since the product has not been out for very long. There are still quite a few bugs and glitches. Also, CJA’s Workspace is not the same as “normal” Analysis Workspace, since it lacks some features like PDF or CSV downloads or scheduled projects. And yet, I was able to realize real value within minutes as described above.
So yes, Customer Journey Analytics truly is the future of more advanced analytics. I’m excited to see which new features will come to both (or either) CJA and Analytics. There is quite a bit of work to be done before I can truly recommend CJA as everyone’s daily driver for analytics. The whole experience is a bit involved right now, but that will also get better in the future.
For now, please excuse me, I need to write some SQL. See you next time!