Home > Web Analytics, Web Analytics Implementation > Tracking Product Conversion/Abandonment with Google Analytics

Tracking Product Conversion/Abandonment with Google Analytics

July 19th, 2009

As more large enterprises are adopting Google Analytics, there’s a growing demand for enterprise-level features from the solution. Google has made some tremendous progress over the last year by introducing some advanced functionalities such as Advanced Segments, Custom Reports and API access, which has created an impressive ecosystem of add-on tools. There are still, however, some functionalities that are highly desired by the more advanced user base. One such functionality is reporting on product conversion or abandonment.

The Ecommerce functionality inside Google Analytics already provides a great deal of insight, including transactions and identifying your top revenue sources such as keywords, campaigns and affiliates. However, for those companies interested in optimizing their site merchandizing, a useful report is that of product conversion or abandonment. In other words, companies would like to understand the effectiveness of individual products at generating a view, a cart-add, checkout progress and finally a purchase.

Although this is not a standard report in Google Analytics, you can use the new Event Tracking feature in Google Analytics in order to generate this insight. This post outlines the instructions for those that want to generate such reporting inside Google Analytics.

The Event Tracking feature was originally designed by Google to help track visitor interactions within the web site. Examples include link clicks, downloads or interactions within a video or a Flash application. A typical syntax for sending an event to Google Analytics is the following:

pageTracker._trackEvent(category, action, optional_label, optional_value);

Where category is the name you supply to the elements you want to track, action is the name of the user action, label is the name or label associate with the event and an optional value, such as an amount associated with the event.

For this solution, we’re going to use the following syntax:

  • Category: the value passed into Category will be “product”. This lets us differentiate between other events if this feature is also used for other purposes.
  • Action: the values passed into this variables will be “view”, “cart”, “checkout” and “order”, depending on the stage at which the visitor is.
  • Label: this variable will be used to capture the name of the product.
  • Value: not needed in this case.

The next step is to code your ecommerce pages accordingly in order to pass the product name and the event into Google Analytics. Below are some instructions.

For the product pages, the following line should be added to the Google Analytics page code. The PRODUCT_NAME should be inserted dynamically from your content management solution.

pageTracker._trackEvent(“product”, “view”, “PRODUCT_NAME”);
For the cart page, you should be adding the following line(s). The PRODUCT_NAME should be inserted dynamically using your content management provider. Also, you’ll need to make this call for each product in the cart. For example, if there are two items in the cart, then this line should be called twice – one for each item.

pageTracker._trackEvent(“product”, “cart”, “PRODUCT_NAME”);

For the checkout start page, you should be adding the following line(s). The PRODUCT_NAME should be inserted dynamically using your content management provider. Again, you’ll need to make this call for each product in the cart. For example, if there are two items in the cart, then this line should be called twice – one for each item.

pageTracker._trackEvent(“product”, “checkout”, “PRODUCT_NAME”);

Finally, on the order confirmation page, you should add the following code. The PRODUCT_NAME should be inserted dynamically using your content management provider. Once again, you’ll need to make this call for each product in the cart.

pageTracker._trackEvent(“product”, “order”, “PRODUCT_NAME”);

Viewing Reports

The reports will be available within the Event Tracking section inside Google Analytics. If you want to see the overall progress at different stages, you can start with the “Categories” report and from there, click the “product” category. An example of the resulting view is shown below.

However, this merely gives you the progress at different stages without visibility into specific products. In order to see the progress within a specific product, you can go to the “Labels” report as shown below, which provides a list of individual products and select a specific item. The ensuing screen is also shown below and provides a view of the progress at each stage for the specific item selected. Here, you’ll be able to see how many times an individual item was viewed, added to cart, checked out and purchased.

Obviously, Event Tracking was not originally built for tracking product conversions, so it’s important to note the implications of such methodology. One of the main items to consider is that Event Tracking generates extra views in your account. As a result this methodology will have an impact on your overall account pageviews, pages per visit and bounce rates. For example, if a visitor hits a product page and bounces, because you’re using Event Tracking to track the page view event, you won’t be able to see the bounce event take place. However, for those who absolutely need to track product conversion/abandonment, this provides a reasonable solution.

Web Analytics, Web Analytics Implementation , ,

  1. | #1

    Another useful article by Tealium!

  2. | #2

    Nice article!

    I have one comment on your article though:
    Event tracking does not register page views, so you can use it without messing up your overall page views, pages per visit and bounce rates :-)

  3. | #3

    One quick update on my previous comment:

    Bounce rate can be effected when adding event tracking, but this is not always bad. The way it works is that an event is seen as an interaction, and therefore it is not a bounce when a visitor visits a page, interacts with the site (which triggers an event) and then goes away.

    This is good when you have an interactive site where visitors can do all their interactions on one page (e.g. for a Flash, Ajax site) or when you have a a product page that consists of several views that do not require a page reload. Now this page will not show a high bounce rate when visitors are interacting with the site before leaving.

    This is bad when event tracking is used for automatic tracking of events such as page load time. In that case bounce rate for all pages would go down (or even become 0%) because there always is interaction with the page even though automatic.

    So be careful when adding event tracking that gets triggered without user interaction, it might screw up your bounce rate figures ;-) .

  4. | #4

    Hi Donovan,

    You’re right and that’s specifically our point. In the end it depends on what more important to track. This is certainly a method to get product abandonment reports in Google Analytics but because of the bounce rate consequences it’s not for everyone.

  5. | #5

    Google has made some remarkable progress over the many years by providing some advanced features as compared to to previous version of Google.We can find the progress report with different levels.I think this article will give more relevant information regarding the Google progress level over the years.
    Mostly Google Analytics used to learn various online marketing status and which one is most effective and to see how other user can interact to your site.

  1. | #1
  2. | #2
  3. | #3