跟踪Woocommerce添加到购物车


Tracking Woocommerce Add to Cart

我正在寻找一种方法来跟踪添加到购物车事件在woocommerce,推数据在几个数据层(产品名称,数量,价格和sku),所以我可以跟踪他们在谷歌标签管理器。我们是很新的php,我似乎找不到任何在线的例子。你能提出一个解决办法吗?

好了,我想出了几个选项。

<标题>选项# 1

这不是一个非常干净的方法,但应该没有太多麻烦。我们的想法是绑定.single_add_to_cart_button来执行AJAX请求,这样您就可以将产品页面中的所有可见数据传输到PHP数组。

将此JS添加到产品页面:

jQuery( '.single_add_to_cart_button' ).click( function( event ) {
    event.preventDefault();
    jQuery.ajax({
        url: '/path/to/wp-admin/admin-ajax.php',
        type: 'POST',
        data: {
            action: 'get_add_to_cart_data',
            sku: jQuery( '...' ) // extract the data you want from the page
        }
        success: function( response ) {
            console.log( response ); // log errors
            jQuery( '.single_add_to_cart_button' ).unbind( 'click' ).click(); // now add to cart
        }
    });
});
然后,作为服务器端PHP:
function get_add_to_cart_data() {
    $sku = $_POST['sku']; // all your data will be in this array
    track(); // do whatever to track the data
    echo "Success";
}
// Now bind this function to use with AJAX in WordPress
add_action( 'wp_ajax_get_add_to_cart_data', 'get_add_to_cart_data' );
add_action( 'wp_ajax_nopriv_get_add_to_cart_data', 'get_add_to_cart_data' );
<标题>选项# 2 h1>
function track_cart_item( $cart_array ) {
    track( $cart_array ); // this array should contain most (all?) the data you want to use
}
add_filter( 'woocommerce_add_cart_item', 'track_cart_item', 10, 1 );

我写了一篇简短的教程,涵盖了这个主题:

sampovirmasalo。跟踪添加到购物车事件在WooCommerce与此谷歌标签管理器代码片段

基本思想是在单个产品页面上为添加到购物车按钮添加跟踪事件,并在产品列表和carousel中添加到购物车链接按钮。还需要分别处理ajax和非ajax方式。