With Adobe Target, it is all about the Profile

SEARCH BLOG

Before there was Adobe’s Audience Manager or the Marketing Cloud Visitor ID service with A4T, there was the Adobe Target Profile. In fact, this Profile goes all the way back to the roots of Adobe Target, to Offermatica. This Profile, as old as it is, doesn’t really get the attention it deserves given the massive punch that it packs. In my humble opinion, this Profile is arguably one of, if not the most valuable components of the Adobe Target platform to this day. In fact, I have a whole chapter dedicated to it in my book as this Profile not only enables strategic personalization testing efforts but also allows for highly custom configurations of tests.

Given all that the Profile can do, I still find myself surprised to see just how many organizations are not really using it to its full potential. In fact, I sadly still find organizations that are unaware of the capabilities that exist with the Profile or even how to use it. Just late last week, I had a call with an organization that uses Adobe Target regularly and they shared that they had never heard of it which is one of the reasons why I am writing about it here today.

What is the Profile?

So what is this Profile exactly? In geek speak, it is a collection of server-side visitor attributes stored on Adobe Target’s servers. These visitor attributes are directly mapped and associated with the first party visitor identifier (PCID) that Adobe Target uses for visitor management.

In plain speak, the Profile is what Adobe uses to manage visitors but it also enables Adobe Target users to create audiences. These audiences can be used to target tests to or to segment test results by, among other things. These audiences are completely independent of any test so you can use them across tests as well. The Profile enables audiences to be created based off of site behavior, environmental data, temporal data, first-party data via data layer or cookies, third-party data or offline behavior. These Profile attributes can also be shared internally or externally.

Example Profile

Consider this example to solidify the concept. You are an Adobe Target user and you want to create an audience within Adobe Target of visitors that have made a purchase. You can do this because you know that the thank you page or the purchase complete page has a URL that contains “thanks.html”. Without having to bother IT, you can create this audience within the Adobe Target user interface using profile scripts. Profile scripts are simply snippets of code that execute on Adobe’s servers to define the profile attribute and in this example, our profile script will be read sort of like this:

“if the URL contains ‘thanks.html’, return true”

If we name this profile script “previous_purchaser” that creates a profile attribute called “previous_purchaser”. Profile scripts execute to create “profile attributes”.

Whenever Adobe Target technology is seen by a visitor (by way of mbox calls), it creates a Profile. Let us assume that in this example here that the visitor had never been to this site before and entered the site initially on the home page. If Adobe Target is in place on the home page, that is where and when the Adobe Target Profile was born for this visitor. As this visitor traversed the site and made its way to making a purchase, Adobe Target was called several times by way of mbox calls. Every time the mbox makes a call, these server-side profile scripts execute or are evaluated to create profile attributes.

When the mbox call took place on the ‘purchase complete’ page where the URL contained ‘thanks.html’, this profile script we created above will then set a value of true! This happens because each mbox call passes along the URL of the page it fired from.

In this case, the Profile was born on the home page and we are simply adding to that Profile that already exists with additional metadata. In this case, we are adding an attribute with the name of “previous_purchaser” with a value of “true” to visitors that have made a purchase.

Now, Adobe Target users can target content to previous purchasers by creating an activity or test where the test audience is made up of the profile attribute “previous_purchaser” equal to or containing ‘true’. Adobe Target profile attributes are ready for immediate use which makes them quite powerful. You can use this “previous_purchaser” profile attribute on the very next page impression if you would like.

To summarize, our Audience is “Previous Purchasers” and we used “profile scripts” to create “profile attributes” that augment the Adobe Target Visitor Profile. Only those visitors that saw the ‘purchase complete page’ will have this additional profile attribute for this example.

This example of previous purchasers is commonly used and one of the simpler use cases of using Adobe Target’s Profile to create audiences with profile attributes. The sky is truly the limit when it comes to creating these audiences and we are not limited to a single event such as seeing a ‘thank you’ page.

Client side

The above example highlighted the most common way users of Adobe Target create profile attributes, through the user interface of Adobe Target. Because these profile scripts execute on Adobe’s servers vs. the web page where visitors are seeing content, we consider these profiles to be server side. When profile attributes are created within the user interface, they have the syntax of user.profile_attribute in the profile section of Adobe Target. This is to differentiative this method of creating profile attributes vs. the alternative method which is client side by way of passing data to the mbox call.

Here is a generic example of mbox call and the text in red represents a profile attribute. When Adobe Target sees a parameter value pair that has “profile.” at the start of it, it will augment that visitor ID with this new profile attribute.

If your organization leverages Tag Management or you have rich server-side data, you will find significant benefits to this client-side approach. It can serve as a nice way to get data layer or managed data into Adobe Target quickly without having to write scripts in the Adobe Target interface. Adobe limits profile attribute passing to 50 per mbox call and please consider the size of your mbox call when you add many profile attributes.

Profile facts

There is so much to profiles and many fascinating use cases for them. In the months ahead, I plan on sharing more about what profiles can do and some fascinating use cases. I just wanted to get the general concept of Profile attributes out there here. In fact, there is a cool project in the works at MiaProva to help organizations make better and more strategic use of this capability. More on that soon but here are some facts and factoids on profile attributes that you might find helpful.

The Adobe Target Profile that each one of your digital consumers has (assuming you have a global mbox) expires, by default, after 14 days of inactivity. This means your audiences do too since it is mapped to the Profile that Adobe Target manages.

Mutual exclusivity within Adobe Target is doable because of profile scripts.

Adobe has a rich set built-in profile attributes that can be very helpful. Things such as what ‘active tests’ users are into or the value of the unique visitor ID. More information on that here.

Profile Attributes can not only be used for Adobe Target but for Adobe Recommendations and for Automated Personalization efforts.

Profiles can be static or dynamic – for example, you can have a profile attribute ‘have purchased’ and another profile attribute ‘number of purchase events’ that would increment every time the event happened

Profiles attributes can be created using the values of other profile attributes.

Profile attribute values can be passed onto other platforms. If you’ve ever used the s_tnt integration with Adobe Target that passes test data to Adobe Analytics, you are using profile attributes (test name and experience name) and are sharing that to Adobe Analytics for consumption.

Automated Personalization LOVES profile attributes for their content decisioning. If you want the models to consider an important data attribute of yours, create a profile attribute!

If you want to manage experiences across test activities, you would use profiles attributes. For example, if you want everyone that got Experience B of one test to get Experience B of another test, you target both Experiences to the same profile attribute.

If you weren’t already familiar with the Adobe Target Profile, I hope this post helped serve as a nice introduction to the Profile and how users can use attributes to append to the Profile to create audiences. Profile attributes allow testers to up their game big time! In an upcoming post, I will dive into mbox3rdPartyId which brings the Profile and its attributes to a whole new level!

5 Comments

kacyNovember 10th, 2017

Hi Brian. This is an excellent post. Thank you so much. Perfect timing for me. I am just getting started with Adobe TnT and have many questions. 1) I am still not exactly clear on the syntax for writing profile scripts. Do you have any resources for writing these? I know it’s JavaScript/Rhino, but I write FE JS and am not entirely familiar with BE JS. 2) Is here any way to debug the profile scripts? How can I verify that the profile script I wrote is actually working. 3) Where exactly am I writing the Client-side profile? Is that a rule?

Nice article. From what I understand, the 14 days of inactivity can be extended to 90 days, so if someone with profile attributes arrives after 89 days it will be there and preserved for another 90 days.

Brian Hawkins has worked in the optimization and personalization sector since 2006, first as a Senior Consultant at Offermatica (acquired by Omniture in December, 2007) and then as a Sr. Enterprise Solutions Architect as part of Adobe’s Target group. At Analytics Demystified, Brian works directly with clients to deliver world-class site testing, optimization, and personalization capabilities. Brian published a book about Adobe Target in 2014 and has authored three white papers on optimization.
As an employee of Analytics Demystified, Brian is a member of the Digital Analytics Association (DAA), an Adobe Business Partner, and a Google Analytics Certified Partner. Brian is also the founder and CEO of MiaProva.