Javascript 在Woocommerce中的Adword转换代码中添加订单数据
我有一个adwords转换代码,我想添加到我的子主题中。我想在这段代码的“值”属性中插入总购买金额,以便每次触发该代码时,购物车中的总金额都会添加到转换中Javascript 在Woocommerce中的Adword转换代码中添加订单数据,javascript,php,woocommerce,cart,google-ads-api,Javascript,Php,Woocommerce,Cart,Google Ads Api,我有一个adwords转换代码,我想添加到我的子主题中。我想在这段代码的“值”属性中插入总购买金额,以便每次触发该代码时,购物车中的总金额都会添加到转换中 <script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script> <script> window.dataLayer = window.dataLayer ||
<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>
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“AW-806400000”);
gtag(‘事件’、‘转换’{
“发送至”:“AW-806400000”/IHBJCOSFAEWKASDOWW”,
“值”:1.0,***[从购物车中获取总数并在此处使用]**
“货币”:美元,
“事务处理id”:”
});
更新
正如Reigel所建议的,在“订单接收”结束点(谢谢页面)应该更合适。在这里,我们的目标是订单总额(因为购物车对象不再存在)
因此,代码应该是:
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
}
add_action('wp_head','google_tag_manager_checkout_conversion_script');
函数google\u tag\u manager\u checkout\u conversion\u script(){
//仅在“订单已收到”页面上
如果(!is_wc_endpoint_url('order-received'))
return;//退出
全球$wp;
$order_id=absint($wp->query_vars['order-received']);
$order\U key=isset($\U GET['key'])?wc\U clean($\U GET['key']):“”;
if(空($order_id)|$order_id==0)
return;//退出
$order=wc\u get\u order($order\u id);
如果($order->get_order_key()!=$order_key)
return;//退出
//获取订单总金额和订单交易ID
$order_total=(浮动)$order->get_total();
$transaction_id=$order->get_transaction_id();
?>
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“AW-806400000”);
gtag(‘事件’、‘转换’{
“发送至”:“AW-806400000”/IHBJCOSFAEWKASDOWW”,
“值”:,
“货币”:美元,
“事务处理id”:”
});
针对结帐页面,您可以尝试以下钩住的功能,该功能将使用正确的购物车总金额在
部分添加脚本:
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
}
add_action('wp_head'、'google_tag_manager_order_received_conversion_script');
函数google\u tag\u manager\u order\u received\u conversion\u script(){
//仅在结帐页面上
if(!(is_checkout()&&!is_wc_endpoint_url())返回;
?>
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“AW-806400000”);
gtag(‘事件’、‘转换’{
“发送至”:“AW-806400000”/IHBJCOSFAEWKASDOWW”,
“值”:,
“货币”:美元,
“事务处理id”:”
});
更新
正如Reigel所建议的,在“订单接收”结束点(谢谢页面)应该更合适。这里我们以订单总数为目标(因为购物车对象不再存在)
因此,代码应该是:
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
}
add_action('wp_head','google_tag_manager_checkout_conversion_script');
函数google\u tag\u manager\u checkout\u conversion\u script(){
//仅在“订单已收到”页面上
如果(!is_wc_endpoint_url('order-received'))
return;//退出
全球$wp;
$order_id=absint($wp->query_vars['order-received']);
$order\U key=isset($\U GET['key'])?wc\U clean($\U GET['key']):“”;
if(空($order_id)|$order_id==0)
return;//退出
$order=wc\u get\u order($order\u id);
如果($order->get_order_key()!=$order_key)
return;//退出
//获取订单总金额和订单交易ID
$order_total=(浮动)$order->get_total();
$transaction_id=$order->get_transaction_id();
?>
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“AW-806400000”);
gtag(‘事件’、‘转换’{
“发送至”:“AW-806400000”/IHBJCOSFAEWKASDOWW”,
“值”:,
“货币”:美元,
“事务处理id”:”
});
针对结帐页面,您可以尝试以下钩住的功能,该功能将使用正确的购物车总金额在
部分添加脚本:
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
}
add_action('wp_head'、'google_tag_manager_order_received_conversion_script');
函数google\u tag\u manager\u order\u received\u conversion\u script(){
//仅在结帐页面上
if(!(is_checkout()&&!is_wc_endpoint_url())返回;
?>
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag(“配置”、“AW-806400000”);
gtag(‘事件’、‘转换’{
“发送至”:“AW-806400000”/IHBJCOSFAEWKASDOWW”,
“值”:,
“货币”:美元,
“事务处理id”:”
});
我认为,这段代码最好放在“谢谢”页面。在成功结帐后。@Reigel是的,我知道,但OP要求购物车总计…在Thankyou中,没有更多的购物车对象,而是订单对象…是的,但我想OP只是与术语/单词“购物车”混淆了。哦,OP必须澄清这一点。@Reigel最后我添加了“订单已收到”选项…我会看看OP怎么说…这取决于他。非常感谢,很抱歉延迟回复。我同意,由于它的转换脚本,最好在“订单已收到”中使用“结束点。我还想说,现在每页都添加了相同的bcoz我的脚本。我会将问题标题更改为Order Total。我认为,最好将此代码放在“谢谢”页中。成功后