• GTM课程
  • 博客
  • 服务
  • 资源资源
    • YouTube频道
    • 电子书和指南
    • GTM食谱
    • 查看所有资源
    • GTM社区
  • 关于
    • 关于
    • 联系
  • GTM课程
  • 博客
  • 服务
  • 资源资源
    • YouTube频道
    • 电子书和指南
    • GTM食谱
    • 查看所有资源
    • GTM社区
  • 关于
    • 关于
    • 联系

2020年4月6日

如何在单页应用程序中使用Facebook Pixel跟踪浏览量

已更新:2020年4月6日。 这里’这种情况可能会让您看起来很熟悉。您登陆自己的网站,并触发了Facebook Pixel标签。您继续浏览该网站,该像素再也不会触发(除非您点击了 刷新 按钮)。

你什么’这里涉及的称为单页应用程序和Web跟踪工具(包括GTM)’不能像您期望的那样表现。

在本指南中,我’将向您展示如何在单页应用程序/网站中使用Facebook Pixel跟踪页面浏览量。

 

 

什么是单页应用程序(SPA)/网站?

根据谷歌,单页应用程序(SPA)是一个Web应用程序或网站,它会在首次加载页面时加载浏览整个站点所需的所有资源。当用户单击链接并与页面交互时,后续内容将动态加载(即使页面看上去可能有所不同,技术上也不会重新加载页面)。

通常的Facebook Pixel跟踪在传统网站上效果很好,因为该代码段代码是在用户每次加载新页面时运行的。

但是,在单页网站/应用程序中,所有必需的代码都会被加载一次,并且在整个用户会话期间不会重新加载页面。当您继续浏览网站或Web应用程序时,内容将动态加载。 这就是为什么您的Facebook Pixel浏览量仅触发一次的原因URL可能会更改,但这只是为了感知单独的页面。

幸运的是,一切皆有可能,您也可以使用GTM跟踪此类浏览量。继续阅读,我将向您展示如何进行。

 

要求

为了充分利用本指南,您应该已经熟悉 一般如何跟踪单页应用程序.

至于Facebook Pixel,我强烈建议您使用GTM的“自定义FB Pixel”模板(如 在这里描述)。如果您已通过“自定义HTML”标记实现了Facebook Pixel,请确保进行以下设置:

您已将主要的FB像素代码分为两部分,并将其保存为两个单独的标签:

  • FB像素基本代码(无 fbq(‘track’, ‘PageView’);)。将此标签设置为火 每页一次。唐’向其添加任何触发器。保存。您还可以删除与<noscript>(无论如何都无法正常工作)。
  • 被包围的Facebook Pixel浏览量命令<script>标签。将此标签设置为在 所有页面。而在 标签排序 部分,请确保将Facebook Pixel基本标记设置为 设置标签.

请记住:如果通过自定义HTML标签使用FB像素,则必须执行上述两个步骤。 如果您已实现FB Pixel自定义模板,则无需’不需要任何其他配置。

 

标签

阅读完之后 重要 在此博客文章的“部分”中,您应该已经具有以下任一条件:

  • 一个综合浏览量代码(通过自定义模板实现)
  • 或两个自定义HTML标签,基本代码和Pageview命令

跟踪其余的综合浏览量(又名 虚拟浏览量),我们将使用相同的标签。

 

触发

目前,您的Facebook Pixel仅在 页面浏览量 预览模式下的事件。那’s,因为您正在使用 所有页面 触发。

在单页应用程序中,我们还需要另一个触发器来跟踪页面URL何时动态更改。每次发生这种情况时,我们’再次触发Facebook Pixel Pageview。

我有 非常详尽的指南Â解释了如何决定为您的设置选择哪个触发器(因为存在许多细微差别)。所以,如果你没有’到目前为止,我强烈建议您这样做。

长话短说,您有两个主要选择:

  • 历史记录更改触发器
  • 如果这不起作用,则应 与开发人员一起’s help &自定义事件触发器

让’想象一下,对我来说,“历史记录更改”触发器有效。

创建一个在所有“历史记录更改”事件上触发的触发器。

保存触发器,启用 GTM预览模式,请刷新您的网站,然后尝试逐页导航。你应该看到 历史沿革 每次您转到另一个页面时发生的事件。如果看到多个 历史沿革 每个网页浏览量的事件, 读这个.

如果你不这样做’t see any 历史沿革 预览模式下的事件,则需要 毕竟与开发者合作.

 

将触发器添加到标签

将您在上一章中创建的触发器添加到Facebook Pixel标签中。

如果您使用的是Facebook Pixel自定义模板,只需将触发器添加到您的Pageview标签中。如果您使用的是“自定义HTML”标记,请将触发器设置为仅包含 fbq(‘track’, ‘PageView’); 命令。

确保您没有开火 FB基本代码 在同一页面上多次(这将导致错误)。

每次有Facebook Pixel 页面预览 被跟踪,它将捕获页面的当前URL(即使它包含#(URL片段))。所以,你不’无需进行任何其他配置(与Google Analytics(分析)不同)。

 

让’s test

现在,该确保您正确实施了所有内容。

GTM预览和调试模式。  在GTM中,启用 预览和调试模式,然后刷新要使用Google跟踪代码管理器安装Facebook Pixel的页面。

在屏幕底部,将显示一个调试控制台。点击“网页浏览”事件,您应该看到Facebook Pixel标记已被触发。

然后继续浏览您的网站。根据您的设置,您将看到 历史 或类似的东西 virtualPageview 预览模式下的事件。单击它们,检查您的FB Pixel页面视图标记是否正在触发。

 

Facebook Pixel助手。 前面的提示并不意味着所有内容都已正确发送到Facebook Pixel!还有其他地方需要检查。其中之一是 Facebook Pixel助手。安装它,您将看到此图标出现在Chrome浏览器的右上角。刷新页面后,如果在页面上实现了Facebook Pixel,则其颜色将变为蓝色,并且您会在该图标中看到一个数字。

单击该图标,然后进行检查。我们看到已跟踪PageView,并且它旁边有一个绿色的选中标记图标。很好!如果有装载程序或黄色图标,则表示可能存在问题。但是,绿色图标正是我们想要的。

如果您在同一页面上跟踪了多个综合浏览量,则会将它们全部视为单独​​的 页面预览 FB Pixel Helper中的事件。

 

Facebook像素报告

在Facebook业务管理器中,转到 活动经理> Data Sources >选择您的像素,然后选择 测试事件.

输入您网站的网址(如果我正在使用自己的网站,则输入 //www.toddblog.net),然后点击打开网站。重定向到您自己的网站后,请返回到 测试事件像素,并检查您是否看到了来自您自己设备的网页浏览量。如果没有任何显示,请返回您的站点并再次刷新页面。

如果一切正常,则意味着您已在单页应用程序中正确实现了Facebook Pixel。

 

进一步了解如何使用GTM实施Facebook Pixel

如果您想了解有关Facebook Pixel + GTM的更多信息,并确保所有设置均正确,请在下面输入您的电子邮件地址,然后下载我的Google Tag Manager Facebook Pixel备忘单。

 

 

 

在单页应用程序/网站中使用Facebook Pixel跟踪页面浏览量:最后的话

在这份相当快速的指南中,您了解了为了开始跟踪单页应用程序/网站中出现的所有页面视图,需要执行哪些必要步骤。

为此,您不仅需要在初始网页浏览量上触发FB Pixel页面浏览量标签(所有页面 触发),也可以在随后的虚拟综合浏览量中使用。自定义事件触发器或历史记录更改触发器非常适合该任务。

如果您曾经在Google Analytics(分析)中进行过单页应用程序跟踪,那么您可能已经意识到 #(URL片段)问题。幸运的是,Facebook Pixel也自动跟踪URL的编号,因此您不必’无需在此处进行任何其他配置。

 

 

朱利叶斯·费多罗维奇乌斯
在 Google跟踪代码管理器提示
17条评论
约翰
  • 2018年3月5日
  • 回复

你好朱利叶斯,

只要我们添加了“历史记录更改”触发器,像素就能跟踪页面路径吗?

问候
约翰

    朱利叶斯·美联储
    • 2018年3月5日
    • 回复

    是的,默认情况下,FB像素会跟踪“页面路径”。

尼基塔
  • 2018年3月6日
  • 回复

你好朱利叶斯,

如何为电子商务网站创建“添加到购物车”和“购买事件”?

最好
尼基塔

    朱利叶斯·美联储
    • 2018年3月6日
    • 回复

    你好, this really varies depending on a website and how it works. For example, in order to 跟踪 Add to Cart events, you should start with watching this video //www.youtube.com/watch?v=iaJ9HHvKeL8. As for Purchase events, it depends on how the payment process works. A useful resource would be this //www.toddblog.net/post/google-tag-manager-form-tracking/

    It looks like you're trying to 跟踪 interactions when you are not aware of GTM fundamentals and how things work. You should learn them first, here are several ideas where to start learning //www.toddblog.net/post/learn-google-tag-manager/

阿比·罗伯茨(Abbie Roberts)
  • 2018年5月25日
  • 回复

等等,这对Facebook中的转换有用吗?

    朱利叶斯·美联储
    • 2018年6月1日
    • 回复

    嘿,是的。完全可以。

伯大尼
  • 2019年2月4日
  • 回复

你好,

我们有一个页面应用程序,其中“页面视图”仅加载一次,但是URL随着用户的进度而变化,因此好像它们在页面之间进行。 Facebook像素仅在第一页上(页面视图时)加载,然后在URL更改后立即消失。我们可以在每次历史记录更改时触发该触发器,并且我可以在GTM中看到代码正在相应触发,但是像素未被拾取。任何帮助将非常感激。

特雷弗·莫利
  • 2019年2月8日
  • 回复

首先,您太有帮助了!!!我收到未知变量错误消息
“在标记中找到未知变量'URL-片段。编辑标记并删除对未知变量的引用。”

我是否必须在GTM中将“ URL-Fragment”设置为其自己的变量,我该如何做?我假设必须在用户定义的变量中完成此操作,但是我不确定URL的哪个-片段?如果是这样的话,这可能是一个很愚蠢的问题。

    朱利叶斯·费多罗维奇乌斯
    • 2019年2月8日
    • 回复

    嘿,此错误表示您的容器中不存在变量{{URL-Fragment}}。您需要手动创建它。我已经在本博文的“两个URL变量”一章中说明了如何创建该变量。

斯里尼瓦斯
  • 2019年3月19日
  • 回复

你好
我能够在每个工作正常的页面中触发综合浏览量像素代码,但是我对一个特定页面的要求。我能知道如何在angular 6应用程序中触发特定页面的购买像素代码吗?任何帮助将不胜感激。

    朱利叶斯·费多罗维奇乌斯
    • 2019年3月20日
    • 回复

    您如何在每次网页浏览中触发代码?借助历史记录更改触发器?如果是,则使用与“历史记录更改”相关的触发器仅在特定的historyState上触发您的标签。

安吉特瓦茨
  • 2019年4月19日
  • 回复

你好
我使用的是一个javascript应用程序,它的URL中没有哈希标签,我尝试设置历史记录触发器,但有时会重复该事件。您是否有正确的指南在javascript react app中设置GTM(没有哈希标签)?
谢谢

泰勒·塞恩(Taylor Thain)
  • 五月2 2019
  • 回复

如果我了解这一权利,那么只要URL中没有哈希,Facebook就能跟踪虚拟页面浏览量?最近将我们的网站更新为可以用作单页Web应用程序的系统,并且正在修复跟踪中。即使是此SPA,目标转换似乎仍在触发。

只要没有标签数据,此目标转换是否可以立即使用?我误会吗?

    朱利叶斯·费多罗维奇乌斯
    • 五月3 2019
    • 回复

    Facebook Pixel跟踪虚拟浏览量。它只是不捕获URL后面#后面的部分(因此,您丢失了一些数据)。

      泰勒·塞恩(Taylor Thain)
      • 五月3 2019
      • 回复

      很好,谢谢。我们不在网址结构中使用#,所以我认为一切都应该正常工作。

伊兰·佩雷斯(Ilan Perez)
  • 五月6 2019
  • 回复

感谢本教程。我可以在最佳时机解决我的问题。
但是我无法使其正常工作。
我得到这个错误
“我们检测到事件代码,但该事件未激活像素,因此没有信息发送到Facebook。这可能是由于代码错误所致,但是如果像素在诸如按钮之类的动态事件上触发,也会发生这种情况点击。了解更多”

From the virtual pageview 脚本.
我可以告诉您,在虚拟网页浏览之前,像素已正确触发。
当我在“虚拟”页面视图上查看代码时,它显示了这一点
fbq(“ 跟踪Custom”,“ virtualPageview”,{url:“ https:\ / \ / xxx.com \ / app \ /!\ / home \ / 123 \ / welcome”});

这是有道理的,因为这是位置
//xxx.com/app/#!/home/123/welcome

关于我在做什么错的任何建议?

    朱利叶斯·费多罗维奇乌斯
    • 五月8 2019
    • 回复

    为什么不在fbq代码中插入GTM变量?我说的是{{Page Path}}和{{URL-Fragment}}。

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

 

嗨,我是Julius Fedorovicius 并且在这里可以帮助您学习Google跟踪代码管理器和Google Analytics(分析)(但主要是GTM)。在这个激动人心的旅程中,与其他100 000多个每月访问量和14000多个新闻通讯订阅者一起加入。 阅读更多
基本资源


热门文章
  • 🔥GTM表格跟踪:7种有效方法
  • 🔥dataLayer.push:指南
  • 🔥GTM vs Google Analytics(分析)
  • 🔥99使用GTM可以做的事情
  • 🔥GTM常见错误
  • 🔥数据层:终极指南
  • 𥔥60 +适用于GTM的自定义JavaScript
分析狂热
  • Google跟踪代码管理器课程
  • Google跟踪代码管理器食谱
  • Google跟踪代码管理器资源
  • Google跟踪代码管理器社区
  • 登录课程
关注Analytics Mania
  • 订阅新闻通讯
  • RSS订阅
最近的帖子
  • Google Analytics(分析)4中的增强测量:指南
  • 使用Google跟踪代码管理器跟踪联系表7
  • 在GTM中缺少DOM准备就绪和窗口加载事件?
分析狂热- Google Tag Manager and Google Analytics 博客 | 隐私政策
管理Cookie设置

<font id="C0SRDkm"></font>
      <sup class="fyvg9WJ"></sup>
      • <rp id="hGcOg7z" class="hX5peru"><figcaption class="c4OrvWW"><map id="SAboS0U" class="SWj9TKD"><abbr id="Ji6Az2n" class="JQ3CNnj"></abbr></map></figcaption></rp>
        <colgroup id="N1TS78o" class="NgxVDxA"><a id="orAt7BP" class="oy098BT"><menu id="oNyDPsB"></menu></a></colgroup>