Welcome to the first of potentially many posts in a newly-found yearly tradition. At some point during the year, I noticed that I don’t have a continuously updated list of the things I’ve been up to outside of this blog. And even besides that, it is sometimes hard to keep up with all the content that eventually makes it onto the blog. To help with both, I’m planning to release a post like this every year, potentially in the last week of the year. I’m going to try my best to remember all the conferences, events, webinars, and foreign posts (or even update a draft post throughout the year) and put them in some sort of order. Thank you for another great year on this blog and I hope you enjoy all the different pieces of content! I have a YouTube channel now! Writing blog posts definitely is my go-to […]
Tag: Adobe Experience Platform
Should you buy Adobe Analytics or Customer Journey Analytics for Web Analytics use cases today?
The market for web analytics tools is going through some big changes right now. On one hand, Google has officially announced to sunset Universal Analytics (also known as “the ‘good’ Google Analytics”) next year in favor of the universally hated GA 4. On the other hand, Adobe is heavily promoting their new tool Customer Journey Analytics, both to new and existing Adobe customers. There is no doubt that, at some unannounced point in the future, Customer Journey Analytics will become Adobe’s only analytics tool. However, there is one important detail about Customer Journey Analytics that we need to keep in mind: It is not a dedicated web analytics tool like good old Adobe Analytics. Customer Journey Analytics is built to handle data from all sources you can think of, not just websites and apps. Because of that, Adobe Analytics still has some unique features, like the Visitor Profile, that are […]
Understanding and utilizing the Event Object in Adobe Launch
Adobe Launch provides a lot of comfort and clever features to make tag management super easy. Quite a few of those features, like the amazing Constant Data Element, are provided directly in the Launch UI. However, there are a bunch of nice surprises waiting for us once we start exploring the more backend-y technical capabilities. One place where we can catch a glimpse of what Launch has in store for us is in the configuration of Custom Code Actions from the Core Extension. All we have to do is hover our mouse over the Execute globally tool tip: Adobe points us towards three technical variables which we can use in our implementations. One of them is, in my experience, especially useful: The event object. But what is it and why should you use it? Let’s start exploring! What is the Event Object in Adobe Launch? As you are probably aware, […]
Cookie-less Server Side Tracking with Adobe Customer Journey Analytics
If there is one big hot topic in digital analytics right now (besides the unfortunate sunset of Google Analytics 3 and GDPR news) it quite possibly is the recent trend of what many call server side tracking. Currently, server side tracking is an obligatory agenda item at every analytics conference and virtually every vendor of analytics or tag management systems is working on a way to serve the rising demand. However, while there is a lot of talk around the topic, there is no shared definition in our industry of what server side tracking actually is. Jim Gordon has assembled a nice overview of what people might mean when they talk about any of the underlying concepts. In my personal experience, people usually refer to a form of server side tag management, often using Google’s server side tag manager, that still uses some logic in the client’s browser. Adobe has […]
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 […]
Should you really build an Adobe Launch Extension?
If you are using any solutions from the Adobe Experience Cloud family of tools, chances are you are also using Adobe’s Tag Management System, Adobe Launch. Launch works like many other Tag Management Systems (TMS), in that it can bring tools and code to a website without the need to change the source code of the website it is running on. This allows the users of the TMS, typically digital analytics or digital marketing teams, to be somewhat independent from IT and development teams when they want to bring technology, like onsite analytics or marketing pixels, to a page. In Adobe Launch, Extensions are used to bring the actual functionality to the websites that it is running on. A good example for this is the Core Extension: This Extension allows us to run JavaScript code on the website (using the Custom Code Data Element or Action), listen for events like […]
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 […]
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 […]
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 […]
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 […]