shshanker
9/10/2015 - 4:42 AM

Add google analytics eCommerce tracking

Add google analytics eCommerce tracking

<?php
add_action( 'woocommerce_thankyou_ga_tracking', 'gs_woocommerce_analytics_from_ga' );

function gs_woocommerce_analytics_from_ga( $order_id ){ ?>
 <script>
<?php $order = new WC_Order( $order_id ); ?>

ga('require', 'ecommerce', 'ecommerce.js');   // Load the ecommerce plug-in.

ga('ecommerce:addTransaction', {
  'id': '<?php echo $order_id;?>',                     // Transaction ID. Required
  'affiliation': '<?php echo get_option( "blogname" );?>',   // Affiliation or store name
  'revenue': '<?php echo $order->get_total();?>',               // Grand Total
  'shipping': '<?php echo $order->get_total_shipping();?>',                  // Shipping
  'tax': '<?php echo $order->get_total_tax();?>',
  'currency': '<?php echo get_woocommerce_currency();?>'                     // Tax
});

<?php
//Item Details
if ( sizeof( $order->get_items() ) > 0 ) {
    foreach( $order->get_items() as $item ) {
    $product_cats = get_the_terms( $item["product_id"], 'product_cat' );
            if ($product_cats) {
                $cat = $product_cats[0];
        }
    }
}
         ?>
// addItem should be called for every item in the shopping cart.
ga('ecommerce:addItem', {
  'id': '<?php echo $order_id;?>',                     // Transaction ID. Required
  'name': '<?php echo $item["name"];?>',        // Product name. Required
  'sku': '<?php echo get_post_meta($item["product_id"], "_sku", true);?>',       // SKU/code
  'category': '<?php echo $cat->name;?>',       // Category or variation
  'price': '<?php echo $item["line_subtotal"];?>',                 // Unit price
  'quantity': '<?php echo $item["qty"];?>',
  'currency': '<?php echo get_woocommerce_currency();?>'                   // Quantity
});
ga('ecommerce:send');

</script>

<?php } ?>