0 Replies Latest reply on Jun 20, 2018 1:16 PM by Reyhan Sadaka

    Implementing Google Analytics Enhanced ECommerce?

    Reyhan Sadaka Level 1

      I'm working on an internal demo/test platform that is being built to be a one-stop-shop for demonstrating capabilities of Adobe Launch to prospective customers. Currently, we have implemented Adobe Analytics, Audience Manager, and we're working through Adobe Target as well as Google Universal Analytics.

       

      I've run into an issue with Google Universal Analytics's Enhanced ECommerce plug-in where every call we make is being transmitted one pageview later than it is supposed to be, and this seems to be due to Launch not actually supporting the way we are trying to implement Enhanced ECommerce. All of the standard Analytics in GA are okay including our Custom Dimensions - this seems to be specifically a problem with Enhanced EComm.

       

      My questions are: Has anyone successfully implemented Google Analytics Enhanced ECommerce in Adobe Launch alongside the official GA extension? And, are there any guidelines for doing so? For anyone interested, here are some details of what we've tried with this implementation:

       

      We are instrumenting a Single Page App and using Direct Call rules to instrument the various pages. Taking a page from my DTM days, we have implemented a Direct Call rule that fires on "all pages", as well as additional rules to cover specific situations (Landing on a PDP, Adding to Cart, Order Confirmation, etc). The idea being that the situation-specific rule would trigger first and then the all pages rule would actually send the page view. Both Google Analytics and Adobe Analytics are implemented in this way.

       

      The trouble is: the Google Universal Analytics plug-in does not have a mechanism to interact with the Enhanced eCommerce plug-in. Our solution was to use a Core Extension Custom Code action in launch to write the logic for the Enhanced ECommerce event and then allow the "All Pages" rule to pick up the data, very similar to how we have implemented Adobe Analytics.

       

      As an example: on the Order Confirmation page, we would have two direct call rules fire:

       

      _satellite.track('orderConfirmation');

      _satellite.track('allPageLoad');

       

      Inside the 'orderConfirmation' rule, two actions fire: An Adobe Analytics "Set Variables" action and a Core "Custom Code" action that set each Analytics systems' ECommerce variables for the products being purchased.

       

      Then, inside the 'allPageLoad' rule, we have a Google Analytics "Set Variables" action, a Google Analytics "Send Page View" action, an Adobe Analytics "Set Variables" action, an Adobe Analytics "Send Beacon" action, and an Adobe Analytics "Clear Variables" action.

       

      All eCommerce data is properly formatted and transmitted by Adobe Analytics, but the eCommerce data is not in the Google Analytics beacon. This seems to be due to the fact that the Google Analytics "Send Page View" action is actually directly running the javascript necessary to transmit the GA beacon, while the Core Custom Code action actually writes the JS logic into the page using PostScribe. This means that the Custom eCommerce code is not actually executed until control returns all the way back to the web page - effectively, it seems any packaged Extension actions take precedence over any and all custom code.

       

      I tried working around this by adding the custom code to a code block inside an Adobe Analytics 'Set Variables' custom code section in the hopes that would increase the code's precedence (on the assumption that AA's custom code blocks seem to make it out in time - maybe that could help my GA code?) Not a long term solution of course, but it didn't work anyway. It seems there is actually a separate execution pipeline for Adobe Analytics to pick up that JS code, and despite the fact that the AA beacon is firing before the GA beacon, the AA custom code block still doesn't work to get the tracker updated in time.