跟踪Woocommerce添加到购物车

时间:2016-08-09 07:51:03

标签: php woocommerce tracking cart

我正在寻找一种方法来跟踪woocommerce中的添加到购物车事件,将数据推送到一些数据层(产品名称,数量,价格和sku),以便我可以在谷歌标签管理器中跟踪它们。我们是非常新的PHP,我似乎无法在网上找到任何例子。你能建议一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

好吧,所以我想出了几个选择。

选项#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

我更喜欢这个想法,但我还没有完全测试过它。您将在PHP中使用woocommerce_add_cart_item过滤器,如下所示:

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 );