GA解答丨如何解决GTM中的事件跟踪不起作用?

1.数据层损坏

Google跟踪代码管理器中的事件跟踪依赖于数据层。但是,您站点上粗心的配置可能会破坏它。

那么如何知道站点上的数据层是否损坏?启用预览和调试模式,然后检查哪些事件显示在调试控制台的左侧。

通常,您始终应该在预览模式下看到至少3个事件:

1.页面预览

2.DOM准备就绪

3.窗口已加载

另一方面,如果您仅看到DOM Ready和窗口已加载,并且看到的是一个神秘的  Message,而不是Pageview,这就意味着您遇到了问题。

点击此处添加图片说明文字

2.您尚未创建触发器

这适用于您尝试在GTM中使用内置触发器的情况,例如Just Links,All Element Clicks或Form Submission (等等)。

一些GTM初学者只是启用了相关变量(例如Click ID,Click Text等),并希望他们将开始在Preview and debug console中看到Click事件。

但是,这还不够。

您还需要启用触发器以开始在预览模式下查看事件(这适用于GTM的内置事件跟踪功能)。因此,如果我们在谈论链接点击跟踪,则需要完成两个步骤:

启用与点击相关的变量

点击此处添加图片说明文字

在页面上至少启用“  Just Links”触发器(任何条件都可以)

点击此处添加图片说明文字

如果您对“所有点击”感兴趣,则至少启用一个“所有元素点击”触发器,依此类推。

完成此操作后,刷新预览和调试模式,然后与该元素进行交互。现在,您应该在预览控制台中看到该事件。

点击此处添加图片说明文字

3.使用错误的触发器

有时,您可能使用了错误的触发器来跟踪特定的交互。这里有几个例子。

1.您正在尝试使用“ 仅链接”触发器来跟踪元素的点击,但是该元素没有链接。

2.您可以检查该元素(右键单击>检查),然后检查该元素是否被<a>标记包围。如果不是,则无法使用“ Just Link Clicks” 触发器来跟踪此元素。

点击此处添加图片说明文字

4.iFrame

您可能会尝试跟踪iframe中某个元素的交互。简而言之,iFrame允许在网站上嵌入HTML文档。该文档可以只包含一个按钮、一个视频播放器、一个预订表单、也可以包含整个网站。

iFrame的内容可以属于您的站点,也可以托管在完全不同的域中。

以下是有关iFrame跟踪的注意事项:

即使作为网站访问者,您可以与其进行交互(单击,滚动等),但父页面(包括GTM)上的JavaScript也无法“看到”该iFrame内部发生的情况(除非您可以访问该iFrame内部内容的源代码)。

5.dataLayer.push不包含事件键

如果要在任何dataLayer.push上触发标签,则该推送必须包含“事件”键,例如:

window.dataLayer = window.dataLayer || [];

window.dataLayer.push({

  ‘event’:’formSubmitted’

});

然后,您可以使用自定义事件触发器  并激活代码。另一方面,如果dataLayer.push不包含’event’,则在“预览”模式下将看到的仅是Message。

点击此处添加图片说明文字

即使它向数据层添加了一些数据,您也不能使用消息推送作为触发条件。

6.错别字(+区分大小写)

Google跟踪代码管理器中的许多内容都区分大小写。例如,这意味着  productid≠productID。创建触发器时请记住这一点。例如,您看到一个自定义dataLayer.push,其中“事件”键为“ formSubmission”:

window.dataLayer = window.dataLayer || [];

window.dataLayer.push({

  ‘event’:’formSubmitted’

});

如果创建了这样的自定义事件触发器:

点击此处添加图片说明文字

它不起作用(因为您需要使用大写的S)。

7.别忘了发布您的容器

检查事件是否被正确跟踪之后,请不要忘记发布GTM容器。在预览模式下,您会在GA中正确看到数据。

但是,其余的网站访问量仍未得到衡量。那是因为其他访客没有看到预览模式。如果要公开更改,则需要发布GTM容器。

为此,请单击GTM界面右上角的“提交”,然后执行所有必要的步骤。完成此操作后,您将开始看到来自网站所有访问者的事件。

8.ga()方法被劫持

即使您的代码已触发,也请仔细查看预览和调试模式。如果您希望代码在“滚动深度”事件上触发,请在预览模式下单击该事件,然后检查代码的状态,是“仍在运行”吗?

点击此处添加图片说明文字

如果是,则表示未发送到Google Analytics(分析)的请求。有三个可能的原因:

1.您将GA设置变量插入了错误的字段。

2.ga()方法被劫持。

3.网站上不存在Google Optimize容器。

下面我将重点讨论第二个原因。

其他代码/工具可能会覆盖Google Analytics(分析)使用的全局ga()方法。这意味着GA设置刚刚中断,无法发送任何匹配。

让我们检查一下是否是这种的情况。在浏览器中打开JavaScript控制台,然后输入以下命令:

console.log(window [window [‘GoogleAnalyticsObject’]]。answer);

如果返回42,则表示状态良好,问题出在其他地方。

如果返回的不是42,而是其他值(很可能是undefined),则说明您的ga()方法已被劫持。

点击此处添加图片说明文字

如何解决?

您可以在GTM中定义另一个全局函数名称。其必须在所有GA标签中完成此操作,并设置对应的GA变量。

点击此处添加图片说明文字

发表评论

邮箱地址不会被公开。 必填项已用*标注