【问题标题】:Set Google conversion tag event code values in Woocommerce order received page在 Woocommerce 订单接收页面中设置 Google 转化标签事件代码值
【发布时间】:2019-02-23 22:10:45
【问题描述】:

我正在尝试将 Google Adwords Conversion 标签安装到 Wordpress;特别是 Woocommerce。我们已经尝试过插件,但与其他项目有冲突,所以我们现在正在尝试手动实现它。

我们在 functions.php 文件中放置了以下“事件”标签:

add_action( 'woocommerce_thankyou',    'conversion_tracking_thank_you_page' );

function conversion_tracking_thank_you_page() {
?>
<!-- Event snippet for Transaction conversion page -->
<script>
 gtag('event', 'conversion', {
  'send_to': 'AW-######/######',
  'value': 1.0,
  'currency': 'USD',
  'transaction_id': '
 });
</script>
<?php
}

它正确拉取,但是,所有交易都默认为 1 美元。如果没有交易价值,我们将这个设置恢复为 1 美元,但是我们想从 Woocommerce 中提取交易价值。我到处搜索,但找不到具体的事件标签的正确代码,以从 Woocommerce 中提取此值。

【问题讨论】:

    标签: javascript php wordpress woocommerce google-tag-manager


    【解决方案1】:

    更新

    尝试以下操作(您必须设置正确的'send_to' 替换'AW-######/######'

    add_action( 'woocommerce_thankyou', 'conversion_tracking_thank_you_page', 95, 1 );
    function conversion_tracking_thank_you_page( $order_id ) {
        if( ! $order_id )
            return;
    
        // Get the WC_Order instance Object
        $order = wc_get_order( $order_id ); 
        ?>
        <!-- Google Tag: Transaction conversion event -->
        <script>
        gtag('event', 'conversion', {
          'send_to'       : 'AW-######/######',
          'value'         : <?php echo $order->get_total(); ?>,
          'currency'      : '<?php echo $order->get_currency(); ?>',
          'transaction_id': <?php echo $order->get_transaction_id() ? $order->get_transaction_id() : $order_id; ?>
        });
        </script>
        <?php
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。测试输出……这次应该可以了。


    类似的答案:

    【讨论】:

    • 谢谢!我正在对此进行测试以查看它是否有效。奇怪的是,“谢谢”页面错过了显示他们的订单号等信息。我们仍然可以有这个节目并让这个代码做它的事情吗?
    • @IVCatalina 代码中缺少'……再试一次……现在我不能保证其他任何东西,因为它取决于其他集成的相关JS……这里我只是填写你给定的带有必要的当前订单数据的问题代码...您可以在生成的页面源代码中检查它,因此只需回答您的问题。
    • 没问题;我很感激!我不确定 ' 在哪里丢失,但我再次复制了您的代码,感谢页面仍然缺少订单号。它显示没有此代码,但此代码似乎删除了此信息。
    • 如果有帮助,我的调试会给我错误: SyntaxError: '' string literal contains an unscaped line break for transaction_id line;我认为这是您更改为添加 '.不过好像不太喜欢……
    • @IVCatalina 哦,是的,抱歉,我又犯了一个错误并更新了代码……它现在应该可以按预期工作了。
    猜你喜欢
    • 2018-09-11
    • 2019-03-14
    • 2018-11-02
    • 1970-01-01
    • 2021-01-17
    • 2017-09-12
    • 2019-02-09
    • 2019-03-17
    • 1970-01-01
    相关资源
    最近更新 更多