Woocommerce 将客户电子邮件推送到 dataLayer

标签 woocommerce google-tag-manager

我想将客户的电子邮件地址推送到订单页面上的数据层。这用于 Google Ads 增强型转化

我尝试了不同的解决方案,但似乎没有什么对我有用。

有什么好的建议,还是根本无法抓取电子邮件并推送到数据层?

最佳答案

您可以在致谢页面上注入(inject)脚本并将电子邮件推送到数据层,如下所示:

add_action( 'wp_head', 'add_ec_mail' );
function add_ec_mail(){
    if( is_wc_endpoint_url( 'order-received' ) ) :

        $order_id = absint( get_query_var('order-received') );

        if( get_post_type( $order_id ) !== 'shop_order' ) return; // Exit

        $order = wc_get_order( $order_id );

        ?>
        <script>
            window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'ecomm_mail': '<?php echo $order->get_billing_email(); ?>' });
        </script>
        <?php

    endif;
}

我已将您的 ec_mail 调整为 ecomm_mail,因为它似乎是当前格式。

关于Woocommerce 将客户电子邮件推送到 dataLayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72370583/

相关文章:

php - Woocommerce 缩略图库中的重复图片

java - 使用 java 的 WooCommerce Api 身份验证错误

google-analytics - 增强型电子商务 : Do I push a new list of impressions on filtering products?

android - 应用程序有时会在从后台恢复后停止响应。 Firebase 应该受到指责吗?

php - 在 Woocommerce 中更改结帐帐单字段占位符

wordpress - WooCommerce 不允许我将自定义列添加到 shop_order 帖子类型

php - 更改 WooCommerce 中生成的变量产品的产品名称

google-analytics - Google 跟踪代码管理器标记已触发,但事件未显示在 Google Analytics“实时事件”选项卡中

javascript - 从页面内识别 Google 跟踪代码管理器标记

javascript - Google 跟踪代码管理器增强了电子商务数据层