在 Woocommerce 的 Adword 转换代码中添加订单数据
Add Order data in Adword Conversion Code in Woocommerce
我有一个 adwords 转换代码,我想在我的 child theme.I 中添加 theme.I 想在这段代码的 "value" 属性中插入总购买金额,以便每次触发代码时,购物车中的总金额都会添加到转化中。
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': 1.0, **[Get the Total from cart and use here]**
'currency': 'USD',
'transaction_id': ''
});
</script>
更新
正如 Reigel 所建议的,它应该更适合 "Order received" 端点(thankyou 页面)。在这里,我们改为以订单总计为目标(因为购物车对象不再存在)。
所以代码应该是:
add_action('wp_head','google_tag_manager_checkout_conversion_script' );
function google_tag_manager_checkout_conversion_script() {
// Only on "Order received" page
if( ! is_wc_endpoint_url('order-received') )
return; // Exit
global $wp;
$order_id = absint( $wp->query_vars['order-received'] );
$order_key = isset( $_GET['key'] ) ? wc_clean( $_GET['key'] ) : '';
if ( empty($order_id) || $order_id == 0 )
return; // Exit
$order = wc_get_order( $order_id );
if ( $order->get_order_key() != $order_key )
return; // Exit
// Get Order total amount and Order transaction ID
$order_total = (float) $order->get_total();
$transaction_id = $order->get_transaction_id();
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': <?php echo $order_total; ?>,
'currency': 'USD',
'transaction_id': '<?php echo $transaction_id; ?>'
});
</script>
<?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
这次您获得了交易 ID,这应该会更好。
原始问题的原始答案 如何获得此 Adwords 脚本的购物车总数...
要显示您将使用的购物车总金额:
<?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>
针对结帐页面,您可以尝试以下挂钩函数,该函数会将您的脚本添加到 <head>
部分,其中包含正确的总购物车金额:
add_action('wp_head','google_tag_manager_order_received_conversion_script' );
function google_tag_manager_order_received_conversion_script() {
// Only on checkout page
if( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return;
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': <?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>,
'currency': 'USD',
'transaction_id': ''
});
</script>
<?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
But it seems strange as there is not yet any transaction ID to set in it…
我有一个 adwords 转换代码,我想在我的 child theme.I 中添加 theme.I 想在这段代码的 "value" 属性中插入总购买金额,以便每次触发代码时,购物车中的总金额都会添加到转化中。
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': 1.0, **[Get the Total from cart and use here]**
'currency': 'USD',
'transaction_id': ''
});
</script>
更新
正如 Reigel 所建议的,它应该更适合 "Order received" 端点(thankyou 页面)。在这里,我们改为以订单总计为目标(因为购物车对象不再存在)。
所以代码应该是:
add_action('wp_head','google_tag_manager_checkout_conversion_script' );
function google_tag_manager_checkout_conversion_script() {
// Only on "Order received" page
if( ! is_wc_endpoint_url('order-received') )
return; // Exit
global $wp;
$order_id = absint( $wp->query_vars['order-received'] );
$order_key = isset( $_GET['key'] ) ? wc_clean( $_GET['key'] ) : '';
if ( empty($order_id) || $order_id == 0 )
return; // Exit
$order = wc_get_order( $order_id );
if ( $order->get_order_key() != $order_key )
return; // Exit
// Get Order total amount and Order transaction ID
$order_total = (float) $order->get_total();
$transaction_id = $order->get_transaction_id();
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': <?php echo $order_total; ?>,
'currency': 'USD',
'transaction_id': '<?php echo $transaction_id; ?>'
});
</script>
<?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
这次您获得了交易 ID,这应该会更好。
原始问题的原始答案 如何获得此 Adwords 脚本的购物车总数...
要显示您将使用的购物车总金额:
<?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>
针对结帐页面,您可以尝试以下挂钩函数,该函数会将您的脚本添加到 <head>
部分,其中包含正确的总购物车金额:
add_action('wp_head','google_tag_manager_order_received_conversion_script' );
function google_tag_manager_order_received_conversion_script() {
// Only on checkout page
if( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return;
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-806400000"');
gtag('event', 'conversion', {
'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
'value': <?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>,
'currency': 'USD',
'transaction_id': ''
});
</script>
<?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
But it seems strange as there is not yet any transaction ID to set in it…