logo-small
Features Prices
News 0
Latest News See All

Temporarily unavailable. Please come back later.

See All
Webinars 0
Upcoming Webinars See All
Upcoming Webinars

Sorry, we could not find any upcoming webinars.

See recorded webinars
Blog 0
Recent Posts See All

Temporarily unavailable. Please come back later.

See All
Shane Barker

How to Implement E-Commerce Tracking in Google Analytics

Shane Barker
How to Implement E-Commerce Tracking in Google Analytics

You've likely heard the term, but what exactly is e-commerce tracking? In short, it's a feature on Google Analytics that allows you to track online transactions on e-commerce websites. It provides detailed analytical data to help establish the right path to maximum ROI.

E-Commerce tracking even lets you see online traffic sources to improve your conversions. Doesn’t that sound exciting? It’s rather simple to enable your website for generating such information. All you need is a few extra codes. Of course, you also have to analyze the data presented to make the most of it.

Benefits of E-Commerce Tracking

Before understanding the benefits of tracking with Google Analytics, you must first be aware of the data that would become available. You'll be able to study the:

• Revenue generated by each of the products
• Total revenue
• Total number of products sold
• Quantity of specific products sold
• Rate of conversions
• Total transactions
• Number of unique purchases made
• Average price of products
• Average value of orders
Date wise performance data
• Number of days and sessions leading to a transaction

Using the above facts and figures, you can easily gauge which products are selling well and which are flopping. Setting up e-commerce tracking will give you valuable insight into the effectiveness of your marketing efforts.

By knowing the exact revenue generated from each generation, you can get your sales in line with your expectations. For instance, if the revenue produced from each sale is less than you've been expecting, you could introduce discounts or set a minimum purchase clause. 

This Google Analytics feature helps you get to know your returning customer base. You can then plan your specific re-marketing strategies to target them and enhance conversions. Thus, using the tracking data can accomplish a lot. 

How Are Transactions Tracked?

Let's briefly look at the process depicted below to better understand how a transaction is tracked using Google Analytics. 

GA for E-Comm

Image credit: http://www.optimizesmart.com/


As you can see, the tracking involves:

• Completion of a transaction by the visitor.
• Processing in your eCommerce platform. This includes verifying the mode of payment, storing transaction details, generating the receipt page, inserting the transaction date into tracking code and loading the receipt for customer viewing.
• For the visitor, the transaction is complete and he or she will await the product's arrival. However, the moment the receipt loads on the customer’s browser, the tracking code sends data to the Google Analytics Server. 

The receipt page is very important because it's where you need to add the tracking code. Through this, Google Analytics receives data from the transaction and stores it with other matrices. You'll then be able to analyze the conversion process and find innovative ways to increase ROI. 

Implementing E-Commerce Tracking in Google Analytics

The First Step: Get a Google Analytics Account

This is quite simple. Do you have a Google Analytics account yet? If the answer is no, it’s about time you get one. If you already have an account, let’s move forward.

The Second Step: Enable Tracking in Google Analytics

Next comes enabling tracking in Google Analytics. You need to turn on the button meant for e-commerce tracking with these steps:

• Sign into your Google Analytics account.
• Choose the desired account. 
• Go to the “Admin” tab from the top navigation.

GA for E-Comm
• In the third column from left, choose “e-commerce" setting.
• Turn the “Enable e-commerce" toggle switch to “On."

GA for E-Comm
This is optional, but you could also set the “Enable Related Products" toggle to “On.” Click on the "Next Step" It will ask for "Enhanced E-Commerce Settings." If you want to enable it, then toggle the switch to "On" or else click "Submit."

The Third Step: Add Tracking Codes

Now, it’s time to add the tracking codes onto your website's receipt page. Here is the Asynchronous Syntax recommended code by Google:

<html>
<head>

<title>Receipt of your purchase from Shoe Shop</title>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_addTrans',
    '9536',           // transaction ID - required
    ' Shoe Shop',  // affiliation or store name
    '56.23',          // total - required
    '2.56',           // tax
    '3',              // shipping
    'Las Angeles',       // city
    'California',     // state or province
    'USA'             // country
  ]);

   // add item might be called for every item in the shopping cart
   // where your ecommerce engine loops through each item in the cart and
   // prints out _addItem for each
  _gaq.push(['_addItem',
   '9536',           // transaction ID required
    'DD44',           // SKU/code - required
    'Nike Shoe',        // product name
    'Sport Medium',   // category or variation
    '56.23',          // unit price - required
    '1'               // quantity - required
  ]);
  _gaq.push(['_trackTrans']); //submits transaction to the Analytics servers

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>
<body>

  Thank you for your order.  You will shortly receive an email containing all your order details.

</body>
</html>

Note 1: It's necessary to add the codes in the receipt page only using all required fields.
Note 2: Make sure that website visitors aren't able to access the receipt page directly without making a purchase. Failing at this will skew your e-commerce stats.

The tracking process starts with the initialization of transaction objects by using method _addTrans() in the script. The main goal of the transaction object is to store data related to the transaction. This can include facts like billing address, charges for shipping, and transaction ID.

Syntax: _addTrans(orderID, store name, total revenue, tax, shipping, city, state, country)


Here’s an example:

GA for E-Comm

Note: All items purchased during this transaction must have the same ID.

Next, you'll need to add items to the transaction. This is achieved by utilizing the _addItem() method. Remember that the information collected so far is limited to the transaction and won't include individual items. Therefore, this step is focused on gathering product information, such as stock keeping unit (SKU), total quantity, price, and item category. _addItem() is utilized to store data about the product purchased in the visitor's transaction.


Syntax: _addItem(orderID, Product-SKU, Product-Name, Product-Category, Product-Price, Quantity)

Here’s an example:

GA for E-Comm
All that's left now is to submit the data collected into the Google Analytics Server. This is accomplished through the _trackTrans() method. _trackTrans() occurs only once the transaction is actually completed. Of course, interpretation of the transaction tracking data will depend on the engine that you choose. Good ones will significantly simplify the data before presenting it to you. Rest assured that almost all e-commerce engines recognize and accept Google Analytics data though.

Here’s how the _trackTrans() method works:

_trackTrans() is utilized to send e-commerce tracking data to Google Analytics via an invisible _utm.gif file. The file is requested in two instances:

1. Each visitor’s transaction
2. Each unique product

Syntax: _gaq.push([‘_trackTrans’]);

Note 1: The _trackTrans() method should always be called after the following methods: _trackPageView(), _addTrans(), and _addItem() methods.

Note 2: The use of _trackPageView() will associate the purchase with the page titled something like “Receipt of your purchase – Shoe Shop”

Note 3: The _gaq is a global object that can be used directly for an asynchronous page tracking with the push (...) method.

Collecting Meaningful Analytics Data

Google Analytics has the power to steer your business in the right direction if it's veering towards the wrong path. Yet, you'll need data that's meaningful without any room for ambiguity to ensure this holds true. Keep in mind that Analytics will churn out only data that's supplied to it. Don't forget the following handy tactics.



• The argument list for both _addItem() and _addTrans() is correspondent to position. Certainly, you don’t need all of the arguments, but supplying empty placeholders for arguments that aren't specified is vital. This will prevent calculation errors. For instance, you could add an item that contains quantity, place, SKU, and transaction ID in this manner: _addItem("9856", "684", "", "", "95.61", "1");

• SKU codes are a must for every item in the transaction. When the SKU isn't provided for all items, then GIF request would only be requested for the last product containing a SKU. Also, if the same SKU is assigned to multiple products, the e-commerce tracking data would only be available for the one added most recently. Your analytics will be skewed in both cases because all transaction purchases wouldn't be accounted for.

• Currency conversions ought to be handled before sending the data to the Google Analytics server. The “Price” and “Total” parameters don't follow any currency formatting. Without currency formatting, the parameters consider the period (.) and comma (,) as fractional value. Unless handled by your eCommerce platform's software, the e-commerce tracking data sent to Analytics will consider 44,550 dollars as $44.55 which will end up by supplying very wrong input.

Consider all of these aspects while implementing e-commerce tracking in your Google Analytics account. Then, you'll be less likely to miss anything about your purchases. 

Need Help?

E-commerce tracking is a rather complex subject for website owners to understand and implement. Tracking mechanisms typically vary greatly from one business to another. If you're struggling with an e-commerce tracking problem, I'd love to lend a helping hand. Simply leave me a message in the comments section below. I'll get you out of your coding misery in no time. Happy tracking! 

Shane Barker is a digital marketing consultant, named the #1 social media consultant in the US by PROskore Power Rankings. He has expertise in business development, online marketing and is an SEO specialist who has consulted with Fortune 500 companies, government agencies, and a number of A-list celebrities.

Comments

2000 symbols remain
Sivagopi
Sivagopi
Hello I am new to ecommerce websites. Just wanted to know in which page should I need to add the ecommerce tracking code and we can't guarantee how many quantity does the user may buy in single purchase and how to implement ecommerce tracking to track multiple products in single purchase
Shane Barker
Sivagopi
The tracking code should be placed in the THANK YOU page i.e. product confirmation page once the purchase is done. And thank you page is a dynamic page so there is no need to implement the code multiple times. I hope that helps @sivagopiappathurai:disqus
Richie
Would love to get more meaningful data/interpretation out of GA. I want to see what are all the KPIs you track and if we are pulling all the levers available in GA to give us those data.
Agtunn Naymin
Agtunn Naymin
I like the key KPIs you mentions, what about Enhanced Ecommerce in GA? Would be interested to know more on this. Thanks
Shane Barker
Agtunn Naymin
It sounds like I might have to do a blog post on Enhanced Ecommerce in GA next! Thanks for the idea @agtunnnaymin:disqus!
Alex Henry
Alex Henry
Good post. Could you share how we can do it with analytics.js?
Shane Barker
Alex Henry
Hey Alex! Absolutely. Just email me.
Have a Suggestion?