This technical implementation guide provides information about the reference architecture, ​guidelines, configuration steps and tests that implementation specialists need to follow while integrating Audience Manager with Target.

This technical integration guide is intended for Adobe Consultants, Adobe Partners, and other experienced implementation specialists. Configuring this integration requires a full understanding of the implementation process for each individual solution covered in this guide.

Adobe customers can contact Adobe Professional Services or an Adobe Partner to learn more about this integration. 

Integration Options​

There are two methods of performing AAM integration with Target:

  1. Through Marketing Cloud Shared Audience or People Core Service (Recommended)
  2. Cookie Based Integration: Legacy Method

If the customer has Marketing Cloud ID provisioned, you should follow the Marketing Cloud Shared Audiences integration, or deply the Marketing Cloud ID before completing this integration. If deploying the Marketing Cloud ID is not a possibility, you should follow the legacy cookie-based integration steps.




Marketing Cloud Shared 
Audiences Based Integration

  • All AAM segments automatically available in target
  • Makes use of MID and can combine data from other 
    marketing cloud products
  • There is currently a delay of ~30 Mins from the moment the segment is created in AAM and that being available in Target
Legacy Cookie Based Integration
  • No need for Adobe Marketing Cloud
  • Can be used for next page targeting
  • Easier to debug, as cookie is set in the browser
  • Testing is time consuming. Once the segment is created in AAM and 
    mapped to the destination the segments become active only after a 
    couple of hours.
  • This method is deprecated and is not supported in at.js versions

Solution Planning And Integration Architecture

Pre-requisites (License, Connectivity, Initialization)

Marketing Cloud Shared Audiences Based Integration

  • Adobe Audience Manager account has been fully provisioned
  • Traits and Segments created in Audience Manager
  • Adobe Target Standard/Premium account has been fully provisioned
  • Personalization defined for each segment in Adobe Target
  • The Marketing Cloud Visitor ID service should be implemented, and the version of file should be at least 1.5

Legacy Cookie Based Integration

  • Adobe Audience Manager account has been fully provisioned
  • Traits and Segments created in Audience Manager
  • Adobe Target account has been fully provisioned
  • Personalization defined for each segment in Adobe Target
  • Using a global mbox/multiple mboxes

Implementation Architecture

For customers who have been provisioned Marketing Cloud ID, the following briefly describes the architecture:


For customers who do not have Marketing Cloud provisioned, legacy integration has to be used to bring together Target and AAM.


Installation, Provisioning and Configuration

Set-up/ Provisioning

Marketing Cloud Shared Audiences Based Integration

Make the request through

  • Under "For which capabilities are you requesting provisioning?", select Shared Audiences
  • Under "Which of these solutions are you using?", select, at least, Adobe Target Standard/Premium and Adobe Audience Manager.

Legacy Cookie Based Integration

Contact your Adobe representative to get the necessary accounts provisioned.

Implementation/ Delivery

Marketing Cloud Shared Audiences Based Integration

  1. Create segments in AAM.

    • Before creating segments in AAM, traits need to be created.
    • Create the segments as you would normally do in AAM.
    • Ensure that the data source is “ Audiences”.


    You must never manually assign the segments intended to Adobe Target to the "Adobe Target - <internal name>" destination in AAM. All segments will automatically show up in Adobe Target.​

    Adobe Audience Manager segments:

  2. Verify the segments in Target.

    Adobe Target Audience List:


    As it can be seen, all AAM segments show up in Target without any particular action other than creating them. The source for all AAM segments in Target is "Marketing Cloud". In order to avoid confusion with other segments coming via the Marketing Cloud UI, a naming convention is recommended.


    There is some delay (around an hour) between creating the segments in AAM and Target showing them.​

  3. Create a new activity in Target.

    Now you can start working with Target.​


    When using AAM segments for personalisation, the activity to be used is "Experience Targeting". However, there is no limitation in the type of activities that can use AAM segments.

    You are given two options: "Visual Experience Composer" or "Form-based Experience Composer". To know more about these options, please follow the link:

  4. Create experiences for the activity.

    Create as many experiences as you need for the activity, each one with different content.

    For each experience, replace the default audience to the appropriate AAM segments created in step 1:


    You will then see the same segments as in step 1. Select the appropriate segment from AAM for this experience.


    Click on “Combine multiple Audiences”.


    These Audiences can be combined using different logical operators. Choose the one that’s relevant.

    Click “Save”

    ​You should now see the experience with the correct segment.

  5. Create an Activity. These instructions are based on a Form Based Activity.

    ·         Name the Activity

    ·         Select a location.

    When you click in the Select Location box, a list of available locations appears. Select one of those locations. To choose the global location delivered via target.js, choose “target-global-mbox.”

     You can also enter a location that is not listed here. This can be useful if the mbox has not yet been created or viewed on a page. Type the name of the location. Be careful when entering a location that does not yet exist. If the spelling or capitalization does not match the spelling and capitalization when the mbox call is made, the activity will not deliver. 

    Manually entered locations are saved to the list.

    ·         Select the type of content you want to appear in that location.

    ·         Click “Next”​


    Now, add experience(s) for the Audience.


    Click “Next”

    ​Make necessary changes in the Activity Settings and Report Settings.


    Click "Save".

Legacy Cookie Based Integration

  1. Create Traits and Segments as you normally would.

  2. Create a new destination in AAM.


     In the Destination Builder, populate "Basic Information".

    • Name: add descriptive name
    • Description: add a suitable description
    • Platform: select the platform in which the Adobe Target will run: browser, Android, iOS or all of the previous options
    • Type: Cookie (even if it is for a mobile device)
      Click "Next".
  3.  Populate the "Configuration" section:

    • Cookie Name: "aam_tnt" (in theory, you could use any value, but for consistency, let's use this one)
    • Cookie Domain: the domain for the cookie; leave blank for the full domain of the website
    • Expire after: expiration time of the cookie
    • Publish data to: the domains in which the cookie should be created; set it to "All of our domains" unless you know what you are doing
    • Data Format: Multi-Key
    • Key-Value Separator: '='
    • Key-Value Pair Delimiter: ',' (comma)
    • Serialize: disabled

Initial verification in AAM

In the destination used for Adobe Target, at the bottom, you should see all segments that have been mapped to this destination. Check that all the mapping and date values are correct. Each mapping should have a different key/value pair.


Implementation of Client Side Integration

  1. Customize the mbox.js in Adobe Target.

    In Target, go to Configuration > mbox.js > Edit. In the "Extra Javascript" section, add the following code depending on your implementation type.

    mbox.js Extra JavaScript for Global Mbox:

    var globalMboxParams = [];
    function aam_tnt_cb() {
         if (typeof arguments[0].stuff != "undefined" && arguments[0].stuff != "") {
            for (var e = 0; e < arguments[0].stuff.length; e++) {
                if (arguments[0].stuff[e].cn == "aam_tnt") {
                    if (arguments[0].stuff[0].cv.split(",")) {
                        demdex_raw = arguments[0].stuff[e].cv.split(',');
                        var t = mboxFactoryDefault.getUrlBuilder();
                        globalMboxParams = globalMboxParams.concat(demdex_raw);
    function targetPageParams() {
        return globalMboxParams;
    document.write('<script src="' + document.location.protocol + '//<partner>"></script>');

    mbox.js Extra JavaScript for Multiple Mboxes:

    /*Defines the function that adds parameters to a mbox call*/
    function aam_tnt_cb() {
        if (typeof (arguments[0].stuff) != "undefined" && arguments[0].stuff != "") {
            for (var i = 0; i < arguments[0].stuff.length; i++) {
                if (arguments[0].stuff[i].cn == "aam_tnt") {
                    if (arguments[0].stuff[0].cv.split(",")) {
                        var demdex_raw = arguments[0].stuff[i].cv.split(",");
                        var tapMboxBuilder = mboxFactoryDefault.getUrlBuilder();
     document.write('<script src="' + document.location.protocol + '//<partner>"></script>');

    Remember to replace <partner> with the implementation's subdomain. Also, if the cookie name is changed from “aam_tnt” to any other name, change the above code to reflect the correct cookie name.

  2. Deploy mbox.js.

    Include the downloaded mbox.js file in the website (in the header section).



Marketing Cloud S​hared Audiences Based Integration

The first check that can easily be done is the mapping of the segment to the Target destination. In AAM, go to the "Adobe Target - <internal name>" destination, and check if the mappings include the segments you have used in Target.



Unlike the rest of the destinations, these mappings are done automatically and you should not map them manually.

The other check that you can do is to see if you are qualifying for these segments. In order to do that, you need to use some HTTP debugger and analyse the response of the Analytics call. In it, you should go to the "stuff" section of the JSON code and look for the cookie name of the Target destination (lines 7-10 in the following example):

 "dcs_region" : 6,
 "stuff" : 
 "cn" : "at_adobeintkeerthivenug",
 "cv" : "segments=4934606",
 "dmn" : "",
 "ttl" : 1
 "cn" : "aam_test",
 "cv" : "seg=contact_no_testim",
 "dmn" : "",
 "ttl" : 30
 "uuid" : "55302966185082243435775101343602590438"

Legacy Cookie Based Integration

  1. Trigger one segment and the mboxes.

    ·         Navigate through the website so that you qualify for a segment.

    ·         On the next page after the segment is triggered, using an HTTP packet analyzer (HttpFox, Charles, Fiddler...), check the additional request to, at the bottom of the code. You should see how the response contains the cookie name and the segment.

    ·         Check for a cookie named aam_tnt under the main domain, and its contents: it should contain the same key/value pair from the previous check. The cookie value should be URL encoded.

    ·         Go to any page with the global mbox. In the DP Debugger, you should see something similar to:

  2. Check the Mbox Parameters in Adobe Target.

    After a few minutes, in Target, try to create a new audience and select the custom option. Select the right mbox that is capturing the parameters in the above step. In the parameters section you will start seeing the keys of the parameters that were observed in the previous step. You should see something like: 

  3. Create segments in Adobe Target.

    With the exported information, the segments now need to be re-created.

    • Name: Suggested name is "AAM" + segment name in AAM
    • Select "Site Pages"
    • Click on "+ Add Condition"
    • Choose Type: Mbox
    • Choose: select the parameter or, if it is not showing, "Add a parameter": input parameter name and "+"
    • Choose Evaluator: equals (case insensitive)
    • Set the value

    Click “Save”.

  4. Create an Experience Targeting in Adobe Target.

    Create the campaign. It is important to select the right Campaign Type. See for all types.

    It must be noted that, for A/B tests, Target assigns an experience to a visitor and that experience is persisted until the user converts. However "Experience Targeting" evaluates the experience on every page load. Generally speaking, in AAM, we want to be able to change the experience depending on AAM segments, which might change from page to page, so the "Landing Page Campaign" might be the most useful campaign type for this integration.

  5. Assign audiences to experiences in Adobe Target.

    Create each of the experiences, with the relevant segment assigned to it. It must be noted that Target scans the experiences top-down and it will stop on the first match. Take this into account when creating the experiences. In particular, leave the default content as the last experience:

  6.  Launch the campaign.

    At this point in time, you should have everything ready to use AAM together with Target using just a global mbox.

Other Resources

AAM Faqs

Target Faqs

Useful links/ Documents​

The following links can be provided here:

1. Target Implementation Guide.

2. Audience Manager Implementation Guide

Best practices

  • Ensure the accounts are provisioned with necessary settings.
  • Ensure all the traits and segments are mapped to the same data source and destination
  • While creating segments in Target, ensure you enter the same information obtained in the cookie or obtained on the Adobe Debugger.
  • Segments, right after creation in Audience Manager and mapping to destination take an hour to become active.  


Most of the use cases that you will come across should work out of the box. However, there are some known limitations of the integration that you should be aware of.

  • Unsegmenting. Once you qualify for a segment in AAM, Target will show the correct experience. However, if you disqualify for the segment and there are no other experiences in the same activity that you qualify for, you will still be shown the previous experience instead of the default one.
  • Regional data collection. If you are browsing the website from a region different from that where the Target account is provisioned, you may find some timeouts. The reason is that calls to Analytics will be routed to the closest RDC collection servers, but Target calls are always made to the same data centre.