跟踪电子邮件用户无法使用Google跟踪代码管理器

时间:2016-04-13 14:05:51

标签: google-tag-manager

我每次有人访问网站时都试图获取有关用户电子邮件的信息。此信息存储在PHP会话变量中。因此,我使用电子邮件数据定义dataLayer,并附加事件gtm.load,如下所示:

<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.js"></script>
    <?php
        session_start();
        $_SESSION['email'] = 'mimail@gmail.com';
        echo 'test ' . $_SESSION['email'];
    ?>
    <script>
      var dataLayer = [
          {'email':'<?php echo $_SESSION["email"]; ?>',
           'event':"gtm.load"}
      ];
    </script>
</head>
<body>
    <a href="mailto:joseantonio.cuenca@perseivivarium.com">Track</a>

    <!-- Google Tag Manager -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PFG3F5"
    ...
    })(window,document,'script','dataLayer','GTM-XXXXXX');</script>
    <!-- End Google Tag Manager -->
    </body>
</html>

但访问Google跟踪代码管理器,我无法跟踪事件中的数据。 dataLayer加载正常,因为如果我在console.log中,我有:

Object {email: "mimail@gmail.com", event: "gtm.load"}

提前致谢。

1 个答案:

答案 0 :(得分:0)

您无需提供自己的&#34; gtm.load&#34;事件,实际上当代码在页面下方加载时,GTM将只是另一个gtm.load(gtm.load是在页面完全加载时自动设置的事件)。

如果在GTM标记之前设置dataLayer,则根本不需要定义自定义事件,只需在默认事件中访问数据层(首次加载代码时为gtm.js,当时为gtm.dom时当页面和所有资源都已加载时,DOM已准备好并且gtm.load。因此,删除事件并尝试在页面视图中访问变量(触发器类型也设置为pageview)。