我看到了将谷歌广告事件代码段添加到转换页面(谢谢.php(
但我的情况不同。我正在使用";Auto Complete Processing WooCommerce在感谢页面上的订单";以及";重定向WooCommerce结账页面";所有这些都在我的functions.php文件中。
这就是我的functions.php文件的样子。我用"*********"隐藏了我的网站">
//Auto Complete Processing WooCommerce orders on Thankyou Page
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
if ( $order->has_status('processing') ) {
$order->update_status( 'completed' );
}
}
// Redirect WooCommerce checkout page to ******************** after the payament
add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout');
function pfwp_redirect_woo_checkout( $order_id ){
$order = wc_get_order( $order_id );
$url = 'https://*********/*********/*********/';
if ( ! $order->has_status( 'failed' ) ) {
wp_safe_redirect( $url );
exit;
}
}
我想在感谢谷歌广告中添加事件片段。
<!-- Event snippet for Purchase conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-***********/********kDENy8vL4o',
'value': 1.0,
'currency': 'SAR',
'transaction_id': ''
});
</script>
<!-- End Event snippet for Purchase conversion page -->
因为我正在将感谢页面重定向到另一个页面,脚本会触发吗?还是不?
由于我有很多控制WooCommerce的代码,我如何以及在哪里添加functions.php中的Event片段?
由于要重定向到另一个页面,因此必须在该页面上添加转换代码。为此,我设置了一个瞬态来传递该值。
您可以组合thank_you
的功能。
这是经过测试的,应该对您有效。
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
if ( $order->has_status( 'processing' ) ) {
$order->update_status( 'completed' );
}
$url = 'https://*******/'; // Your redirect URL.
if ( ! $order->has_status( 'failed' ) ) {
ob_start();
set_transient( 'wc_order_total_for_google', $order->get_total( 'edit' ), 1 * MINUTE_IN_SECONDS );
wp_safe_redirect( $url );
exit;
}
}
add_action( 'wp_print_footer_scripts', 'dd_add_conversion_code' );
function dd_add_conversion_code() {
if ( is_page( your_custom_page_id ) ) { //Set your custom page ID here.
if ( false !== get_transient( 'wc_order_total_for_google' ) ) {
$order_total = get_transient( 'wc_order_total_for_google' );
?>
<!-- Event snippet for Purchase conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-***********/********kDENy8vL4o',
'value': <?php echo esc_attr( $order_total ); ?>,
'currency': 'SAR',
'transaction_id': ''
});
</script>
<!-- End Event snippet for Purchase conversion page -->
<?php
delete_transient( 'wc_order_total_for_google' );
}
}
}
如果您将脚本与其他教程一起添加:
add_action( 'woocommerce_thankyou', 'ds_checkout_analytics' );
以及您的重定向:
add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout');
只需执行此操作即可在重定向前触发跟踪:
add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout', 12 );
add_action( 'woocommerce_thankyou', 'ds_checkout_analytics', 11 );
通过指定钩子";"优先级";,我们刚刚告诉WordPress在pfwp_redirect_woo_checkout((之前运行ds_checkout_analytics((。默认优先级=10