Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

Extension for Magento by Anowave

  • In Stock
  • Price:
  • €119 90
  • SKU:
  • Premium product
  • Premium product

Google Tag Manager for Magento 2 with full support for Google Analytics Enhanced Ecommerce, AdWords Dynamic Remarketing, AdWords Conversion Tracking, Social Network interaction tracking, Facebook Custom Audiences Pixel, Custom Dimensions, User ID data acquisition and User Timings Tracking.

Track product impressions, product detail views, add and remove from cart events, checkout steps and options, refunds, transactions and promotions performance in Magento with Google Tag Manager.


Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking extension allows you to track product impression, product detail views, add to cart action, remove from cart actions, checkout steps and purchases through Google Tag Manager and Data Layer. It can be used to not only install Google Tag Manager in your Magento 2 store but also enable the awesome world of Enhanced Ecommerce by Google, AdWords Dynamic Remarketing and AdWords Conversion tracking. You can receive in depth data about your customers, their shopping behavior, your product performance, AdWords performance and more.


How it works

The extension works by pushing enhanced ecommerce data to the dataLayer[] object automatically. It detects current page and adds relevant enhanced ecommerce data to a special object called dataLayer used by Google Tag Manager. When data is pushed, one or several tags defined in Google Tag Manager fire and send the pushed data to Google Analytics.

Data send to Google Analytics becomes available under Google Analytics -> Conversions -> E-Commerce and it's sufficient to allow for proper shopping analysis, checkout experience, checkout steps drop-off and more. Such data being present allows for conversion rate optimisation and in effect increase in sales and profit. See below some of the key features of the extension.


Key features

  • Covers EVERY aspect of enhanced ecommerce tracking for Magento 2.x
  • ALL versions of Magento 2.x supported
  • Works with Google Tag Manager
  • Install Google Tag Manager through the extension itself NEW
  • Supports the new splitted approach of inserting GTM snippet in both head and body BRAND NEW
  • Track product impressions in category listing
  • Track product detail views
  • Track configurable product variant detail views BRAND NEW (APR 2017)
  • Track add to cart actions including quantities, product variants and options
  • Track remove from cart actions
  • Track checkout steps
  • Track checkout step options (e.g payment method chosen, shipping method etc.) *
  • Track product add to compare events BRAND NEW
  • Track product add to wishlist event BRAND NEW
  • Track refunds
  • Track purchases
  • Google Tag Manager API Support with ability to create all tags, variables and triggers directly from Magento admin interface automatically * NEW
  • Google Analytics Measurement Protocol Support to track offline orders, orders made from backend BRAND NEW (March, 2017)
  • Ability to send/track existing transactions (not recorded) to Google Analytics manually (via mass actions) BRAND NEW (April, 2017)
  • Visitor data tracking including Universal Analytics User ID NEW
  • AdWords Dynamic Remarketing support
  • AdWords Conversion Tracking support
  • User Timings Tracking * NEW
  • Custom Definitions and Dimensions Support
  • Extended set of GTM variables allowing easy access to revenue, transaction id, visitor id etc. All suitable for implementing tags such as TURN, Google Trusted Stores etc. purely in Google Tag Manager  NEW
  • Extended Support for AMP (Accelerated Mobile Pages) GTM container types NEW EXPERIMENTAL (FEB 2017)
  • Facebook Upgraded Custom Audience Pixel Support for Magento
  • Facebook Tag API Support NEW
  • Presentation decoupling support BRAND NEW
  • Private browsers fallback BRAND NEW (2017)
  • DIY (Do it yourself) user friendly JS API NEW
  • 8KB payload limit mitigation BRAND NEW (2017)
  • Persistent dataLayer[] data support BRAND NEW
  • Supports Magento 2 default full page cache
  • Supports Varnish cache
  • Supports multi-store
  • Supports multi-currency
  • Extended support for 3rd party onepage checkout solutions BRAND NEW (2017)
  • Does not overwrite existing blocks, templates, modules etc.
  • Suitable for custom Magento 2 themes including AJAX based carts.
  • No monthly fees

* theme dependable features that may require fine tuning by our engineers.


In-Depth Ecommerce Analytics

By enabling enhanced ecommerce you will be able to receive extended set of data with regards to your products, conversion, customers, promotions etc. You can see how your products and categories perform, how product position affects conversion rates and more.



What's included?

  1. Extension files in ZIP format
  2. As a premium product it includes free installation, GTM/GA tag configuration, debugging and testing.
  3. Up to 3 hours of customizations/consulting included.


Enhanced Ecommerce tracking

Enhanced Ecommerce tracking is a combination between tracking product performance and customer actions. This extension handles enhanced ecommerce in it's entirety. It handles the following tracking automatically:

    Tracks product detail views, product impressions including product positions and position performance, transactions, refunds, promotions impressions and detail views and more.
    Except for the enhanced ecommerce tracking, the extension also provides automatic tracking for User ID, AdWords Conversion Tracking, AdWords Dynamic Remarketing, Facebook Conversion Tracking and more.
    Tracks user actions such as "Add to cart", "Remove from cart", checkout steps including step options selected during checkout, user timings and more.


AdWords Conversion Tracking

Conversion tracking can help you see how effectively your ad clicks lead to valuable customer activity, such as website purchases, phone calls, app downloads, newsletter sign-ups and more.


AdWords Dynamic Remarketing

Remarketing allows you to show ads to people who have previously visited your website or used your mobile app. Dynamic remarketing takes this a step further, letting you show previous visitors ads that contain products and services they viewed on your site. With messages tailored to your audience, dynamic remarketing helps you build leads and sales by bringing previous visitors back to your site to complete what they started. The module will automatically initialize all required dataLayer[] variables for implementing proper AdWords Dynamic Remarketing. The API will also configure your GTM accont with regards to remarketing automatically.


User Timing Tracking

User Timings allows you to measure periods of time taken for the customer to do particular action. We have implemented this powerful feature of Google Analytics to work in favour of Enhanced Ecommerce Tracking. The extension will allow you to measure time taken for clicking a product, time taken for adding product to cart, time taken for completing a checkout step and more. Time reports include product name (where applicable), time taken in terms of milliseconds, product category (where applicable), checkout step name (where applicable).


Presentation decoupling

The module has built-in "presentation decoupling" support. This allows multi-language environments to be tracked using single UA-ID property. Instead of sending the current variant values, the extension will pick admin labels and push them in dataLayer[] object. This prevents data discrepancies within reports. To allow for data separation, the extension will push the current store name in dataLayer[] allowing for using custom dimension with each request. While in Europe different language means different country, in countries such as Canada for example, where people speak different languages withing the same country, presentation decoupling is very useful. It allows you to track the total sales and performance of your store and particular product(s).

Like any other feature of the module, presentation decoupling can be turned on and off on demand from the backend panel should you not need it.



Let's be honest, words mean nothing, but figures do. Find below a snapshot from the performance tests that we run with every extension that we offer in our store. Enhanced Ecommerce is no exception. We've measured page load time (in seconds) in Magento with this extension turned on/off completely. Below is the resulting comparison chart. The total impact on page load time is 183 milliseconds. Now you know.

Technical parameters used in the test: Apache on Windows 10 Pro 64 bit, 16GB RAM,  Intel Core I7 4600 U 2.7 GHz, SSD. Test conditions: All Magento cache turned OFF. Magento 2 mode: developer


8KB Payload mitigation

The analytics.js library refuses to send a hit if the full payload size is larger than 8192 bytes. This does require quite a lot of data to be stuffed within, but it only takes some dozens of product impressions to clog up the channel. For sites listing multiple products in categories e.g. not using pagination at all and/or listing all products at once, sending a standard impression tracking will not work. Even worse, store owner wouldn't even know about this and will certainly end up with inaccruate reports. We have implemented a feature to mitigate this problem. The module will track payloads in excess of 8KB and keep reports consistent and accurate.


Persistent dataLayer[] data support

Persistent dataLayer[] support is a brand new feature aiming to provide a cross-reference between transactions and specific customer actions. It allows for linking transactions with previously clicked promotions to actually show how a promotion performs with regards to conversions. You can not only see how many times a promotion has been clicked/viewed but also did it lead to transaction and generate a report on how your promotions perform and convert into real results. A persistent data is available in dataLayer[] object ALWAYS and can be used as cross-reference for other events as well.

Extension version
Magento platform version
2.0.*,2.1.*,2.* EE
Conversion rate,Reporting

Our products come with a premium support. To report a bug, use our Premium Help Desk available in your account at Anowave.

Customer review(s)

Frank Niebuhr

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

We've been using this excellent extension for 1.x and now when we switched to the one for 2.x we see some features not implemented yet. The support team assured us that all features will be added in time so we're really happy with this extension so far.

Keep the good work Anowave!

Yes, I recommend this product

Chris Raynor

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

I love the new auto-generation of tags in GTM by this plugin. And a big thank you to Angel for incredible, patient, fast, repeated support. Debugging a site via email without FTP access across timezones didn't faze him at all and he kept going until we were happy.

Definitely our preferred Google GTM/GA/remarketing plugin.

Yes, I recommend this product

Simone Torlasco

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

We're having nothing but pain with Magento 2 and was really happy to find a module that works without any general issues. Although it requires certain level of understanding and we had to ask for support, the extension is working as expected.

Thanks for the great support!.

Yes, I recommend this product

Jeffrey Van Haaren

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

We started building this functionality from scratch and ended up nowhere. Setting enhanced tracking in Magento 2 is absolute nightmare and I'm personally delighted that this module exists.

It required a few tiny adjustments for our theme, but eventually all worked out perfectly.

Good module!

Yes, I recommend this product

Juliette de Bruyn

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

Good and comprehensive solution, fits our needs, and the first to actually work fine with the native FPC of Magento 2. Anowave have done awesome job.

Do recommend it!

Yes, I recommend this product

Charel de Jongh

Purchased Magento 2 Google Tag Manager Enhanced Ecommerce (UA) Tracking

As the one for 1.x (which is seamless), this one works well and does the job. Certainly helped us a lot in shifting to Magento 2, one less thing to fight with in this new but cumbersome platform.

Yes, I recommend this product

Note: By submitting a review you agree to our Terms and Conditions.

User Guide & Documentation

Installation from Command Line (Recommended)

This extension can be installed in a few minutes, by going through the following steps:

  • Download/purchase the extension
  • Unzip the file in a temporary directory
  • Copy directory contents and paste it in your Magento installation root directory. This extension will NOT replace existing code.
  • Disable the cache under System -> Cache Management
  • Enter the following at the command line:

    php -f bin/magento module:enable --clear-static-content Anowave_Package
    php -f bin/magento module:enable --clear-static-content Anowave_Ec
    php -f bin/magento setup:upgrade
  • Check under Stores->Configuration->Advanced->Advanced that the module is present.


Manual installation

  • Download/purchase the extension
  • Unzip the file in a temporary directory
  • Copy directory contents and paste it in your Magento installation root directory. This extension will NOT replace existing code.
  • Disable the cache under System->Cache Management
  • Edit app/etc/config.php file and add two new elements:

    "Anowave_Package" => 1,
    "Anowave_Ec" => 1
  • Disable the cache under System->Cache Management
  • Check under Stores -> Configuration -> Advanced -> Advanced that the module is present.



dataLayer[] Preview

This extension cannot be evaluated online, but we have prepared a preview of the dataLayer[] object throughout an ecommerce site.





Before configuring the module you may need:

Your Google Analytics UA-ID
UA-ID can be obtained from your Google Analytics account in Admin -> Tracking info -> Tracking code

Your Google Tag Manager account ID
Account ID can be obtained from your Google Tag Manager account in Admin -> Account settings


To configure the module go to your Magento Admin -> Stores -> Configuration -> Anowave Extensions -> Google Tag Manager and configure the following:

  1. 1. Insert your license key. To obtain a license key watch the short video link next to the license key input
  2. 2. Insert your GTM snippet. GTM snippet can be obtained from your Google Tag Manager account in Admin -> Install Google Tag Manager
  3. 3. Insert your UA-ID
  4. 4. Save configuration
  5. 5. Once configuration is saved, expand section called "Google Tag Manager API"
  6. 6. Click "Sign in to Google" and authorize the application. You will be redirected back to your Magento admin interface
  7. 7. Insert your Account ID
  8. 8. Insert your UA-ID, leave Container ID empty
  9. 9. Click "Save config". Upon saving, you will get redirected back to same page
  10. 10. Go again to "Google Tag Manager API" section. Below the Container ID input, you will see your container IDs and their corresponding numeric ID. Copy and paste the numeric ID in Container ID input
  11. 11. Click "Save config". Once configuration is saved a 3 checkboxes will appear in "Google Tag Manager API" section.
  12. 12. Check all 3 checkboxes e.g. Create variables, triggers and tags
  13. 13. Click "Save config"
  14. 14. Once the process completes, find all tags/triggers and variables automatically created in your account at Google Tag Manager
  15. 15. If you don't have Universal Analytics tag, create one manually. Remember to enable Enhanced Ecommerce using Data Layer under "More settings" in tab edit screen
  16. 16. Publish your container version

Find below a few screenshot(s) of how to use the Google Tag Manager API.


Google Tag Manager Tag Configuration

Unlike other similar solutions, this product comes with full support for Google Tag Manager API allowing you to create all tags, triggers and variables in an instant with the click of a button, directly from Magento admin panel. The extension will do all the hard work automatically hence why tag specification has been omitted in this documentation.


Watch a quick video on YouTube -


How to test if tags are actually working

There are essenatially 2 types of tags. The first type of tags are those sent on Pageview. They include information that is gathered upon page load and sent automatically with the GA Pageview. The other type of tags are those fired after the page is loaded. They usually require user action such as click of a button etc.

To learn more about testing tags visit

Previewing in debug mode allows you to check which tags are fired and which are not fired. If a certain tag isn't fired then make sure it's configuration matches the required one described in this documentation. (See Tag configuration).


Promotions & Promotion tracking

This module can track promotion views and promotion clicks. However, different customers use different promotions e.g. banners, sliders, static images etc. which makes it impossible to track them all. To solve this we have introduced a smart way to enable promotions in your site by doing a few code changes at HTML level. Althought this is DYI, it's very easy to achieve.

To make an object promotion simply add data-promotion="true" attribute. Then add the rest of the attributes from Enhanced Ecommerce specification related to promotions e.g.

  1. data-promotion-creative="squareBanner"
  2. data-promotion-name="Square Banner"
  3. data-promotion-position="1"
  4. data-promotion-id="SQUARE_BANNER"

Note: Values are fictional. Fill in your own values.

A typical HTML element would look like shown in the figure below.

data-promotion-* attributes can be applied to any element on the page.


Assessing installation and tracking


Assessing the installation is important part of ensuring that tracking works and it covers all aspects of enhanced ecommerce. There are multiple ways to assess the installation, but we will describe the most common ones.


1. Assessing as customer

As a customer you may not have coding skills so there are a few simple steps to follow. We have outlined them below.

  1. 1. Go to your Google Tag Manager account and check if you have created all tags, triggers and variables
  2. 2. Check if you have published your container
  3. 3. Run your container in "Preview" mode and go back to your site.
  4. 4. Browse pages such as Home Page, Category, Product detail page and ensure that Universal Analytics tag fires on all of them.
  5. 5. Click on a product from your categories and ensure that "Product click" event appears in the GTM preview console (bottom of the browser)
  6. 6. Click on "Add to cart" button and ensure "Add to cart" event is fired. Follow the same procedure for "Remove from cart"
  7. 7. Go to Checkout, and see if checkout steps are tracked (again by looking to the preview console).
  8. 8. Place an order and click on the dataLayer from the preview console. Ensure that dataLayer[] object contains all the data such as revenue, transaction, products array etc.
  9. 9. Play with the entire site when in preview mode and ensure that dataLayer[] object is initialized as per the specification descrived here -
  10. 10. Last but not least, contact our support engineers and ask them to evaluate the installation.

2. Assessing as developer (advanced)

As a developer you could use some tools to assess the installation. We have outlined them below.

  1. 1. Assess the installation as customer (see pt. 1 above)
  2. 2. Open browser's developer console and inspect AEC and dataLayer objects. They should be defined.
  3. 3. Monitor network and requests made to
  4. 4. Inspect elements such as category images, add to cart buttons etc. for data-* attributes such as data-id, data-brand, data-catgory etc.
  5. 5. Make sure GTM is inserted only once in the page HTML source
  6. 6. Make sure standard Google Analytics is turned off entirely.



Even properly installed the extension may fail to send data to Google in certain cases. See below possible situations that may result in data loss:

  1. Transaction tag(s) are fired on order confirmation page and if for any reason the customer doesn't get to confirmation page, NO transaction data will be recorded.
  2. Some customers reported doubled amount of transaction value. This could happen if GA transaction tracking is enabled in Magento. It will in effect send transaction data twice resulting in incorrect transaction amount reported in Google Analytics. Our recommendation is to disable all 3rd party extension related to GA and leave stuff to GTM. It's main purpose is to allow site owners to add features to the site without editing code whatsoever.
  3. Inaccruate bounce rate has been repored on few occasions. This usually happens when there are more then one tag fired on 'pageview' with results in sending data twice to Google thus bounce rate getting lower then 1%. To test if your site doesn't sent 'pageview' twice to Google, use browser's console and search for requests containing the keyword "collect" There should be only 1 such request per page view.

Now: Next:

If you like this product, share it with your friends

Who are we

Anowave is in business since year 2007. Since then we've been developing web sites for customers in UK. We are focused primarily on providing web based solutions build on top of open source technologies such as PHP, MySQL etc. The company is powered by highly skilled professionals including top level software developers, talented graphic designers and broadminded managers.

Unlike other development companies, we are focused on providing a solid, high performance and 100% bespoke software for our clients and partners. We've been developing an in-house content management system called Anowave.