This website works best with JavaScript enabled. Learn how to enable JavaScript.

Adobe Analytics

Last updated

Integration of Adobe Analytics (formerly Omniture SiteCatalyst) with VWO will help you to import VWO campaign data into your Adobe Analytics account. 

The end-to-end process of integrating Adobe Analytics with VWO involves the following steps:

  1. Designating a Custom Conversion Variable
  2. Adding a Code Snippet

Designating a Custom Conversion Variable

Sign in to your Adobe Analytics account and designate a Custom Conversion variable as your optimization tracking variable.

Adding VWO Code Snippet

Adobe Analytics is compatible with both synchronous and asynchronous types of code. However, Make sure the VWO Smart Code snippet is added before s_code.js on your page.

Adding Adobe Integration Code

In order to integrate VWO with Adobe Analytics, you need to designate one of your Custom Conversion variables as your optimization tracking variable and copy-paste following code to your website.


<script type="text/javascript">
    (function() {

  window.VWO = window.VWO || [];

        var WAIT_TIME = 100,

            analyticsTimer = 0,

            dataSendingTimer;

        var getAccount = function() {

            // Change the variable according to your page

            return window.s_gi(window.s_account || window.s.account);

        };

        // All tracking variable will be contained in this array

        var v = [];

        v.add = function(w, o) {

            v.push({

                w: w,

                o: o

            });

        };

        // Function to send data to Omniture backend

        var sendData = function() {

            var s = getAccount();

            for (var i = 0; i < v.length; i++) {

                s[v[i].w] = v[i].o;

                v[i] = v[i].w;

            }

            s.linkTrackVars = v.join(',');

            s.tl(true, 'o', 'VWO Tracking');

            v.splice(0, v.length);

        };

        //Function to wait for some analytics variables before sending data

        function waitForAnalyticsVariables() {

            if (window.s_gi && window.s && window.s.account) {

                clearInterval(analyticsTimer);

                sendData();

            } else if (!analyticsTimer) {

                analyticsTimer = setInterval(function() {

                    waitForAnalyticsVariables();

                }, WAIT_TIME);

            }

        }

        window.VWO.push(['onVariationApplied', function(data) {

            if (!data) {

                return;

            }

            var expId = data[1],

                variationId = data[2];

            if (expId && variationId) {

                // Add the variable (eVar) name and it's value here.

                // In case you have multiple campaigns and you want to send the data to different eVars, add a switch case here

                v.add('eVar53', 'VWO-' + expId + ':' + _vwo_exp[expId].comb_n[variationId]);

                // Only send if data is available

                if (v.length) {

                    clearTimeout(dataSendingTimer);

                    // We are using setTimeout so that all experiment can be sent in just one call to Omniture

                    dataSendingTimer = setTimeout(waitForAnalyticsVariables, WAIT_TIME);

                }

            }

        }]);

    })();

</script>

Was this article helpful?

Thanks for your feedback!
Please email us at support@vwo.com to tell us what you were looking for. We'll send the answer to your inbox.

Contact Us / Login