Enhanced eCommerce in Google Analytics for Shopify: What is it and why should I care
This is the fourth time I have sat down to write this post. It was overly complicated and has put me off writing posts for quite a while now, so I can only apologise about that. In hindsight I should have binned the half created post and carried on with other posts, but there you go. Instead, this is a guide on how to use enhanced ecommerce in Google Analytics when you are using Shopify.
I had this recollection that last time I wrote on here I said I’d do something on enhanced eCommerce, but it turns out that I was wrong and I just thought it in my head. As it turns out, I have been desperately slow at putting this together, but here is enhanced ecommerce on shopify.
What is enhanced eCommerce?
Enhanced eCommerce is what most other tools would call ‘eCommerce’. The idea of enhanced eCommerce is that it gives you more data about your conversion funnel than you get through the standard eCommerce and about your products (eg coupons used).
To understand this fully, the first thing that we need to do is to look at what eCommerce is and then we can fully understand the enhanced version.
It’s very easy to enable in Shopify – just click on the checkbox in the preferences menu of your Online store:
What is eCommerce?
Standard eCommerce in Google Analytics shows you some details about the things that people have bought. It solely relies on the thank you page to give you information about the orders, units, revenue and some details about the product.
For each product you can give it a name, sku (Stock Keeping Unit – or a unique ID from the world catalogues) and category. On the thank you page you say how much revenue and how many units it generated and you can create a report like the one above that shows you how many of each were bought.
(Name, SKU and category are just names given to a three variables that you are free to use how you wish. When deciding how to use them think of them as a hierarchy and give them their appropriate values – if each SKU has a unique name, then don’t use the two variable for that, because it is a waste of a variable.)
Alongside the total for the transaction you can also say how much tax and shipping costs there are (if they are variable – like in the US with sales tax – then this is useful for you to keep a track of what you are actually receiving).
Pretty simple stuff. Use your marketing sources and all that other jazz to work out how well you are meeting your KPIs (whatever they may be).
For Shopify people – these values are all set automatically out of the system as I mentioned in my previous post:
- Product ID is the SKU entered in the product page in shopify
- Product Name is the title of the product followed by the size as entered in the product page in shopify
- Product Category is the Product Type entered in the product page in shopify
- Product Brand is the Vendor entered in the product page in shopify
What about the sales funnel?
The sales funnel is where enhanced eCommerce comes in. With enhanced eCommerce you should be tagging up a number of actions that users complete before the get to the confirmation page, so that you can work through your micro-conversions. These are the things that you need to think about:
- Product list views
- Search Results page views
- Product Description page views
- Add to basket/cart
- Remove from basket/cart
- Basket/cart Page views
- Checkouts
- Purchase
Obviously this is a rough funnel and yours may be different, but it is a good place to start thinking.
The way that Google Analytics does enhanced eCommerce is effectively to make user of each of the steps in the process before, but with some custom information about each step, including what products the user has viewed and what promotions have been added.
I won’t go into depth in this post about how to code enhanced eCommerce (you can read Google Developer guide for a much better understanding of that). What I will do is point out that Shopify does a lot of this automatically if you click on the ‘enhanced eCommerce’ button in your set up process. What you end up with is reports that say how often things appeared in product listing pages, product detail pages, etc:
What you end up being able to see is your products broken down by:
- Product: This is a combination of the Title of your product and the variant
- Product SKU: This will be the SKU That you entered in the system (with each variant having a unique ID)
- Product Category: This is the Product Type that you gave the particular product when adding it in to Shopify
- Product Brand: This will be the Vendor you assign a product when you added in through Shopify.
This gives you a really useful way of being able to report on your individual products and isolate those that are performing best and worst and what you can do to improve performance. For example you may discover you have lots of views of a product, but very few add to basket, in this case you would think about the selling points of the product and how you can encourage users to move on to the next step in the purchase funnel (that might be price, it might be description, it might be more pictures, it might be shipping assurances, etc).
Note that Shopify doesn’t really do list pages, so to speak. Collection pages don’t count and neither do products manually entered on pages (eg the home page). That’s not to say they won’t introduce it in the future, they just haven’t done yet.
What Shopify does do is set up each of the steps in the process as a custom event as well, so you can easily create goals from each of these steps:
Conversion Point | Event Category | Event Action | Event Label |
PDP | [Product Type] | Viewed Product | |
Add to Bag | [Product Type] | Added Product | |
Click on Checkout | Cart page buttons | Click | Checkout |
1st page Checkout | EnhancedEcommerce | Started Order | |
… |
You can double check all the steps in the process by going to your events report in Google Analytics and seeing which have been fired.
What about promotions?
Promotions are the kettle of fish that other Analytics platforms do much better. If you want to capture how many people added a coupon code in Adobe, then you simply turn one of your custom conversion variables (evars) into a coupon code variable. It sits alongside your campaign code variables and you can work out how users did a mix of both of those. What you don’t want to be doing it trying to overwrite your campaign code with any internal marketing campaigns or coupons. It gets messy, conversions get misattributed and everyone is unhappy.
Promotions in enhanced eCommerce work in a similar way to the products sale funnel and you can add them in a similar fashion and it solves this problem.
Do not try and add internal promotions and coupon codes using your utm codes (eg utm_campaign). It will not work and you’ll end up with rubbish.
Your best bet is to add coupon codes at the end in the transaction part of the code. This will mean that each transaction or each product purchased will tell you which promotion you have applied. This coupon code can be something that the user has added (eg there could be a coupon box that they have to enter a code to get a discount) or it can be something that the user knows they are getting but doesn’t need to action (eg free shipping before 6pm) it can be something that you added yourself unbeknownst to the user (eg a clearance discount).
Note that in Shopify you can also helpfully add Discount codes in your interface, that will helpfully appear in these reports. And helpfully Shopify has split them up into things that apply to the entire order, selected collections or selected products. The latter two will of course appear in the ‘Product Coupon’ in Google analytics with the former appearing in Order Coupon.
By using these, you can continue to report your main marketing campaigns that drive people to the site, without overwriting with coupon information.
Hi! I have a question about the image you posted above. On my GA, I have numbers for product add to cart, product purchases, product checkouts, but all i have for product list views and product detail views are 0. Im also on shopify and have enhanced ecommerce enabled. What am I doing wrong?
Hi Kvin,
My understanding is that Shopify haven’t implemented the out of the box functionality for product list pages, so you won’t see any data for that dimension.
However you should see some data for product detail views. Does your Shopify site make use of the standard product pages or do you use something bespoke (eg when you go into your admin panel at the backend, do you create a new product in the product menu or do you do it in another way?). Also some themes can break the ecommerce by removing the meta data that is needed – do you have a bespoke theme that does something different on the product details page?
You can check what is happening yourself by opening a browser and then opening the developer tools (usually ctrl, Shift and ‘i’). In there you should have a ‘network’ tab. You can then filter everything for ‘google-analytics.com/collect’ which will show you everything that is being sent to Google Analytics. If you now navigate to the product page in the browser, you should be able to see in here everything that is triggered (you should have at least two – one for the page view and one for the product details view).
Hope that helps!