Tag: Adobe Analytics

Creating Marketing Channel Stacking and Pathing Reports from Adobe Analytics with Power BI

Ever since my very first attendance, Adobe Summit is my number-one source for inspiration for new things to try out in Adobe Analytics. When the world’s leading practitioners and product experts from Adobe come together to share their knowledge, there is a lot to learn for everyone. This year, Eric Matisoff invited me to share a visualization I created in Analysis Workspace as part of the Analytics Rockstars session. However, the true Rockstar content in that session was the Tips & Tricks shared by Jenn Kunz using Excel with the Flow viz in Workspace. A followup conversation on Measure Slack then unveiled some improvements using Data Warehouse and reminded me of an approach of my own that I want to share today. Some years back I used Adobe Analytics’ Data Feeds with Elasticsearch and Grafana to analyze marketing performance beyond what Adobe Analytics has to offer. While that was a […]

Why you should use the Constant Data Element more often in Adobe Launch

Adobe Experience Platform Dynamic Data Collection Tags, by Adobe Launch is the most prevalent Tag Management System for Adobe Experience Cloud customers. It is nicely integrated with the available Adobe Solutions and is offered completely for free to those customers. But while it is best enjoyed to fuel other solutions, it is a beast of its own with some unique features and mechanics. I’ve already written a few posts about Adobe Launch’s particular features, like the ability to use call traces between rules or how rules can be executed exactly once. Today I want to focus on a specific Data Element, called the Constant Data Element Type. It has first been created by Jan Exner as a dedicated Launch Extension but has (thankfully!) later been built into the Core Extension. I’m going to show you three of my favorite use cases for this, in my opinion, shamefully overlooked gem. You […]

Exploring Adobe Launch Server Side (aka Adobe Experience Platform Data Collection Event Forwarding)

In digital analytics, there has been a trend lately to move data collection away from the client towards a server side implementation. In most cases, companies try to circumvent technical restrictions like Apple’s “Intelligent” Tracking Protection, make collected data more consistent across analytics tools and marketing platforms, or hide their non-GDPR-compliant setups from their users. This trend also brings some (but not all) elements of tag management to the server side, as Jim Gordon described well. In most scenarios, data and events are collected from the client (like a website or app) using a tag manager. Instead of sending events directly to, for example, Adobe Analytics, Google Ads, Facebook, etc., from the browser, they are first sent to a common endpoint that collects, enriches, and forwards data to the desired tools. This common endpoint is usually referred to as a server side tag manager and is implemented in a first-party […]

5 Awesome Adobe Analytics Classification Use Cases

Adobe Analytics has a rich set of features that help businesses collect and report on data in most efficient ways. I’ve written a lot of posts already on how it can be configured to collect data in better ways or how the interfaces can be used to its full extent. Today I want to show you some use cases for one of my favorite features, as it can help you in every stage of an analytics project: Dimension Classifications. Using Classifications, at least in my opinion, is a big step towards making the best use of Adobe Analytics. It can help simplify implementations, manage resources (like the number of used dimensions), surprise users with great new features, or even help you correct errors in data collection retroactively. But before I start with the use cases, let’s make sure we are on the same page by asking… What are Classifications in […]

Import Google Analytics data into Adobe Analytics using Data Sources

On one hand, Adobe Analytics remains my favorite web analytics tool on the market. The longer I use it, the more I appreciate all the well thought-out features, from data collection to processing, storage, and analysis. Those features are even more impressive when compared with what Google Analytics has to offer. And yet, on the other hand, even I can’t avoid having to work with Google Analytics in some way or another. In a large, global company, it is basically unavoidable to find Google Analytics on some small, long forgotten marketing landing page in some market. It gets even worse: Up until last year, I personally had to maintain an inherited Google Analytics instance on a legacy website and app. What a cruel world! Besides those cases, where someone in your company actually wants to use Google Analytics, there are also more forgivable cases. For example, a company may be […]

Keep track of goals using the Linearity Indicator in Adobe’s Analysis Workspace

There is an universal truth in life: Inspiration always strikes when and where you least expect it. The same happened to me the other day, when I was reading High Output Management by former Intel CEO Andrew Grove. While the book is definitely worth reading for anyone interested in management, analysts can benefit just as much from reading it to get inspiration for valuable performance indicators and visualizations. Quite early in the book Grove presents one of his favorite visualizations to track progress towards specific goals: The linearity indicator. This chart shows the current progress towards a set target and where the performance might be heading. Here is his example for a hiring target from the book: My initial reaction was “wow, this is super cool and simple to understand”. If the current progress is above the linear progress, we’re in good shape to reach our goals. If it is […]

Monitor Adobe Analytics usage for free with Power BI and Python

Adobe Analytics is, without a doubt, the most complete and feature-rich product for Web Analytics and Reporting on the market. I won’t even try to list all its features, since I would definitely forget some or would have to update the list in a few months as new functionality is released. And while I, as an analyst and power user, love to have all those great tools available, they create a challenge for me in my other role as an analytics admin. All of those features bring complexity to the every-day work of our business users. For example, when Analysis Workspace was released in 2016, it meant that users had to learn a new interface to get the most value out of Adobe Analytics. But as an admin who knows their users, I have a strong feeling that some people still use the old Reports & Analytics interface in 2021. […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 8: A new home

This post is the eight and last post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we were creating the connection from Experience Platform to Customer Journey Analytics. In this post, we are going to take a look at our web analytics data and explore some use cases. Believe it or not, but this series of posts is almost finished! Starting with nothing, we have created a sophisticated schema for our data in Experience Platform, created a tracking implementation using the new Web SDK, enriched our data in Query Service, and pulled all that data into Customer Journey Analytics. If you have been following since the start of the series, I want to say: Thank you, hope you enjoyed the ride! Now it is time for the finale, where […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 7: Customer Journey Analytics Backend Configuration

This post is the seventh post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we were enriching our basic web analytics data with some advanced fields in Query Service. In this post, we are creating the connection from Customer Journey Analytics to Experience Platform. At this point in this series, we have a world-class dataset of web analytics data in Experience Platform, ready to be analyzed. I’m personally very proud of the things we were able to achieve in Query Service, especially with the pathing dimensions. With all of that, we have even more than what normal Adobe Analytics would give us! With all the data enriched, we now have only one step left before we can start analyzing our digital user’s behavior. First, we need to pull data […]

Visualizing Adobe Analytics Report Suites for free with Python and Power BI

Adobe Analytics is super flexible in the way it can be set up to exactly match all requirements of business users, analysts, and developers. A crucial part of any implementation is the creation and configuration of the Report Suites, which can be seen as the backend database of Adobe Analytics, that will hold the events sent to Adobe Analytics. In theory (and practice in some setups), each and every Report Suite can have a completely individual set of variables and metrics. However, having the option to create an individual configuration of dimensions and events for each Report Suite comes with a hefty long-term cost. For example, each and every setup needs to be implemented in Adobe Launch, where the on-page data layer needs to be matched to the dimensions and metrics of the Report Suite. If every Report Suite is configured differently, a lot of work needs to be put […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 6: Advanced Data Processing in Query Service

This post is the sixth post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we took a look at processing some basic data we need for our web analytics use case utilizing Query Service in Experience Platform. In this post, we are creating some advanced fields to our data in Query Service. I think it’s fair to say that even with just the information from the previous part, we could have a very useful web analytics tool already. But if you know me, you know that I like to take things to the next level wherever I can, especially if it involves writing code. And is SQL not some sort of code too? Entry and exit page were a nice start last time, but we have some fields still […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 5: Basic Data Processing in Query Service

This post is the fifth post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we took a look at doing the implementation using Adobe Launch, the Adobe Web SDK, and Client Data Layer. In this post, we are going to processing some basic data we need for our web analytics use case utilizing Query Service in Experience Platform. This series of posts is coming along quite nicely. If you followed all the previous posts until now, you will now have a functioning Web SDK implementation that tracks your data into Experience Platform following the Experience Data Schema we have tailor-made for our use case. Nice! Now we are ready to feed our data into Customer Journey Analytics, right? Well, we could. If we are just interested in the plain […]

Implementing Adobe Analytics in a First-Party context

One of the things I love most about Adobe Analytics is how flexible it is. That is not only true for its interface, Analysis Workspace, and the numerous integrations, but also for everything that happens on the actual website where it is implemented. Almost every functional detail can be configured and tweaked, including the destination where the data is actually sent to. For years Adobe has offered Analytics customers the Managed Certificate program, where Adobe would allow us to send data to a server that looks like it belongs to our own company (or, more specifically, our company’s domain). But upon closer inspection, those requests are only disguised as first-party and are actually still sent to Adobe’s servers directly instead of our own. And in addition to that, Adobe Launch and the Experience Cloud ID Service will still load their data from different domains that don’t belong to your company […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 4: Capturing Data with Web SDK (Alloy)

This post is the fourth post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we took a look at our business questions and how we can structure our data most effectively. In this post, we are doing the actual implementation using Adobe Launch, the Adobe Web SDK, and Client Data Layer. On our way to creating a full-scope, front-to-back implementation of Customer Journey Analytics to track a web site, we are now ready to think about our actual implementation. Since we have the data structure in place and already have an awesome Experience Event Schema, we just need some actual data. The logical choice to feed data to the Adobe stack is, of course, by utilizing their client-side tools as well. Specifically, we are going to use Adobe Launch […]

Web Analytics with Adobeโ€™s Customer Journey Analytics, Part 3: Data Structure in Experience Platform

This post is the third post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we took a look at the different possible solution architectures we can use to bring data into Customer Journey Analytics and decided on the best one. In this post, we will take a look at our actual business questions and how we can structure our data most effectively. From the last post we already know that we want to track data using only the new Adobe Web SDK going forward. To make that work, we need to create a schema in Experience Platform first, which defines the structure of the data that we want to capture. While some people (sometimes me included) see schema management as one of the more tedious tasks in Platform, I […]

Processing Adobe Analytics Data Feeds with Apache NiFi for Adobe Experience Platform

In the series of posts that is currently being released on this blog I’m showing how companies can move from Adobe Analytics to the brand new Customer Journey Analytics to utilize the many advantages of the new tool. However, I feel like the current Adobe-provided solution for bringing data from that old to the new world lacks some essential information. I did an extensive comparison in the most recent post of the series, but will give some of the reasons here again. When we use the Adobe Analytics Data Connector to bring data from an Adobe Analytics Report Suite into Experience Platform, we are dealing with some limitations: The data is based on what Adobe calls mid-values. Those sit between raw, unprocessed data, and fully processed data in the processing chain. Because of this, we don’t have access to dimensions like persisted Evars, Visit Number, and other data points we […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 2: System Architecture in Experience Platform

This post is the second post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In the previous post, we discussed the motivation and scope of this project and why, eventually, existing Adobe Analytics customers will start moving to Adobe’s Customer Journey Analytics. In this post, we will take a look at the different possible solution designs we can use to bring data into Customer Journey Analytics and decide on the best one. Adobe’s Customer Journey Analytics is built on Adobe’s brand new Experience Platform. With that, it is very flexible in terms of how data can be brought into the tool. Depending on the setup it may seem very easy to bring data in quickly. However, all that flexibility also means we have many ways to deviate from the ideal path, so we […]

Web Analytics with Adobe’s Customer Journey Analytics, Part 1: Goodbye Adobe Analytics, my Old Friend

This post is the first post of the eight-part-series Web Analytics with Adobe’s Customer Journey Analytics, showing how web sites can be analyzed better using Adobe’s next evolution of Adobe Analytics. In this part, we discuss the motivation and scope of this project and why, eventually, existing Adobe Analytics and new customers will start moving to Adobe’s Customer Journey Analytics. If you found this article, chances are high you work in or adjacent to the field of digital analytics or web analytics. It doesn’t really matter if you are an existing Adobe Analytics user, on the Google stack, or just looking for your very first web analytics tool. If you have been following the trends and discussions in our industry in the recent time, you will likely already have caught on the massive changes that both our industry and Adobe’s products go through. With changes to privacy requirements and cookie […]

Tracking Apps with Adobe’s new Experience Platform SDKs and the Edge Network

Tracking mobile apps has always been fun for me. Compared to measuring websites, apps are a more controlled environment, which is great for data consistency. Sure, there are some less-fun cases (like those pesky hybrid apps) but the general experience on major platforms like Android and iOS has been quite great! Changes even happen a bit slower compared to browsers and there are way less moving parts to keep track of. Just like when tracking websites, Adobe has been most helpful in providing us the tools we need to collect data in the most effective and consistent way. If you have been tracking mobile apps with Adobe for a while, you will know about the similarities between websites and apps (like having a trackState function that increments Page Views and trackAction for Custom Links) and nice comfort features (like automatically tracking App ID, Launches, Upgrades, etc.) that make it so […]

Calculated Metrics in Segments are finally here… Sort of, in Adobe’s Customer Journey Analytics

If you have been following this blog for a while (thank you!), it shouldn’t surprise you if I claim: Adobe Analytics is the best web analytics solution available today. But if we’re honest, it has been around for a long time, which has been leading to a situation very familiar to anyone working in the tech industry: The things that we build today might limit us in the future when new technology becomes available. This is also true for Adobe Analytics. When Adobe Analytics was created, it was necessary to build features like the Visitor Profile or Props in a certain way with what was available at that time. Back then, it was necessary to store Visitor Profile information in a database and add it to the data as it was processed (something I also used in a previous series of posts). The database engine on top of that data […]

The Visitor Profile: Adobe Analytics’ Big Advantage

We live in some very exciting times for our industry. There is a lot going on in the analytics space with Adobe’s brand new Experience Platform, Customer Journey Analytics, Web SDK, and Launch Server Side. All of those new innovations will fundamentally change how we track data and process data once it has been collected. But since I got the opportunity to try out most of those exciting things myself, people often ask me why I still love Adobe Analytics as much as I do. My answer to that usually covers multiple areas. For example, I like how the App Measurement Library in Launch helps me to collect data efficiently. Analytics’ Processing Rules and Marketing Channels are another great tool to enrich our events after the collection. In a previous post, I already explained why I love prop-type dimensions quite a lot, since they can provide us with metadata on […]

Building the ultimate auto tracking implementation with Adobe Experience Platform and Web SDK

I think it’s no secret that a lot of companies, agencies, and analyst dread the amount of effort it takes to implement a sophisticated analytics tool like Adobe Analytics. That may come in part from the correlation between company size (and thereby business complexity) and choice of analytics tool, but it is quite clear that implementing Adobe Analytics in a way that fully utilizes both all of its countless features and what can be collected from a page is a challenge to even the most experienced specialists. This is where other tools like Google Analytics or smaller solutions like Matomo have their place. If your use case and business situation are right, they may be a quicker solution for you. The simplicity is quite tempting but would not be enough for larger businesses. That leads to a funny situation when people from agencies or small companies join a large corporate […]

A basic AEP Web SDK (Codename Alloy) implementation for Adobe Analytics

If you are taking care of an Adobe Experience Cloud implementation, there is practically no way for you to not hear about the new kid on the block: The Adobe Experience Platform Web SDK (also know as Alloy). It is the next big thing for how to implement solutions like Adobe Analytics, Target, Audience Manager, or the Experience Cloud ID Service. Instead of calling a plethora of different libraries and scripts, Web SDK is a single script that handles all functionality and calls trough a shared endpoint. On the other hand, it’s not available to the public yet. If you want to try it out, you need to contact your Adobe Customer Success Manager and request to be included in the beta. That will give you access to the Edge Configuration in Launch and a stripped-down version of Adobe’s Experience Platform to manage the XDM. This already hints that there […]

Using Flow and Fallout Visualizations like a Rockstar in Adobe Analytics

It’s no secret: I love Analysis Workspace. In fact, I think it is the main advantage Adobe Analytics has over Google Analytics. That is because Workspace allows for seamless collaboration between analysts, marketeers, product owners, and other business stakeholders. With enough enablement, there is no difference in which tools different groups of analytics users would use: It’s always the best one! Workspace is the perfect combination of sophisticated functionality and an appealing user interface. But because of this user-friendly interface, not every advanced function or use case is immediately apparent to every user. This can lead to funny situations, where experienced analysts never really use certain parts of Workspace that could save them a lot of work. In today’s post we will take a close look at two of the most undervalued features: The Flow and Fallout visualizations. While they seem quite similar in functionality and trivial to understand on […]

Bringing clarity to Adobe Launch using Call Traces

The Adobe Experience Cloud (AEC) comes with its very own Tag Management System (TMS). With Adobe Launch, by Adobe, implementing a basic set of AEC tools like Analytics or Target is quick and easy. That ease of implementation regarding Adobe’s own tools comes with the possible downside of having to put in more work for non-Adobe tools. Depending on how important those Adobe tools are to you, Launch might be your first choice as TMS regardless. Unfortunately, Launch is not ideal when it comes to more complex setups. For example, having a chain of actions that needs to be executed in a specific order can require some manual workarounds, like putting steps into separate rules. The same is true for guaranteed conditional execution within rules, which requires either custom code actions or branching rules into multiple others. I have seen setups with literally hundreds of rules because of those restrictions. […]

Announcing the open collection of Adobe Analytics best practices

Imagine a situation like this: You are facing a new challenge when using or implementing Adobe Analytics. What do you do? If you are like me, you first check out the documentation to make sure you’ve understood the available features correctly. Then, you start researching blog posts and articles around your topic to see if and how anyone has solved this before. If you are still unsure, you might ask some people on Twitter, LinkedIn, or the Measure Chat. As a last resort, you might even reach out to Client Care and ask for help. It’s easy to see why this approach is not ideal. First, it’s not easy to know if the way you approach a task is still the best way or if new solutions exist. Depending on which pages you found when researching, you might end up with an outdated solution or contradicting approaches by different authors […]

(Time-)Normalize Performance over time in Adobe Analytics’s Analysis Workspace

In Digital Analytics, one of the most common requests from business stakeholders is to compare the performance of two or more items on our websites, like marketing campaigns or content pages. While it is immediately obvious why this comparison is important to the business, it quite often leads to graphs like this, where the analyst tries to visualize performance over time: This solution is technically correct but makes it hard to really compare how both pages perform in direct comparison with each other. They went public on different dates and while Page A is rather stable in regards to traffic, Page B got a boost at around the middle of its time online. So, how do we make this simpler? When enjoying my free time between jobs, I caught up on some older videos from the Superweek Analytics Summit’s Youtube Channel. In 2019, Tim Wilson demonstrated how to align dates […]

Please, stop comparing Adobe Analytics to Google Analytics

This post is going to be a deviation from the “normal” content on this blog. Its purpose is to address one of the questions I received most often from a lot of people reading my posts. The title might already give away what that question is: “In your opinion, should companies buy Adobe Analytics or Google Analytics?” And I think there is something fundamentally wrong with this question. I think the above question can only be answered through some absurd level of generalization that does injustice to both tools. There are some agencies or consultants who end up doing this comparison to either seem neutral and independent, or drive traffic to their own sites. This annoyed me to a point where I started writing this post to have my answer ready at hand in the future. Bear with me on this one. To make my point, I first need to […]

Cool Approximate Count Distinct Use Cases – Adobe Analytics Tips

One of the things that really sets Adobe Analytics apart from other solutions is the ability to create sophisticated Calculated Metrics and Segments on the fly. You don’t need to be a highly trained Analyst or Data Scientist to create your very own set of Measures and Dimensions unique to your business question. The best thing for me personally is that we can create those metrics from the same interface where we do our day-to-day analysis and reporting. It doesn’t matter if we want to quickly create an average or build advanced time series analysis dashboards, it’s all right there at our fingertips. Today I want to tell you about one of my personal-favorite functions called Approximate Count Distinct. This functionality allows us to count how many different values from a dimension we tracked and use that number in both Calculated Metrics and Segments (making this function the closest we […]

Privacy-centered Analytics with Matomo and Adobe’s Customer Journey Analytics

Legal Disclaimer: Data Privacy is a diverse and ever-changing topic. This makes it nearly impossible to give reliable recommendations to a broad audience. Please consult your company’s legal department on whether those ideas described here are feasible under your jurisdiction. If there has been one predominant topic in the web analytics space for the last couple of years, it surely is data privacy. GDPR is a thing in Europa, COPPA in the US, ITP on planet Apple, and cookie consent banners on every website. Conducting a safe data collection practice as a global business has become more and more challenging, pushing businesses to be more and more careful. Because of this landscape, a lot of businesses are looking for a “bullet-proof” way to analyze website users’s behavior. While Google Analytics is a data privacy nightmare, tools like Piwik Matomo try to justify their existence by claiming to be more privacy […]

Even more Query Service tips to level up your Customer Journey Analytics game

It has been more than two weeks since my last post. Where have I been? Easy answer: Fully and blissfully engulfed in the blessing that is Adobe’s Customer Journey Analytics. I’ve imported my Adobe Analytics data, done some custom user stitching, and created some fun things that I didn’t even knew I’ve always wanted from Adobe Analytics. This experience (pun intended) has completely shifted the way I look at my own data. Following up on my last post, I would like to share some new and cool things I discovered using some more Adobe Defined Functions, window functions, and standard SQL. I wont give a long introduction into Query Service again, but feel free to revisit the previous post for some information on how Query Service interacts with Adobe Experience Platform datasets and how to write data back to those. Getting creative with Sessionization Recreating Adobe Analytics sessions in Query […]

My favorite Query Service tricks in Adobe Experience Platform for Customer Journey Analytics

Wow, that’s a long title for a post. As you might have heard, I recently got the chance to dive into Adobe’s Experience Platform since my company got provisioned for Customer Journey Analytics. That means that I now have all my Adobe Analytics data in Platform, ready for Query Service to enrich it. I think I will do another post on how I amp up my Analytics game by using both Query Service and Customer Journey Analytics together. But this post will give some examples on how to use Query Service in general and how it interacts with Experience Platform. It will be a quick tutorial and provide some use cases for the custom Adobe Defined Functions (ADFs). At the end, you might end up with long SQL queries like I do: How Query Service works and interacts with Platform So what actually is Query Service? It provides a SQL […]

Adobe Customer Journey Analytics – The big Game Changer

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 […]

How I build my Adobe Analytics Implementations

Getting the most out of enterprise analytics systems is not easy. A lot can go wrong on the way from gathering business requirements to getting actionable insights. While most of my posts are focused on the analysis or reporting capabilities of Adobe Analytics, this post is focused on how I plan and build my implementations. With an analytics system like Adobe Analytics, even small implementation choices can have large consequences later down the value chain. Errors and misjudgments can lead to skewed data that is affected in a non-obvious way. The implications range from more effort during analysis or higher maintenance to wrong conclusions and business decisions. This post will walk you trough the number of steps I take when planing a new Adobe Analytics implementation. While I’ve been successful in delivering value by following those, there might be situations where a different approach is better suited to the task […]

Why I still love Props – Confessions of an Analyst

Experts are supposed to know everything about a certain topic. And not only are they suppose to know things, they also are expected to behave in the best way possible. Their past decisions are the benchmark for how to assess future situations and judge what to do. But all experts have their little secrets, where they deviate from the gold standard and do something that is outdated, unpopular, or straight-out embarrassing. This post is about one of the things that I still do today and only talk about seldom because it became unpopular a while ago. So here it is: I still use Props in all my Adobe Analytics implementations. But not only do I use them, I secretly love them! Both Adobe themselves and veterans like Jan “Props must die” Exner advise on not using them any more in the future. So this is my confession to the world […]

Retention Analysis in Adobe Analytics โ€“ Part 2: Custom Segments and Metrics

User Retention is crucial to any digital offering. If you optimize your offering to a point where users come back on their own, you can not only save on marketing cost but also engage your existing users more. This makes retention analysis a prime example for how digital analytics can provide tangible business value. In the previous post, we used Cohort Tables and some builtin features of Adobe Analytics to analyze User Retention. But there is a lot more Adobe Analytics has to offer once we start using Segments and Calculated Metrics. In this post we are going to build our very own Segments to see how many of our Users we are able to retain. Based on those Segments we will then define some Calculated Metrics to make our lives even easier. I’ve also put the results on the Open Adobe Analytics Components Repository. Let’s start building! Simple User […]

Retention Analysis in Adobe Analytics – Part 1: Cohort Tables and Builtin Functionality

User Retention is crucial to any digital offering. If you optimize your offering to a point where users come back on their own, you can not only save on marketing cost but also engage your existing users more. This makes retention analysis a prime example for how digital analytics can provide tangible business value. In this post, we are going to take a look at how we can analyze user retention with the most advanced digital analytics tool, Adobe Analytics. We are going to start in this post with the builtin analytics dimensions and metrics, then take a look at cohort tables, and in the next post even build our own Segments and Calculated Metrics to help us understand retention. Let’s get started! Builtin Retention Metrics and Dimension To start things off, we will take a quick look at what Adobe Analytics has to offer out-of-the-box to help us understand […]

Call for contributions! Introducing the Open Adobe Analytics Component Repository

Over the last few months I created quite a lot of Calculated Metrics and Segments for this blog. While the feedback has been great, it became more and more difficult, for me and others, to keep up with all the different metrics and where exactly I used them. I’ve been using a privat Github repository to keep track of everything I create which I now make available to the public. I will put all the metrics and segments I have already created on there as I migrate them from my private repo. The same will be true for future posts on my own blog. My hope is that this will help me stay on top of all those components and maybe help somebody else to find them more quickly. But since I host it on Github, why not make this a collaborative effort? Share your work and earn kudos From […]

Time Series Analysis through Moving Averages – Statistics in Adobe Analytics

In what has become one of the most read series on this blog I am showing some examples of what Adobe Analytics has to offer in regards to statistical analysis. In the previous posts we took a look at simple averages and standard deviations, regression analysis and even forecasting. In this post we are going to use a variation of the simple mean called moving average. When dealing with time series data we might encounter what is called “noisy data”. Instead of showing as a steady line our KPIs might go up and down from day to day, making it hard for us to judge where the general trend is headed. One way of solving this is through the regression modeling we did before, which gives us a straight approximation line. But what we can also do is average the data for a defined window along our series, which is […]

Summary Report Suites in Adobe Analytics

Ever since Adobe released Analysis Workspace in 2016, customers were looking for a way to combine data from multiple Report Suites within a single Project in Analysis Workspace. Earlier in 2020 we were finally able to pull data from more than one Report Suite in Workspace, since Report Suites could now be selected on a Panel level instead of for the whole project. While this feature is awesome and a huge improvement, users like myself still wanted to combine multiple Report Suites in only one Freeform Table within the same Panel. Unfortunately, we still have to invest some work to get a view like this, where the right Table combines data from the two Report Suites on the left: The screenshot above was taken from a Report Suite which was created to summarize data from other Report Suites. This can be done without any changes to the implementation or additional […]

Advanced Time Series Analysis through Linear Regression โ€“ Statistics in Adobe Analytics

Previously in this little series, we took a look at how we can describe our trended data by using the statistical Mean and Standard Deviation. While this works quite well for data that doesn’t change much over time, it is rather limited in regards to take trends into account. With this post, we are doing something about that issue by using Linear Regression techniques. At the end of this post, you will get an Analysis Workspace project like below, where we can judge trends in data and see changes over time: Let’s get our hands dirty! Limitations of Mean and Standard Deviation Before we start, I want to explain the problem outlined above a bit better. Please consider the following graph I generated with the Workspace from the previous post and some demo data: What we see is a clear trend in our data, since our daily Unique Visitors are […]

Simple Time Series Analysis through Standard Deviation – Statistics in Adobe Analytics

In my last post, we took a look at how Descriptive Statistical Analysis can help us understand our site performance using the simple Mean. I introduced the concept of conditional counters to help us identify our top- and bottom-performing sites. Today we are going to extend our knowledge of descriptive statistical methods by using Standard Deviation on trended data and apply conditional counters to it as well, but with a new spin. If conditional counters are new to you, it might help to check out that last post! As last time, we are setting ourselves a goal for this post. At the end, we want to have a nice workspace to help us understand our trended data better. We need a way to judge if the fluctuation in our data is within an expected range and how often it is not. This is what we are going to build: Let’s […]

Simple Mean and Conditional Counters – Statistics in Adobe Analytics

In my last post, we took a look at how we can predict the future through Regression Analysis with Adobe Analytics and visualize it in Analysis Workspace. While that was a quite advanced post, there are a lot of things we can do using basic statistical analysis. This is what we are going to look at in this post, exploring some ways to describe our data in a standardized way. At the end of this post, we want to describe our relative page performance for a website like this, showing us top- and low performing pages and how many there are of both: Describing ranked website performance relative to the Mean This first part will show how we can level-up our ranked reports. Let’s pretend we want to judge how certain pages on our website are performing. To do this, we might start with a simple table containing our Page […]

Predictive Regression Analysis – Statistics in Adobe Analytics

Adobe Analytics is awesome for analyzing historical data. Besides Segments, Drilldowns or Derived Metrics, it also offers some advanced statistical functions like Regression Analysis. Here are some examples for the different regression models that are available today: It would be really cool if we could use this functionality to predict the future with some regressive models! This is what this article is going to describe by using advanced calculated metrics. In the end, we want to have a graph like this, with the historical and future data in the same visualization: We will go through the whole process of generating a metric like shown above. If you just want the result, you can scroll down to the bottom of this article, where I show the complete metric. Let’s start! Statistics 101: Simple Linear Regression in Adobe Analytics To start things off, let’s remind ourselves what regression analysis does. To keep […]

So, is Web Analytics your dream job?

I’ve been working in Web Analytics for over a decade. During that time I had the pleasure to meet a lot of people: Analysts, product owners, marketeers, architects, developers, and so on. I hired a bunch of them, applied to others myself, onboarded and trained a whole lot over the years. No matter who I’ve been talking to, sooner or later, one type of question would always come up: Will this be fun? Am I going to be okay? There are a lot of articles out there focused on the skills needed to start with Web Analytics. As always, Google can help you find those (or go to Julien’s Blog if you want a recommendation). There also are some talking about the necessary mindset. With this one, I will try to give you an impression on the qualities I observed while talking to Web Analysts who love what they do. […]

Supercharge your Adobe Analytics Classifications with Google Sheets and Automation

Classifications are one of the best features of Adobe Analytics. They allow to enrich and translate tracked values by uploading classification files. One of the most common use cases is handling marketing campaign tracking codes, which can be translated from technical ids to understandable details about the campaign. This can be automated to a great extend, which is what this article will be about. We are going to look at the architecture of our solution and plan our implementation. Right after that, we will start building our spreadsheet in Google Sheets and create an automatic upload to Adobe Analytics using the Python programming language. If you are just interested in the final script, you can find it on Github. What we love and hate about Classifications When you are using Adobe Analytics, chances are pretty high that you are already using some form of classifications. Rightfully so, because they are […]

Adobe Analytics Introduction: Terms and Concepts

This is one of several post aiming to give an introduction into Adobe Analytics. They are intended as both tutorials and references for future use. While there already are a lot of good sources for this, some are quite dated and miss connections to recently released features and enhancements. In this post, I will explain some general things that are helpful to know when starting with Adobe Analytics. We will go over different interfaces to analyze data, explain Dimensions, Metrics, and Events and name some common integrations. Know what you are looking at: Dimensions One of the most important building blocks of Adobe Analytics are Dimensions. With Dimensions, we capture descriptive values on our websites or in our apps. Many people call them variables when explaining the general concept. On a website we might record the name of a certain page in a dimension. This would allow us to report […]

Integrating Adobe Target and Adobe Analytics into Voice Assistants

With digital experiences on the rise, interactive Voice Assistants like Amazon Alexa, Google Home or Apple’s Siri are still gaining popularity. Companies now need to meet their customers expectations and allow them to interact with their brand however they like. Those new possibilities require a clear strategy to avoid wasting time and resources on products which nobody actually uses. Adobe Analytics can help understand digital experiences better and drive value through customer feedback. With Adobe Target for personalization and experimentation, nothing can stop you from delivering the right experience at the right time. This article describes how both Analytics and Target can be integrated in Voice Assistants’ backend systems to track and test how users are interacting with your App. We will be using the a direct integration with the Experience Cloud ID Service, sync identifiers and use them for Analytics and Target. Target will then be used to personalize […]

Generating more business value with the Adobe Analytics dashboards App

The Adobe Analytics dashboards App has been out for some days now. It has been one of the most demanded features among Analytics users for years. Personally, I had to disappoint my business users for quite some time whenever they asked for an App. So naturally, I was quite happy when it finally came out. Before the app arrived, we had to build workarounds to enable people to take Analytics data wherever they go. At my company we utilized Power BI to pull data from Analytics and offer it in some form of mobile app. That was a huge pain, since we had to rebuild things we already had in Analysis Workspace and maintain two products. We also had to make huge compromises regarding interactivity with data and visualizations. I’m very happy we don’t need to do that any more! One of the concerns I had before I gained Beta […]

Importing Organic Google Search data to Adobe Analytics with a single script

Some time ago, I published an article explaining how to get Google Search performance data from the Google Search Console to Adobe Analytics. For that post, I explained to query the Google Search API, write the result to an Adobe Analytics Data Source file, and upload it to Adobe Analytics. The same can be achieved in a more automated way using the Adobe Analytics Data Sources API, which is what this article is about. It explains how to use a script I published on Github. If this feels to advanced, feel free to go back to the old article. So, why another article about this topic? The old post received a lot of attention and led to some companies adopting the methods I described there. But if you try to implement it in a production environment, you would need to take care of some things yourself. For example, you need […]

Getting Google Search Keywords into Adobe Analytics

While Adobe Analytics is a much more mature solution compared to Google Analytics, the latter always had an advantage when it comes to Search Keywords. It shouldn’t surprise us that the company who offers both the search engine and the analytics tool has some integration between them. While it was easy to get search keywords from the target URL in the past, those times are gone for years now. Ever since then, business were struggling to know what their visitors were initially looking for when they came to their webpage. This article outlines a couple of ways on how to achieve this in Adobe Analytics. For this post we will take a look at the integration Adobe offers to Analytics Prime customers called Advertising Analytics. Right after that we are going to build our own integration based on the same method to get some insight into Google Ads performance. To […]

Trying out the new Adobe Analytics App

Adobe Analytics still is the most complete solution for Digital Analytics. But for years, there has been one thing missing: A mature way to use dashboards on the go, without using your computer. While Analytics is usable on mobile browsers on a technical level, it is not the best user experience for both Analysts and Business Users. This is why a real Mobile App has been one of the most requested features over the years. And guess what: Adobe just released one! Who this App is made for There is one important thing to know about this new App before diving into the features and interface. Let’s ask ourselves first who the target audience for this app is, because it most likely is not primarily made made for you if you are an Analyst. It is not made to offer the same feature set that Analysis Workspace offers and I’m […]

Deciphering Adobe Analytics’s Mobile SDK Debug Output

Developing Mobile Applications is hard. Period. As a company offering Mobile Applications, you need to go to great length to develop Apps that don’t disappoint or annoy your customers, let alone engage them. New versions have to go through tedious testing, both from you and Google or Apple before any changes can be rolled out to your users. This is why accurate measurement of your Apps is crucial to making them successful and delivering value to your customers. But this introduces a whole new layer of complexity. Now your developers not only need to make the App work but also need to implement Analytics into it. This can go two ways: Either they follow your tracking concept to the letter while not understanding the methodology and purpose behind it. Or you try to involve them more and make them understand why things are done in a specific way and how […]

Using Adobe Launch ๐Ÿš€ for configuration management

Adobe Launch (, by Adobe) ist the tag manager that comes for free with the Adobe Experience Cloud. You can use it to manage and orchestrate all the marketing tags on your websites (not only from Adobe) and reduce integration efforts for the mobile Adobe SDKs to just copy-pasting from the launch interface. For a tutorial, look below on this post. Launch is the successor to the Adobe Dynamic Tag Manager (DTM) which was used in the past, formerly known as Satellite. In 2018 Adobe announced plans to retire DTM fully by 2021 (source: https://medium.com/launch-by-adobe/dtm-plans-for-a-sunset-3c6aab003a6f). So if you are still using DTM, you should start migrating to Launch, which is only a one-click-action under ideal circumstances. Launch can host scripts for pre-tailored use cases (called Extensions) or custom code. With rules, we define when and where things should happen. Last, Data Elements let us define variables that we can use […]

Analysis Workspace Hacks (AGE) – Metric Targets

This is a post in the Adam-Greco-Edition (AGE) series of posts. They aim to iterate on some great posts by Adam Greco, showing some different approaches to achieve similar things. In another great Post, Adam Greco showed how we can have Metric Targets in Analysis Workspace. His approach includes setting up a Data Source to import Goals to a Custom Event. This is a very nice approach, but has some serious limitations. Because it utilizes Data Sources, all their limitations apply (see documentation). Most importantly, data can not be deleted or changed once it has been imported. Also we need to sacrifice Custom Events for every Goal we set. The setup is also very involved and not suited for non-techie people. What I would like to have is a Goal Metric that does not use valuable Custom Events, is changeable over time, and understandable and usable by non-technical users. As […]

Analysis Workspace Hacks (AGE) – Average Daily Unique Visitors

This is a post in the Adam-Greco-Edition (AGE) series of posts. They aim to iterate on some great posts by Adam Greco, showing some different approaches to achieve similar things. In one of his posts Adam Greco shows a way to replicate the Daily Unique Visitors Metric from Reports & Analytics in Analysis Workspace. His approach involves creating a Calculated Metric for a given time range, summing up the Visitors for each day. There are some limitations to that approach. The obvious one is that we need a new metric for each date range we want to analyze; We can’t use a 7-day Metric if there are 8 days to analyze. Second, Visitors are not deduplicated but summed up over all days in the reporting window (just as in the old interface); So a Visitor visiting our site three times would be counted as three Visitors. Last, the name could […]

Analysis Workspace Hacks – Next and Previous Page Report

Analysis Workspace is the most capable solution for Web Analysts today. It allows us to switch between building a Dashboard or old-school Report or something in the middle on the fly. It has surpassed the old Reports & Analytics Interface in functionality and workflow effectiveness and leaves you longing for it once you start using different solutions. But there is one thing that is not that awesome in Analysis Workspace yet: Pathing. Once you activate Pathing for a custom prop, the old interface gives you Next and Previous Reports for that prop, just like with the Page Dimension: As a result we get a nice table with the Next or Previous Dimension Items for a given Item. Hacking Analysis Workspace’s Flow Visualizations The closest thing to that functionality is the Flow Visualization in Analysis Workspace. It allows us to see a Flow of Users between Dimension Items or even across […]

Analysis Workspace Hacks – Link Events on Page Reports

Adobe Analytics gives us two types of events to use for our tracking implementation. With Page Tracking (calling s.t() in Websites or trackState() in Apps) we are supposed to measure when a page has been viewed. If we want to measure interactions on a given page, we would use Custom Link Tracking (s.tl() in Web and trackAction() in Apps) for that. The reasoning behind that is quite simple. If there was only one function, we would either end up with increased Page Views for every on-page event or have to take care of the distinction ourself by using valuable props or eVars. So from a simplicity standpoint this approach makes a lot of sense. But there is one problem: When using Custom Link Tracking, you can not set a pageName for that call. Adobe Analytics just ignores whatever you set for the pageName, because pageNames only make sense in the […]

Migrating from Androidโ€™s BroadcastReceiver to Google Play Install Referrer API with Adobe Analytics

Adobe Analytics can track not only websites, but mobile apps just the same. This is achieved by using the Adobe Experience Platform Mobile SKDs for native iOS and Android apps. One very interesting part of tracking mobile apps is known as acquisition tracking, which looks at how users found the tracked app. To help with this, Adobe exposes some functionality in their SDKs to listen for the events that the mobile operating system is using to tell apps about the way they have been installed. This happens โ€œautomagicallyโ€ on iOS but needs some custom implementation on Android. BroadcastReciever and Install Referrer API on Android Adobe requires to use a very old implementation method called BroadcastReceiver. That method relies on the Google Play Store App sending a message (a broadcast) to the app that has just been installed, telling it about the details of the install (like which marketing campaign has […]

Blogging Ideas for 2020

So, 2020 is here. Happy updated-copyright-notice! While I need to republish my website because of just that, why not think about what to write in the new year? Here are some ideas of what I may spent an article on: Adobe Analytics. Obvious choice, topics may be: Starting tips, explanations and tutorials. Give some definitions and examples for people starting with Adobe Analytics, explaining Dimensions and Metrics, props vs. eVars, interfaces, etc. Use case examples. Show how to analyze the user journey in Analytics and what to consider. Integration examples. Talk about how to integrate Analytics to get the most value with some Open Source tools for Realtime and Big Data stuff or Classifications. Admin tasks. User management considerations, setting up different things. Analytics analytics. Monitoring your adoption by looking at Analytics logfiles. Expert level stuff. Get into details about how props and eVars work internally, how time spent is […]