Marketing Channels just got so much better in Adobe Customer Journey Analytics

Like it or not, but analyzing marketing performance is a key requirement for any digital analytics solution. Even solutions that try to find a niche by self-branding themselves as “product analytics” tools have some more-or-less developed feature to analyze marketing performance. In Adobe Analytics, we can use the Marketing Channels feature to analyze where the traffic on our website is coming from. So far, so neat!

However, Marketing Channels in Adobe Analytics have one big drawback: They rely on comparatively simple Processing Rules. In those Processing Rules, we have to find a way to identify traffic for a given channel only by using what is available during data collection. Many customers use the Tracking Code dimension to achieve that, forcing them to use campaign codes like “searchads-123” to identify traffic from paid search ads. In the Processing Rules, they would then configure a rule like this to identify SEA traffic:

Paid Search Marketing Channel Processing Rule in Adobe Analytics

While this worked well enough in the past, it seems like a slightly antiquated approach today. But even worse than that, it forces us to put the (potentially confidential) channel information right in the campaign code! What may seem innocent enough for SEA might become a bit too obvious for partners, affiliates, or even influencer marketing. Not all company information belongs into a website’s URL, even if it’s in the campaign code!

Luckily, Derived Fields (CJA’s most exciting new feature since a long time!) recently got an update that might be able to help us here. With the new Lookup feature, we are able to translate random tracking codes into descriptive channel information. Let’s see how we can put that feature to work!

Creating Marketing Channels in Customer Journey Analytics

Let’s start with the basics. To be able to analyze where traffic to a website is coming from, we need a way to identify the source by some of the information we get from the browser. Adobe’s amazing CJA product team is giving us some help to get started by providing a Marketing Channels template in Derived Fields.

If you have never worked with Derived Fields before: I’ve recently shared my excitement about them and hosted a webinar with Derek and Eric from Adobe. We covered Marketing Channels but also quite a number of more creative use cases. The recording is available here, no registration needed!

To use the template, we simply start with a new Derived Fields within the Dataview editor. From there, we can simply select the pre-built Marketing Channels template:

Applying the Marketing Channels Derived Fields template in Customer Journey Analytics

To find the template, first select “Function templates” in the dropdown (1), then drag and drop the Marketing Channels template (2) onto the canvas. To make the template work, we first have to select the XDM field for the page URL (3), then the campaign parameter we use (4) to tag our traffic. I’m using the classic “cid” URL parameter here. Last, we choose the field containing the page referrer (5). That’s all we need to do for the basic template!

As you can see, Adobe is following the example from good old Adobe Analytics. Just as we would in Core Analytics, the template encourages us to use the raw tracking code, which would lead to some rules like below:

Default tracking code logic in Customer Journey Analytics

For this to work, we would again need tracking codes like “eml-123” or “dis-456”, clearly telling our website visitors how we identified their origin. Don’t get me wrong, you are not entirely wrong in doing this, this is pretty much what everyone is doing today. But with CJA, we can now do much better, and here is how!

Using the Lookup function in Derived Fields for Customer Journey Analytics

You may already have heard about the similarly named Lookups in Experience Platform. Very similar to Classifications in Core Analytics, Lookups allow us to translate values from a technical id, tracking code, customer id, or anything else to one or more human readable values. Just like any data in AEP, we need to first define a fitting XDM Schema to define which fields we want to use. For this simple example, my Schema looks like this:

Tracking Code Lookup XDM Schema in Experience Platform

The data for this Dataset might come from a Classification Management Tool like Accutics Standardize, your old Adobe Analytics instance, or even some manual upload. With this lean set of fields, we are able to translate a tracking code like “jf38383ujf” into the Channel, Channel Type, and Campaign. Neat! But how does that AEP feature help us in CJA? I’m glad you asked!

Once we have the Lookup Dataset added to our Connection in CJA, we can utilize it in a very unexpected way within Derived Fields! To do that, we again use the Marketing Channels template but add a bit of customization (yes, we can absolutely customize templates!) to it. Specifically, we do this:

Customized Marketing Channels template in Customer Journey Analytics with custom Lookup

First, we find the Lookup function (1) in the list on the left, then we drag it right under the Query Parameter block on the canvas. As input value, we re-use the Query Parameter (2) like before. But now, we first select the Lookup Dataset (3) and choose the identifier that contains the tracking code (4). Last, we need to tell CJA which value we want to return from the lookup, which is the Marketing Channel (5) in our case.

What this now does is quite amazing: Instead of having to derive the Marketing Channel from a fragment of the Tracking Code, we can simply use our (hopefully) existing Classification process to first do the translation, then use it in the later rules! Remember the ugly initial setup we’ve done before? This is how nice and clean it can be done now:

Marketing Channels in Customer Journey Analytics, setup the correct way!

See? No more need for tracking codes that give away our marketing strategy to anyone who happens to click on a link to our site! No more super obvious links that just ask to be exploited or blocked by Apple’s ITP efforts. I’m super excited about this much nicer way of tracking campaigns, as it is one more of the amazing capabilities that CJA enables for us!

Closing thoughts

This was a lot of fun! Once I learned about Lookups within Derived Fields, I immediately wanted to write this post. Finally, we can create our tracking codes in a much simpler, way more robust and confidential way. Even better than that, the admin process is simpler, too! What’s not to love about this?!

Of course, I want to point you to a few useful resources for further inspiration. First, I can highly recommend the live stream with Derek and Eric, as it’s really just an hour of fun with the feature. Secondly, if you need a tool to create tracking codes in any taxonomy, check out my company’s product Accutics Standardize, which was made for exactly this fast-changing marketing landscape. Lastly, check out the recommended articles on this blog below. I specifically asked the recommendation engine for some extra-great content, so make sure to give it a read!

Thank you for reading and have a great day!