Skip to main content

Google Analytics Enhanced Ecommerce tracking with Adobe DTM

Alex Cirstea21 January 20193 min read
Google Analytics Enhanced Ecommerce tracking with Adobe DTM

Here at Measurelab, we work predominantly with the Google stack but that doesn't stop us using other tools. As there's not much documentation available in the public forum on how to implement Enhanced Ecommerce in Google Analytics using Adobe Dynamic Tag Manager (DTM) formerly know as Satellite, I think this blog post would be useful.

As good introduction to the tools itself, below there’s a useful overview of Adobe’s Dynamic Tag Management architecture, which is from their learning resource pages, which I highly recommend reading.

This guide is based on the assumption that you have a dataLayer implemented on your site, and more important, on your confirmation page. This would have all the ecommerce values you want to send to your GA property.

First things first, you need to create the data elements that will capture the dataLayer values you want to use to form your ecommerce purchase object. Data elements are the equivalent of variables in GTM, therefore you can create them once and use them as many times you need, which improves the efficiency of your tagging process. Below there’s example of how you can create a data element to capture the transaction ID from the dataLayer:

Secondly, you need to decide where you want your ecommerce tag to fire. This can be either a direct rule or a page load rule on the confirmation page. To this rule you will add your custom JS tag and use the data elements created previously.

In this JavaScript tag, you will create variables that will be referencing the data elements created in the first step. To reference data elements in a custom tag in DTM you can use the following taxonomy:  _satellite.getVar('Your data element name'). You will then use all these variables to build your ecommerce object which will be sending data to GA. Here’s a screenshot of how this might look like:

Note: If you are using a custom GA tracker name (which DTM normally creates by default), you need to add this to your custom HTML tag. To check your tracker name, go to your GA or UA Tool > Customize Page Code > Tracker Name > and you should see an alphanumeric string. You need to use this in all you ga() calls.

Second note: Unless you’ve disabled page view tracking in your GA tool, you’re most likely double tracking page views with the above solution. You can either disabled the page view tracking at the tool level, or you can prevent the standard page view tracking in your custom HTML tag by using: return false;

Finally, if you were wondering what are your debugging options for your DTM implementation you can use the DTM debugger chrome extension, this will print messages to the console in regards to your page view and event tracking from DTM.

If you have issues regarding your DTM/GTM tracking implementation, feel free to get in touch.


Suggested content

Measurelab awarded Google Cloud Marketing Analytics Specialisation

At the start of the year, if you’d asked us whether Measurelab would be standing shoulder to shoulder with Europe’s biggest consultancies by September, we would've been surprised. Not because we don't believe in ourselves, but because these things feel so distant - until suddenly, they’re not. So, here it is: we’ve been awarded the Marketing Analytics Services Partner Specialisation in Google Cloud Partner Advantage. What’s the big deal? In Google’s own words (with the obligatory Zs): “Spec

Will Hayes11 Sept 2025

BigQuery AI.GENERATE tutorial: turn SQL queries into AI-powered insights

BigQuery just got a major upgrade, you can now plug directly into Vertex AI using the new AI.GENERATE function. Translation: your analytics data and generative AI are now best friends, and they’re hanging out right inside SQL. That opens up a whole world of new analysis options for GA4 data, but it also raises some questions: * How do you actually set it up? * What’s it good for (and when should you avoid it)? * Why would you batch the query? Let’s walk through it step by step. Step 1: H

Katie Kaczmarek3 Sept 2025

How to start forecasting in BigQuery with zero training

If you’d told me five years ago that I’d be forecasting product demand using a model trained on 100 billion time points… without writing a single line of ML code… I probably would’ve asked how many coffees you’d had that day ☕️ But its a brand new world. And it’s possible. Let me explain What is TimesFM? TimesFM is a new foundation model from Google, built specifically for time-series forecasting. Think of it like GPT for time, instead of predicting the next word in a sentence, it predicts t

Katie Kaczmarek14 Jul 2025