2
votes

So I have read over the Product List Attribution, and can not really understand why my addToCart, checkout and purchase data is not coming through in the product list performance reports in GA.

Product Attribution

In Enhanced Ecommerce, the Product List Performance report includes useful Product Attribution data. The report includes a "last action" attribute which gives product level credit to the last Product List (i.e. add to cart, checkout, or purchase) that the user interacted with prior to the conversion event.

Product Attribution data helps you understand which Product Lists are driving conversions and allows you to optimize your merchandising efforts and drive sales. For example, you can now understand whether users are purchasing a product as a result of clicking on a merchandising block, category page, or on the search results page.

To get started with Product Attribution, make sure to specify the list attribute on your ecommerce action data. This list field will be used to then attribute Product Adds To Cart, Product Checkouts, Unique Purchases, and Product Revenue in the Product List Performance report accordingly

I'm implementing this in GTM. I'm trying to track each one of my category pages performance however, I would like to track the Product List through the whole checkout process "Product Adds To Cart, Product Checkouts, Unique Purchases, and Product Revenue"

Does this mean I will have to assign the product list value for each product on checkout event & purchase events? if so how do you recommend I do this.

For example if a person views a product on category A, clicks a product and then continues through the addToCart checkout and purchase do I need to record that it was product list A that lead to the addToCart, checkout and purchase at each step???

2

2 Answers

1
votes

So far i managed to get the list populated all the way up to Unique Purchases ( this column still gets dumped into "not set" for some reason ) For the add2cart i m using:

ga('ec:addProduct', {
'id': id,
'name': name,
'category': category,
'price': price,
'quantity': qty  }); 
ga('ec:setAction', 'add', { 'list': category });
ga('send', 'event', 'UX', 'click', 'add to cart');

The same goes for the checkout procces ( my checkout is a onestep checkout in magento ) so i only load the page once and used :

 for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
  'id': product.sku,
  'name': product.name,
  'category': product.category,
  'price': product.price,
  'quantity': product.qty
}); }
ga('ec:setAction','checkout', {'step': 1 , 'option': log});
ga('send', 'pageview');

Maybe you have an ideea for the last step :) Hope this helps

0
votes

You do have to add the list ID and position on the checkout flow, but not when adding a product to the cart or removing one.

You need the list ID and position for:

  • product impression or clicks
  • checkout steps
  • transactions

When you track the checkout steps, your code should look like this:

for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
        'id': product.sku,
        'name': product.name,
        'category': product.category,
        'price': product.price,
        'quantity': product.qty,
        'list': product.category,
        'position': product.positionInCategory
    });
}
ga('ec:setAction','checkout', {'step': 1 , 'option': log});
ga('send', 'pageview');

This way, Google will associate the checkout step to the proper list.

Make sure you add the list ID and position also with when tracking the transaction itself, for every product in the transaction.

To store this between pages, I would suggest you cache the information: