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

2020年9月11日

使用Google跟踪代码管理器在一个“感谢页面”中跟踪许多表格

这里’一种情况:您想跟踪网站上的表单提交。有多种形式,它们都将访客重定向到相同的表单“Thank you” page. The built-in GTM中的表单提交触发器不起作用,因此您可以尝试实施 谢谢 page tracking method。但是,您如何区分提交的表格呢?

在本指南中,我’ll显示几个如何使用“谢谢页面”来跟踪许多表单的选项(换句话说,将相同的页面重定向‘Thank you” page).

订阅并获取电子书-真正的图书-GTM(初学者)

目录

+显示目录+

  • 选项1。使用引荐来源网址变量
  • 选项2。使用单页应用程序?使用触发组
  • 选项#3。单页应用程序的另一种选择
  • 选项#4。将最后提交的表单信息存储在cookie中
  • 选项#5。您可以自己更改“谢谢”页面的URL吗?
  • 选项#6。与开发者合作
  • 如何在一个“谢谢”页面上跟踪多种形式:最后的话

 

选项1。使用引荐来源网址变量

如果每页只有一个表单,则此方法很有用。

如果带有表单的页面和“谢谢”页面是同一子域之一,则很有可能使用内置 引荐来源网址变量Â在Google跟踪代码管理器中。此变量返回上一页的值。

但是,请记住,此变量变得更多,并且 更有限 (由于涉及隐私)。如果你的“Thank you”页面位于另一个域上,引荐来源网址可能不会返回完整的URL,这意味着您将无法区分访问者从哪个确切页面登陆。

要检查此方法是否有效(最好在多个浏览器中执行此操作):

  • 启用GTM预览和调试模式模式
  • 使用您要跟踪的表单刷新网站
  • 提交表单(并重定向到“谢谢”页面)
  • 检查 集装箱装载 预览模式下的事件>转到调试控制台的“变量”选项卡,并检查Referrer的值

您能否(通过查看)分辨出访问者从哪个确切页面着陆?“Thank you”页?如果是,那么此方法正是您所需要的。如果不是,请跳至选项#2。

It’是时候跟踪表单提交了。让’s说网址是“Thank you” page is this //www.example.com/thank-you/. 让 ’s create a trigger.

 

#1.1。创建触发器

在GTM中,转到 标签> New > Pageview 并输入以下条件:

  • 页面路径以/ thank-you开头
  • 引荐来源网址包含www.example.com(将其替换为您的网站’的域)。这是可选步骤,但如果有人不小心落在“Thank you”来自Google搜索或其他位置的页面(不是来自我的网站)’的另一页),这种情况将阻止代码触发。

 

#1.2。创建一个Google Analytics(分析)标签

在GTM中,转到 标签> New > Universal Analytics 并输入以下设置:

您可以使用其他 命名约定Â如果您愿意。这里最主要的是 事件动作,我们将发送上一页(提交表单的网址)的URL。

如果您只想跟踪引荐来源网址的路径名(而不是完整的网址),则可以创建一个 URL变量Â使用以下设置,并在您的GA标签中使用它。

 

#1.3。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

 

选项2。使用单页应用程序?使用触发组

笔记: the solution that I’m将显示您的伸缩性不是很好(除非您可以要求开发人员将一些其他信息传递给数据层。有关更多信息–之后)。如果您只有几种形式,并且预计它们的数量不会快速增长,请继续使用它。否则,请转到另一种方法。

如果您正在处理 单页申请,那么您可以考虑使用 触发组。此功能使您可以组合多个触发器。如果它们都在同一页面上触发,则触发组将被激活,所有相关的标签也将被激活。

这里’s the main idea:

  • 访客登陆表格“page”您的SPA。触发器A被激活。
  • 访客降落在“Thank you”页。触发器B被激活。

如果我们将两个触发器都包含在一个触发器组中,那么您的GA事件代码可能会触发。

我说这个话的原因“page”用引号引起来的是,单页应用程序跟踪通常涉及虚拟综合浏览量。每次访客从SPA的一部分导航到另一部分时,虚拟综合浏览量就会发送到Google Analytics(分析)。

有多种实现方式。

让 ’想象一下,就我而言,我问了一个 开发人员推送信息在每一页上 资料层。该信息如下所示:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'event' : 'virtualPageview',
  'pageTitle' : 'Some page title',
  'pagePath' : '/pages/some-page-with-form'
});

然后我创建了两个 数据层变量Â(用于pagePath和pageTitle)和一个 自定义事件触发器的“virtualPageview”.

该自定义事件触发器会在每个“virtualPageview”。但是在我们的情况下(跟踪多个表格和一个谢谢页面),这太广泛了。我们需要更深入。

让 ’可以想象在这个例子中还有另外一件事。有两个具有形式的虚拟页面:

  • / pages / download-an-ebook /
  • / pages / download-a-checklist /

…and one “Thank you”页/ pages /谢谢您/。

 

#2.1。扳机

现在,让’s创建触发器(警告:您’因为每个SPA的设置都有很大的灵活性/独特性,所以需要根据您的项目调整触发器的设置)。“Thank you” page:

然后为每个表格创建一个。这里’是一个触发器的示例。基本上,我只是输入代表虚拟网页浏览量的自定义事件名称,然后通过输入表单使其更精确’URL(pagePath或设置中使用的任何内容)

 

#2.2。触发组

然后呢’触发组的时间。由于我们有两种形式,我们’需要两个触发器组。去 扳机> New > Trigger Group。这里’是一个触发器组的示例。其中包含两个触发器:一个用于“Thank you”页面和一个与特定表单相关的综合浏览量。

您需要为希望在“单页应用程序”中跟踪的每个表单创建一个单独的触发器组。

 

#2.3。标签

然后,最后,创建两个标签(每个表单一个)。表单越多,标签越多’需要创建。将一个标签分配给一个触发器组。这里’是一个标签的示例。

 

#2.4。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

如您所见,此设置的伸缩性不是很好,如果您有很多表格,则可能会使您的容器快速混乱。例如,如果您有10个表单,则您’d需要创建11个触发器,10个触发器组和10个标签。不是理想的解决方案

但是对于小型网站,这仍然是一种选择。

 

选项#3。单页应用程序的另一种解决方案

这取决于您如何使用GTM跟踪虚拟网页浏览量。如果您使用的是“历史记录更改”触发器,则很可能已经有了有关数据层中上一页的信息。也许您的开发人员已经在推送上一页’的信息到数据层?

但是,这在很大程度上取决于SPA的编码方式。

无论如何,请打开“单页应用程序”,提交表单,然后将其移至“Thank you”页上,检查“预览和调试”模式的“数据层”标签。

看到与上一页相关的表格吗?

如果是,请使用 数据层变量以获取该值。或者内置变量 旧历史片段 或者 旧历史州 为你工作?如果是,则:

  • 创建一个自定义事件触发器(或历史记录更改触发器)—这取决于您现有的设置),当访问者看到“Thank you”页。检查此博客文章的前一章以了解更多信息。
  • 然后创建一个GA事件代码,将其设置为在您触发“自定义事件”时触发’刚刚创建。另外,在事件操作或事件标签字段中,插入变量以返回有关访客看到的上一页的信息(I’m谈论数据层变量或历史变量之一)。

 

#3.1。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

Google跟踪代码管理器电子书包

选项#4。将最后提交的表单信息存储在cookie中

如果“感谢页面”与提交表单的页面位于同一域中,则此方法有效。子域名don’没关系。如果该表单在www.example.com上可用,而“感谢”页面在app.example.com上,则表明’s fine.

另外,如果由于某些原因引荐来源不可用或没有提供足够的信息,则此方法很有用。

这里’s what we will do:

  • 提交表单后,我们’将有关提交表单的一些信息存储在cookie中。示例:提供表单的URL,表单ID等。
  • 当访客登陆“谢谢”页面时,我们’请阅读Cookie并在我们的GA标签中使用该信息。

我不使用的原因 本地存储 它仅限于单个子域。有时,谢谢页面托管在同一域的另一个子域中。

 

#4.1。设置cookie

有几种方法可以在Google跟踪代码管理器中设置Cookie(自定义HTML代码,自定义模板)。在这种情况下,我’将使用“自定义HTML”标记。

<script>
 
 var cookieName = "gtm_formInfo"; // Name of your cookie
 var cookieValue = "REPLACE THIS"; // Value of your cookie, we'll need to replace this
 var expirationTime = 86400; // 24 hours in seconds
 expirationTime = expirationTime * 1000; // Converts expirationtime to milliseconds
 var date = new Date(); 
 var dateTimeNow = date.getTime(); 

 date.setTime(dateTimeNow + expirationTime); // Sets expiration time (Time now + one month)
 var date = date.toUTCString(); // Converts milliseconds to UTC time string
 document.cookie = cookieName+"="+cookieValue+"; SameSite=None; Secure; expires="+date+"; path=/; domain=." + location.hostname.replace(/^www\./i, ""); // Sets cookie for all subdomains

</script>

我们需要在此代码中插入一些有关表单的值。您拥有什么样的信息?如果每页只有一种形式,则可以使用“页面路径”变量。如果您还有另一个有用的变量,请随时使用。

带有{{Page Path}}信息的最终代码如下所示

<script>
 
 var cookieName = "gtm_formInfo"; // Name of your cookie
 var cookieValue = {{Page Path}}; // Value of your cookie
 var expirationTime = 86400; // 24 hours in seconds
 expirationTime = expirationTime * 1000; // Converts expirationtime to milliseconds
 var date = new Date(); 
 var dateTimeNow = date.getTime(); 

 date.setTime(dateTimeNow + expirationTime); // Sets expiration time (Time now + one month)
 var date = date.toUTCString(); // Converts milliseconds to UTC time string
 document.cookie = cookieName+"="+cookieValue+"; SameSite=None; Secure; expires="+date+"; path=/; domain=." + location.hostname.replace(/^www\./i, ""); // Sets cookie for all subdomains

</script>

此代码将设置Cookie,该Cookie将在24小时内过期(除非访问者提交其他表格—那么先前的值将被覆盖)。

例如,当单击“提交”按钮时,您可以触发此代码。

我知道,我通常主张使用Click Trigger跟踪表单是一个糟糕的主意,但在这种情况下,我们尚未向GA发送任何数据。我们只是存储有关最近提交表单的信息。

这里 is an example of the Click Trigger (if the button’s class is 表单提交按钮)。学习更多关于 点击跟踪.

是的,上面的例子可能太广泛了。在按钮上具有ID是一个更好的选择(或一些其他数据属性),但更多地将其视为概念证明。将此触发器分配给Custom HTML标签。

 

#4.2。检查cookie

保存触发器和标记后,请在GTM中启用/刷新“预览”和“调试”模式,然后检查其是否有效。单击一个表单提交按钮。

自定义HTML标记应在Click事件上激活。如果是,请打开浏览器的开发人员工具,然后转到 应用> Storage > Cookies >选择您的域。然后输入 gtm_formInfo 在搜索栏中,检查cookie是否存在。

注意:以上屏幕截图来自我的Chrome。其他浏览器的界面/命名会稍有不同。

 

#4.3。在Google跟踪代码管理器中创建第一方Cookie变量

去 变数> New > 1st Party Cookie 变量,然后输入以下设置(区分大小写):

此变量将读取您的Cookie’刚刚在本文的上一节中进行了设置。

 

#4.4。创建一个触发器

创建将在页面上激活的Pageview触发器“thank you”页。假设您的“谢谢”页面的URL是 example.com/pages/thank-you/。在这种情况下,触发器的设置可能如下所示:

 

#4.5。创建标签

最后但并非最不重要的是标签。我们需要将表单提交数据发送到Google Analytics(分析)。当访客降落在“Thank you”页面上,触发器将激活标签。这是该标签的设置:

您可以使用其他 命名约定Â如果您愿意。将先前创建的Pageview触发器分配给该标签。

因此,总结一下:当访问​​者单击“表单提交”按钮时,我们会将页面路径存储在cookie中。当访客降落在“Thank you” page, we’会获取该Cookie的信息,并在GA事件代码中使用它。

 

#4.6。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

 

选项#5。您可以自己更改“谢谢”页面的URL吗?

在以下情况下,以下跟踪方法是一个不错的选择:

  • 您正在使用灵活的表单插件,该插件可让您更改“Thank you”逐一列出每个表单。
  • 并且新表格的数量是’增长非常快
  • 并且,如果现有表格的数量不是很高

所以这里是交易。你’仍然会使用相同的“Thank you”页。但是,除了常规的/ thank-you /地址之外,您还将向其添加URL参数,例如 formName。 While “Thank you”页面是相同的,每种形式的URL都会略有不同。

例如,如果您有一个网址为example.com/pages/thank-you/的“谢谢”页面,但是您有5个表单,则每种表单的“谢谢”页面URL可能看起来像这样:

  • example.com/pages/thank-you/?formName=form1
  • example.com/pages/thank-you/?formName=form2
  • example.com/pages/thank-you/?formName=form3
  • example.com/pages/thank-you/?formName=form4
  • example.com/pages/thank-you/?formName=form5

您可以选择任何其他(更有意义的值)而不是“form1”。接下来我们要做的是创建一个 URL变量Â将返回的值 formName 我们将在GA事件代码中使用它。

现在浏览您网站上的所有表格并更改网址“Thank you”页。我不会在此处提供说明,因为每个表单插件或内容管理系统(CMS)都需要不同的步骤。

 

#5.1。创建一个URL变量

在GTM中,转到 变数> New > URL 变量,然后输入以下设置:

如果您使用其他参数名称(而不是 formName),将其输入变量’s settings.

 

#5.2。创建触发器

再一次,我们将使用在上一节中多次提到的相同Pageview触发器。如果我们遵循我之前提到的URL示例(//example.com/pages/thank-you/),您的触发设置可能如下所示:

 

#5.3。创建标签

去 标签> New > Universal Analytics 并输入以下设置:

当访问者登陆到“Thank you” page. In the “Event Action”字段中,我插入了先前创建的URL变量。它将返回 formName 在每个“谢谢”页面的URL中可见的参数。

 

#5.4。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

 

选项#6。与开发者合作

如果上述任何选项都不适合您,则应要求开发人员 ’的帮助。我现在想到了以下几种选择:

  • 要求开发人员装饰每个网址“Thank you”页。要求他/她包括一个特定的参数,该参数指示提交的表单。这几乎是此博客文章中的方法5。主要区别在于,也许您在一个无法自行更改URL的网站上工作,因此请开发人员’s help.
  • 要求开发人员将有关表单提交的信息推送到网站的数据层“Thank you”页。这是您的开发人员可以实现的示例代码:
    <script>
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
     'event': 'formSubmission',
     'formName': 'some form name' //this should be replace with an actual form name
     });
    </script>
    
    

完成后,您应该创建一个 习俗event trigger, 数据层变量Â和GA事件代码。

自定义事件触发器’s settings:

  • 触发标题– 习俗– formSubmission
  • 活动名称– 表格提交
  • 在所有自定义事件上触发

数据层变量’s settings:

  • 标题– dlv– formName
  • 数据层变量 name –formName
  • 版本2

最后,使用以下配置创建GA事件代码,分配之前创建的自定义事件触发器,插入数据层变量(由{{}}包围)

 

#6.1。测试设置

保存所有更改,刷新 GTM预览和调试模式,然后再次提交表单。然后转到Google Analytics(分析)实时报告,并检查您是否在 即时的> Events.

注意: 如果您设置“non-interaction hit”确实,您将只能在“Last 30 minutes” section.

检查并确保一切正常后,请不要’别忘了发布容器。

 

我可以在常规Google Analytics(分析)报告中的哪里找到这些数据?

所有这些事件都将出现在“行为”中> Events >概述,然后单击查看完整报告链接。

 

如何在一个“谢谢”页面上跟踪多种形式:最后的话

那里有。如果您要处理将访客重定向到同一个表格的多种形式“Thank you”希望这些方法之一对您有所帮助。

就我个人而言’d首先尝试使用Referrer变量(因为与其他方法相比,它需要较少的工作)。

如果那不起作用,那我’d将信息存储在cookie中或编辑“谢谢”页面的URL(通过添加一些参数)。或继续在数据层中查找有关上一页的信息。

如果这些都不起作用,那么我可能会与开发人员更紧密地合作。

其他方法应视为计划B。

订阅并获取电子书-真正的图书-GTM(初学者)
朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
在 Google Analytics(分析)提示 Google跟踪代码管理器提示
7条评论
瑞奇
  • 2020年9月12日
  • 回复

感谢您提供此信息。我想知道是否可以跟踪注册线索(转化)是否来自Google广告?而是来自自然流量的转化或注册潜在客户?

您能否指出我发布的解释此问题的教程?如果没有,我可以在某处获得有关此信息吗?

    朱利叶斯
    • 2020年9月12日
    • 回复

    嗨,如果这是在同一次Google Analytics(分析)会话中发生的,则GA将自动能够识别出它来自付费广告。

      弗朗切斯科
      • 2020年9月28日
      • 回复

      我也在徘徊于选项5,它不会覆盖其他一些参数,例如utm或glcic吗?还是保留两个指示(例如表单名称+ utm)?

      本文的重点

        朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
        • 2020年9月28日
        • 回复

        无论如何,您将看不到gclid和其他参数。它们始终仅在登录页面URL上可见,并且当访客移至“谢谢”页面时,它们将不再显示。

大卫
  • 2020年11月20日
  • 回复

嗨,朱利叶斯,您好!
一件事,如果引荐链接具有个人信息,例如提交表单的人的电子邮件,该怎么办?那不是问题吗?
您认为解决该问题的最佳方法是什么?
谢谢, and greetings!

    朱利叶斯
    • 2020年11月20日
    • 回复

    这是个人信息的泄漏。要求开发人员不要包含电子邮件地址。

尼丁
  • 2020年11月29日
  • 回复

你好朱利叶斯,
很棒的信息。想知道我们是否可以将事件与目标相关联,以便我们可以获取转化中的数据。怎么做?

发表评论 取消回复

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

 

嗨,我是Julius Fedorovicius 我在这里可以帮助您学习Google跟踪代码管理器和Google Analytics(分析)。与这个成千上万的数字营销商和数字分析师一起,踏上这一激动人心的旅程。 阅读更多
基本资源


热门文章
  • 🔥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 Analytics(分析)中使用探索报告4
  • 5种使用Google跟踪代码管理器和Google Analytics(分析)跟踪网站搜索的方法4
分析狂热- Google Tag Manager and Google Analytics Blog | 隐私政策
管理Cookie设置


  • <caption class="I7iTC1a"><nav id="oLtDubt" class="oJ5RR0W"><acronym id="T7ZaznF" class="TGDWQW4"></acronym></nav></caption>

    <dir id="mt2PziP" class="muIzE25"></dir>


          <embed class="gLDdKah"></embed>