Who’s who in the Ambient Data Framework

target_audienceMy current project has the ambition to use almost every aspect of the SDL Web suite of products, from plain old Tridion through Audience Manager, SDL Mobile, SmartTarget and finally Campaign Manager – and of course all working via Experience Manager, to provide inline editing and contextual preview.
When looking at how these integrate, all roads lead to… The Ambient Data Framework. SDL provides a number of off-the-shelf cartridges which have varying degrees of mystery – this post aims to clear the mist and describe a little bit more than you get from the docs.

So whats is the ADF?

Its basically a common store of contextual data about the current request in your web application. Your app and SDL products all read and write data to this store to communicate with each other and drive contextual experiences (show content relevant to your GEO location via SmartTarget promotions, for example). Eric Huiza explains it really well in his ‘Ambient Data Framework in a Nutshell’ blog, so I won’t go into further detail here.

Important concepts

Data is added/altered by means of pluggable ADF Cartridges configured in your cd_ambient_conf.xml configuration file.

These cartridges use claim processors to add/update Claims (name-value pairs) in the Claim Store. SDL provides some standard cartridges, which I list below, by product along with a bit of a description of how they work. I have to admit that I haven’t used them all in anger yet, but as and when I do, I will update/re-blog with some real world experiences.

Audience Manager

Audience Manager Cartridge (audiencemanager_cartridge_conf.xml)

This cartridge loads in visitor profile data from the subscription database, and adds a claim for each profile field. The data is loaded anew on every request, so this could be database intensive.

Further information (login required)

Smart Target

Smart Target Cartridge (smarttarget_cartridge_conf.xml)

This cartridge retrieves the trigger types defined in SmartTarget and puts them in the claim store – this helps SmartTarget filter out which information in the ADF is relevant when building Fredhopper queries.

Further information (login required)

Session Cartridge (session_cartridge_conf.xml)

I originally thought this was something to do with XPM session preview, but don’t be confused by the name – this cartridge is part of SmartTarget. It converts session data claims (derived from HTTP headers and session variables) into new claims with simplified uris so they can be easily used as criteria for SmartTarget promotions.

Further information (login required)

SDL Mobile

Context Engine Cartridge (cwd_engine_cartridge_conf.xml)

This cartridge loads in data about the device and browser making the request, and adds claims for each property (such as operating system, device type, screen dimensions etc.). SDL Mobile’s device database determines sensible defaults for these properties from the request headers (on initial request), and a cookie set by javascript in your site refines this data (for example calculating the exact display width and pixel ratio). Most claims are session scoped, so it does not repeatedly query the device database.

Further information (login required)

Context Expression Cartridge (cx_ambient_cartridge.xml)

This cartridge can be used to evaluate target groups which define context expressions based on claims already in the claim store. The result of the evaluation is put in as a new claim. This is part of the integration of Campaign Manager, however it does not have to be used only in a Campaign Manager context.

Note that Target Groups based on expressions can only be created/updated via the Core Service (as of time of writing). Target groups are published to the storage layer and then retrieved by the cartridge. All Target Groups are loaded and evaluated by the cartridge on every request, so this could be a heavy operation if you have lots of target groups.

Further information (login required)
Note – Eric Huiza did a good presentation about this feature

Campaign Manager

ADF Streamer Cartridge (stream_cartridge_conf.xml)

This cartridge allows you to stream data from the ADF real time to other systems, using UDP via another SDL provided connector called the UDP 2Socket Streamer. This is how user activity can be streamed from your web application to Campaign Manager, to provide feedback on customer interactions in the web channel.

Note that the integration between Tridion and Campaign Manager is pretty new, so it remains to see how this actually works in practice. There is some PDF documentation on this, but as far as I know its not available on the web, so you will have to ask SDL (or me) for it.

Experience Manager

Session Preview Cartridge (cd_webservice_preview_cartridge.xml)

Despite the name, this doesn’t get used only by the OData webservice – this cartridge required to have your site work with Experience Manager. It manages your Experience Manager sessions – ensuring there is a valid token which has not expired and creating new sessions as required.
There is no further documentation about this in the SDL Docs.

Footprint Cartridge (footprint_cartridge_conf.xml)

This is a rather mysterious one – I originally thought that this was responsible for overriding claims in the claim store with values sent as part of footprints selected in Experience Manager, however it seems that this is not the case – this is in fact not behavior in a cartridge, but built in to the ADF. What this cartridge actually does is provide some standard claims available as XPM standard Footprint values (like OS, browser etc.). If you did something with these claims, you would also have to add this cartridge to your live web application, so its not really an Experience Manager cartridge at all, despite it being mentioned in the setup of Experience Manager.

6 thoughts on “Who’s who in the Ambient Data Framework

  1. Will, please can you suggest from where I can get Tridion ADF streamer cartrdige, support has no clue

  2. Hi Sameer. Ask support to check with the CMA integrations team. The guy I spoke with was Kevin Scott but I don’t know if he is still around.

  3. Hi Will,
    I’m setting up ADF in my dd4t .net application to use SDL Mobile (context engine cartridge). So where I can get Cx_Ambient_Cartridge.xml? This should part of my .net application?

  4. Hi Will,

    I need to add Visitors – Location (Country) in Smart Target Trigger types

    I have added Visitor – location trigger in trigger-types.xml

    United States of America
    United Kingdom

    Added below line in cd_ambient_cong.xml

    Added below line in smarttarget_conf.xml

    Also I have restarted the services.

    Now the Trigger is appearing while creating the promotion, I selected the tigger-type as “Visitors-location” country and saved the promotion but the promotion content is not shown on the page.
    Am I updating the cd_ambient_cong.xml and smarttarget_conf.xml is correctly?

    or does it require Audience manger to retrieve the Visitors location (City/Country)


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>