我正试图在我们的页面上实现转换API,当然主要问题是事件的重复数据删除。我避免这种情况的方法是使用相同的事件名称和相同的事件id(在特定时间生成的随机唯一变量)。据我所知,Google Tag Manager (GTM)将在满足某些条件(例如页面加载)时触发标记,并将事件发送到像素。我试图从我们的页面的javascript发送相同的事件。为了简单起见,我从'pageView'事件开始。
我正试图实现这一切只有标签管理器和我们的代码(不使用谷歌的标签管理器服务器端选项)
我已经实现了一些方法来尝试获得数据层变量(我定义了一个新的,称为EventID),但我看到,值存储在数据层时,页面加载-然而,当检查我的事件时,它显示事件id未定义(在调用我的函数时,dataLayer的EventID变量的值尚未设置)。所以事件发送'未定义'的eventID',但当我打开开发控制台并检查dataLayer变量预期的随机eventID数在那里。
我还添加了一个新标签"datalayer事件ID"它应该在页面加载时触发,并将新生成的事件id存储到可以获取的dataLayer中。代码很简单,看起来像这样:
<script>
ID = [our FB Pixel ID] + Date.now();
dataLayer.push({'eventID' : ID});
</script>
请更有经验的人评论一下:
- 这样做是正确的吗?我是否缺少一些触发器/应该定义不同的时间/地点,当这个标签应该触发?
- 我应该采取不同的方法来实现重复数据删除吗?
谢谢!
将eventID推入dataLayer不会改变任何情况。您需要更改FB标签本身的配置。
不知道为什么你不想使用sGTM,因为看起来这对你来说是最简单的选择。
这是一篇关于如何在Google标签管理器中设置Facebook事件重复删除的好博客文章