Enhanced ecommerce tracking requires your developers to send lots of extra product and checkout information in a way that Google Analytics can understand. If you already use GTM to track pageviews you must send ecommerce data via Google Tag Manager

Step 1

Enable enhanced ecommerce reporting in the Google Analytics view admin setting, under ‘Ecommerce Settings’
step 1 - turn on reporting

Step 2

Select names for your checkout steps (see point 4 below):
step 2 - checkout labelling

Step 3

Get your developers to push the product data behind the scenes to the page ‘dataLayer’. Here is the developer guide.

Step 4

Make sure the following steps are tracked as a pageview or event, and for each step set up a Universal Analytics tracking tag:

  • Product impressions (typically a category or listing page)
  • Product detail view (the product page)
  • Add to basket (more usually an event than a page)
  • Checkout step 1 (views the checkout page)
  • Checkout step 2 etc – whatever registration, shipping or tax steps you have
  • Purchase confirmation
choose universal analytics tag

Step 5

Edit each tag, and under ‘More Settings’ section, select the ‘Enable enhanced ecommerce features’ and then ‘use data layer’ options:
step 4

Of course, there’s often a bit of fiddling to get the data layer in the right format, and the ecommerce events fires at the right time, so please contact us if you need more help setting up the reports!

Step 6 – Checking it is working

There is no ‘real time’ ecommerce reporting yet, so you’ll need to wait a day for events to process and then view the shopping behaviour and checkout behaviour reports.

If you want to check the checkout options you’ll need to set up a custom report: use ‘checkout options’ as the dimension and ‘sessions’ and ‘transactions’ as the metrics.

Need some more help? Get in touch with our lovely team of experts and we’d be happy to answer any questions!

 

Get Social! Follow us on LinkedIn, Twitter, and Facebook and keep up-to-date with our Google Analytics insights.

 

33 Responses

  • Tatyana 3 years ago

    We implemented the next code for tracking checkout process (after GTM code):

    dataLayer.push({
    ‘event’: ‘checkout’,
    ‘ecommerce’: {
    ‘checkout’: {
    ‘actionField’: {‘step’: ‘Review Cart’}
    }
    }
    });

    but we can see any data in the Checkout behavior report (session with transactions only).
    We created tag in GTM like tag in the 5 step.
    What error did we do during implementation?
    Thanks.

    • mm

      Edward Upton 3 years ago

      Hi Tatyana – good question! I found the part about ‘actionField’ confusing as well. You need to specify the ‘step’ as an integer, and then name the step within the GA admin interface (see screenshot in step 2 above). So in this case you should write:
      dataLayer.push({
      ‘event’: ‘checkout’,
      ‘ecommerce’: {
      ‘checkout’: {
      ‘actionField’: {‘step’: 1}
      }
      }
      });

      • Tatyana 3 years ago

        Thanks! Now we see all data in Checkout behavior report.

  • Tatyana 3 years ago

    We implemented the next code for tracking checkout process (after GTM code):

    dataLayer.push({
    ‘event’: ‘checkout’,
    ‘ecommerce’: {
    ‘checkout’: {
    ‘actionField’: {‘step’: ‘Review Cart’}
    }
    }
    });

    but we can see any data in the Checkout behavior report (session with transactions only).
    We created tag in GTM like tag in the 5 step.
    What error did we do during implementation?
    Thanks.

    • mm

      Edward Upton 3 years ago

      Hi Tatyana – good question! I found the part about ‘actionField’ confusing as well. You need to specify the ‘step’ as an integer, and then name the step within the GA admin interface (see screenshot in step 2 above). So in this case you should write:
      dataLayer.push({
      ‘event’: ‘checkout’,
      ‘ecommerce’: {
      ‘checkout’: {
      ‘actionField’: {‘step’: 1}
      }
      }
      });

      • Tatyana 3 years ago

        Thanks! Now we see all data in Checkout behavior report.

  • Marta 3 years ago

    Hi that’s a great tutorial, thanks! I wanted to go a bit further and create a macro that returns the checkout step but a nested datalayer variable (checkout.actionField.step) doesn’t seem to work for me – any help?

    • mm

      Edward Upton 3 years ago

      A nested dataLayer macro should work. But in the case here you would need ecommerce.checkout.actionField

  • Marta 3 years ago

    Hi that’s a great tutorial, thanks! I wanted to go a bit further and create a macro that returns the checkout step but a nested datalayer variable (checkout.actionField.step) doesn’t seem to work for me – any help?

    • mm

      Edward Upton 3 years ago

      A nested dataLayer macro should work. But in the case here you would need ecommerce.checkout.actionField

  • ed 3 years ago

    Hi, How do you see the actionField option step. I’m working with Tag Manager to try and view this information. Its been marked up within the datalyer already but I can’t see it anywhere within Analytics. Got any advice?

    ‘actionField’: {‘step’: 1, ‘option’: ‘Visa’},

    • mm

      Edward 3 years ago

      Hi Ed – if you’re specifically talking about the actionField for checkout options, then you can see this in the ‘checkout behaviour’ report on GA. However, you’ll need to set up the steps in configuration first (see option 2 above).

      I don’t think you can segment it by the option – e.g. ‘visa’ yet – that is waiting for a further release from GA. But you can set that up in a custom report – i’ll add that as a PS to this post

  • ed 3 years ago

    Hi, How do you see the actionField option step. I’m working with Tag Manager to try and view this information. Its been marked up within the datalyer already but I can’t see it anywhere within Analytics. Got any advice?

    ‘actionField’: {‘step’: 1, ‘option’: ‘Visa’},

    • mm

      Edward 3 years ago

      Hi Ed – if you’re specifically talking about the actionField for checkout options, then you can see this in the ‘checkout behaviour’ report on GA. However, you’ll need to set up the steps in configuration first (see option 2 above).

      I don’t think you can segment it by the option – e.g. ‘visa’ yet – that is waiting for a further release from GA. But you can set that up in a custom report – i’ll add that as a PS to this post

  • Keiron 3 years ago

    Hi, I am a novice. I am trying to setup enhanced ecommerce tracking for https://www.mhsim.com. I have a few questions I hope you can help me resolve.

    I have only created a single Universal Analytics tag and as per step 5, edited my tag, and under ‘More Settings’ section, select the ‘Enable enhanced ecommerce features’ and then ‘use data layer’ options. NOTE: This is the only I have created on this website.

    Our developers have confirmed the datalayer is declared before the container snippet for website – so the datalayer has loaded before the tag is due to fire – however no ecommerce data is passing to Google Analytics.

    Should I be creating other tags or triggers?
    Should I be creating an additional events tag and configure enhanced ecommerce setting?
    I did not really understand step 4.

    Also, how do I know what labels to give step 2? And what pages of the checkout should be included (I don’t think our website quite follows conventions)?

    Regards,
    Keiron

    • mm

      Edward 3 years ago

      Hi Keiron,
      I can’t answer all your questions, but I don’t think the data is being exposed in the right format in the data layer just to use the GTM ‘user data layer’ option. I had a quick look and I can’t see product data on any of the pages in step 4. Your site is not conventional, but there is still a product page, cart and checkout.

      Maybe contact us if you want more expert support.

      Edward

  • Z Group 2 years ago

    According to documentation the tag configuration for checkout steps is as follows:

    Tag type : Universal Analytics
    Track type : Event
    Event Category: Ecommerce
    Event Action: Checkout
    Enable Enhanced Ecommerce Features: true
    Use Data Layer: true
    Basic Settings – Document Path: {{url path}}
    Firing Rule: {{event}} equals checkout

    What about the event label? Don’t I need to specify it somehow or does GTM automatically insert the “step” value from the data layer? When I leave the label empty I get “undefined” in GA. I’m not sure if it is a because I should use a variable or if there is a problem in my data layer. Enhanced e-commerce – chekout step configuration

    • mm

      Edward 2 years ago

      Hi Anna,

      You don’t need to specify a label – GA doesn’t use the event dimensions (cateogory, action or label) in the checkout behaviour chart. But if you have a custom variable set up in GTM to measure ‘step’ then you can pass that as the label.

      Edward

  • Z Group 2 years ago

    According to documentation the tag configuration for checkout steps is as follows:

    Tag type : Universal Analytics
    Track type : Event
    Event Category: Ecommerce
    Event Action: Checkout
    Enable Enhanced Ecommerce Features: true
    Use Data Layer: true
    Basic Settings – Document Path: {{url path}}
    Firing Rule: {{event}} equals checkout

    What about the event label? Don’t I need to specify it somehow or does GTM automatically insert the “step” value from the data layer? When I leave the label empty I get “undefined” in GA. I’m not sure if it is a because I should use a variable or if there is a problem in my data layer. Enhanced e-commerce – chekout step configuration

    • mm

      Edward 2 years ago

      Hi Anna,

      You don’t need to specify a label – GA doesn’t use the event dimensions (cateogory, action or label) in the checkout behaviour chart. But if you have a custom variable set up in GTM to measure ‘step’ then you can pass that as the label.

      Edward

  • Anna 2 years ago

    Hi, the official documentation doesn’t say you should define seperate step events – there is only one event that registers them – here I see we should set up a seperate event for each step. I have a problem with the shopping behavior report – it shows 0 transactions event though the goals report and the checkout report show that the transactions were made.

    • mm

      Edward 2 years ago

      If the checkout step event shows up in the ‘behaviour..events’ reports, but not in the ‘conversions.. ecommerce.. shopping analysis .. checkout behaviour’ then that means the GTM tag is firing, but the data layer object is not valid.

      Go back to the documentation, and check all the required attributes are sent and in exactly the right format. e.g. transaction value is sent as string type ‘0.00’ but checkout step is sent as a number.

  • Anna 2 years ago

    Hi, the official documentation doesn’t say you should define seperate step events – there is only one event that registers them – here I see we should set up a seperate event for each step. I have a problem with the shopping behavior report – it shows 0 transactions event though the goals report and the checkout report show that the transactions were made.

    • mm

      Edward 2 years ago

      If the checkout step event shows up in the ‘behaviour..events’ reports, but not in the ‘conversions.. ecommerce.. shopping analysis .. checkout behaviour’ then that means the GTM tag is firing, but the data layer object is not valid.

      Go back to the documentation, and check all the required attributes are sent and in exactly the right format. e.g. transaction value is sent as string type ‘0.00’ but checkout step is sent as a number.

Trackbacks/Pingbacks

  1.  Tracking a gardening website | LittleData Blog
  2.  Tracking a gardening website | LittleData Blog
  3.  Best enhanced ecommerce plugins for Magento | LittleData Blog
  4.  Best enhanced ecommerce plugins for Magento | LittleData Blog
  5.  What are Enhanced Ecommerce reports? | LittleData Blog
  6.  What are Enhanced Ecommerce reports? | LittleData Blog
  7.  Use Enhanced Ecommerce to optimise product listings | LittleData Blog
  8.  Use Enhanced Ecommerce to optimise product listings | LittleData Blog