Decibel Insight
Knowledgebase

Adobe Target

In order to differentiate data for URLs with the same URL but different layouts/views that have been created using Adobe Target, you can use our Adobe Target Integration to configure the different layouts as variations.

Enabling the Adobe Target Integration

To enable this option, simply navigate to Settings > Integrations > Split Testing > Adobe Target and tick the Adobe Target Integration Enabled checkbox, before clicking Save. You will also need to select the API version of Adobe Target that you currently use. If using any version above 2.0, simply select 2.0, likewise if using any version below 2.0, select 1.0.

Implementing the Adobe Target Integration

Dynamic Tracking

Experiences and multi-variant tests can be tracked automatically by utilizing Response Tokens and following the below instructions for configuration.

Please note: Response tokens are only available in at.js version 1.1 and above.

  1. Navigate to Implementation within the Setup tab in Adobe Target
  2. Ensure at.Js is enabled as the Implementation Method
  3. Select Edit at.Js Settings

  1. Add the at.Js footer code provided below to the Library Footer field and click Save.

If using any Adobe API version above 2.0, then use the below code.

(function () {
    var mbox, tokens;
    // Add the adobe target response token event listener
    document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, getEventData);
    function getEventData(e) {
        // Check to verify all necessary information is present for the integration
        if (e.detail && e.detail.responseTokens) {
            // Store the token and mbox data
            tokens = e.detail.responseTokens;
            // Send the response data when Decibel is fully initialized
            if (window.hasOwnProperty('decibelInsight')) {
                decibelInsight('ready', sendAdobeEvent);
            } else {
                window['_da_ready'] = sendAdobeEvent;
            }
        }
        // Remove the Adobe listener
        document.removeEventListener(adobe.target.event.REQUEST_SUCCEEDED, getEventData);
    }
    // Send the ATDecibelTokens custom event when decibelInsight is ready
    function sendAdobeEvent() {
        var adobe_event = new CustomEvent("ATDecibelTokens", {
            detail: {
                tokens: tokens
            }
        });
        document.dispatchEvent(adobe_event);
    }
})();

If using any Adobe API version below 2.0, then use the below code.

(function () {
    var mbox, tokens;

    document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, getEventData);

    function getEventData (e) {

        if('detail' in e && 'responseTokens' in e.detail && 'mbox' in e.detail){
            
            tokens = e.detail.responseTokens;
            mbox = e.detail.mbox;

            if(window.hasOwnProperty('decibelInsight')){
                decibelInsight('ready', sendAdobeEvent);
            } else {
                window['_da_ready'] = sendAdobeEvent;
            }
        }

        document.removeEventListener(adobe.target.event.REQUEST_SUCCEEDED, getEventData);
    }

    function sendAdobeEvent () {
        var adobe_event = new CustomEvent("ATDecibelTokens", {
            detail: {
                tokens: tokens,
                mbox: mbox
            }
        });
        document.dispatchEvent(adobe_event);
     }
})();
  1. Ensure the activity.id, activity.name, experience.name, and experience.id tokens are enabled, such as in the image below.

       6. Finally, go back to the Implementation section and click the Download at.js button then redeploy the at.js file through your tag manager

Manual Tracking

Alternatively, manual tracking can be configured to capture individual experiences provided Dynamic tracking is not an option. The Decibel API call can be added to each variation that you want to track, such as the below, and this code will need to be implemented after the initial Decibel tracking script.

<script type="text/javascript">
if (window.decibelInsight) {
    decibelInsight('ready', function () {
        decibelInsight('sendIntegrationData', 'AdobeTarget',{id: 12345, name: '12345 control'});
    });
}
</script>

You will need to replace the ID and name above with relevant information, and each different variation will require a unique ID and name to enable Decibel to recognise these as different variations. This includes different variations of the same split test, so if you were running a split test called "New Homepage" and wanted to track the original and variation of this, you would need the following code on the original:

<script type="text/javascript">
if (window.decibelInsight) {
    decibelInsight('ready', function () {
        decibelInsight('sendIntegrationData', 'AdobeTarget',{id: 12345, name: 'New Homepage Original'});
    });
}
</script>

While the following code would need to be added to the variation:

<script type="text/javascript">
if (window.decibelInsight) {
    decibelInsight('ready', function () {
        decibelInsight('sendIntegrationData', 'AdobeTarget',{id: 12346, name: 'New Homepage Variation'});
    });
}
</script>

This will then allow Decibel to collect these variations independently and recognise these as different variations.

Within Adobe Target, the following needs to be done for each variation:

  1. Select a split test experience.
  2. Choose Code.
  3. Select Custom Code and enter code such as the above.
  4. Ensure that the Add code to the HEAD section is unchecked

Please note: Our Adobe Target Integration does not work retrospectively as it requires us to collect and aggregate the variations each time the script is fired.

Using Adobe Target Variations

Upon collecting Adobe Target Variations, you can begin to use these by creating Segments based on them.

When creating a segment, in Segment Filters, click on the Integrations tab and navigate to Adobe Target Variation and use the text box to search for a variation, such as in the image below.

Upon creating the segment, you can begin to filter Sessions, Heatmaps, Forms and other features in Decibel based on those users who have viewed that particular variation.