当有人点击“添加到购物车”按钮时,我正试图触发我的Facebook转化跟踪代码。我做了以下更改,虽然Facebook仍然显示像素未经验证。
我不确定ajax添加到购物车是否会干扰onclick事件。
这是我的添加到购物车按钮:
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" onclick="facebookConversionPixel(%s);" class="button %s product_type_%s">%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( $product->id ),
esc_attr( $product->get_sku() ),
esc_attr( isset( $quantity ) ? $quantity : 1 ),
esc_attr( $product->get_price() ),
$product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
esc_attr( $product->product_type ),
esc_html( $product->add_to_cart_text() )
),
$product );
这是我的loop-start.php文件的一部分:
<script>
function facebookConversionPixel(fb_value){
var _fbq = window._fbq || (window._fbq = []);
if (!_fbq.loaded) {
var fbds = document.createElement('script');
fbds.async = true;
fbds.src = '//connect.facebook.net/en_US/fbds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fbds, s);
_fbq.loaded = true;
}
})();
window._fbq = window._fbq || [];
window._fbq.push(['track', '6018460172323', {'value':+ fb_value,'currency':'USD'}]);
}
</script>
<ul class="products clearfix products-<?php echo $woocommerce_loop['columns']; ?>">
我刚刚添加了fb_value,我不确定我是否正确添加了它。我没有尝试过,但仍没有在Facebook的最终验证。
答案 0 :(得分:0)
使用以下脚本,信息将加载到页面上,并等待添加到购物车按钮以触发跟踪代码和金额。
<script>
(function () {
var _fbq = window._fbq || (window._fbq = []);
if (!_fbq.loaded) {
var fbds = document.createElement('script');
fbds.async = true;
fbds.src = '//connect.facebook.net/en_US/fbds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fbds, s);
_fbq.loaded = true;
}
})();
function facebookConversionPixel(fb_value) {
window._fbq = window._fbq || [];
window._fbq.push(['track', '6018460172323', {'value':fb_value,'currency':'USD'}]);
}
</script>