您是否尝试将联属链接或外部服务链接的点击设置为 GA4 中的转化,但在按预期衡量它们时遇到困难?
实际上,根据您使用的链接缩短工具的类型,有些情况下您只需要 GA4 的标准功能,有些情况下则需要 Google 跟踪代码管理器 (GTM)。
- 在您自己的域内使用漂亮链接等缩短的联属链接无法被 GA4 的退出点击功能检测到,并且需要在 GTM 中进行点击触发设置。
- 即使链接看起来相同,如果主题端的 JavaScript 控制点击,标准触发器将不会响应,使用“点击 – 所有元素”和自定义 JS 变量的绕过是有效的。
- 发布后,在单独的预览选项卡中检查调试屏幕和实时报告,并设置 send_page_view: false 以避免与现有页面视图测量重复。
目次
GA4具有“退出点击”作为高级测量功能之一,通过使用此功能,您可以测量外部链接的点击次数而无需GTM。
默认情况下,每个离开当前域的链接都会生成退出单击事件,如果单击的链接的 href 属性的域与正在查看的页面不同,则会触发该事件。
步
根据点击事件创建自定义事件
从管理中打开事件并单击创建事件。指定 click 作为复制源事件名称,并设置参数 link_url 或 link_domain 包含要测量的联属 ASP 的域的条件。
使用任何事件名称保存它(例如affiliate_click)。
步
标记为关键事件
当您创建的事件出现在事件列表中时,打开开关将其设置为关键事件。
我也想读

如果您使用 Pretty Links 等工具来缩短指向您自己域内 URL 的链接,则此方法将不起作用。
退出点击是根据所点击链接的 href 属性指向的域来确定的,我们不会跟踪您实际重定向到的位置。
当使用像 Pretty Links 这样的缩短工具时,页面上的链接似乎是您自己域的 URL,并且在访问该 URL 后通过服务器端重定向实际转换到联属 ASP。
由于GA4只能在点击时看到href,因此将其视为自己域内的链接,并且不会发生退出点击事件。
您可以通过右键单击实际链接、选择“检查”并检查 href 属性是什么 URL 来确定网站上的联属链接是否符合此模式。
如果href属性是您自己域的URL,请继续下一章介绍的使用GTM的方法。
如何使用 GTM 衡量联属链接点击次数
如果缩短的 URL 在您自己的域内(例如 Pretty Links),则退出单击无法检测到它。GTM您需要创建一个触发器来检测点击本身。
要点是,附属链接 URL 和常规内部链接都具有相同的主域,因此不能仅通过 URL 条件来区分它们。
步
检查站点是否安装了GTM容器
您之前可能已经创建了 GTM 容器,但实际上并未将其安装在您的站点上。现场套件首先,在设置屏幕上打开“连接到其他服务”并检查跟踪代码管理器是否已连接。
如果未连接,您只需通过 Site Kit 链接容器 ID 即可安装。
步
启用内置变量
从 GTM 变量中打开内置变量,然后选中“单击 URL”和“单击目标”以启用它们。这些在初始状态下是禁用的,并且不会出现在条件设置的输入字段中,因此您必须提前启用它们。
步
创建点击触发器
创建一个新触发器并选择“Click – Link Only”作为类型。将发生位置设置为某些链接点击,并将以下两个设置为 AND 条件。
- 点击 URL 包含您自己的域
- 单击“目标等于_blank”
附属链接是来自您自己的域的 URL,但它们通常设置为在新选项卡中打开,因此这种组合允许您将它们与常规内部链接(在同一选项卡中打开)区分开来。
步
创建并发布 GA4 事件代码
创建一个新标签并选择 Google Analytics:GA4 事件作为类型。输入事件名称(例如affiliate_click),将其与创建的触发器关联,然后保存。我会在预览模式下检查操作后发布它。
发布后,当您设置的事件名称出现在 GA4 事件列表中时,打开开关并将其设置为关键事件。通过执行这些步骤,您将能够测量许多文本链接和按钮。
梅古尔特编辑部
我以为我知道所有附属链接都是使用相同的工具缩短的,但是当我尝试实际设置触发条件时,我发现有必要用语言表达常见的 URL 模式,就在那时我第一次意识到它们都与我的预期不同。
尽管域名是通用的,但每个链接的 slug 部分都不同,因此无法仅根据 URL 模式进行判断。
最终我选择了“自己的域名+在新标签页中打开”的组合,但我不得不多次重新安排条件才达到这一点。
即使链接看起来相同但无法检测到点击的原因和解决方案
即使您使用上一章中描述的方法设置触发器,某些链接也可能根本检测不到点击。
梅古尔特编辑部
以前设置时,我点击CTA按钮检查操作,但GA4实时报告中没有任何显示。
我记得花了很多时间删除我的缓存并怀疑我的浏览器扩展,认为这要么是我的配置错误,要么是我的缓存。
实际原因是该按钮是使用主题的博客卡功能创建的,并且主题独立控制点击行为,使其在GTM屏幕上不可见。
同一网站上的其他文本链接都可以正常检测到,所以我记得我很困惑为什么只有一个不起作用。
为什么标准点击触发器不响应
GTM 的“仅单击 - 链接”触发器的工作原理是等待单击事件在浏览器中的整个文档中传播。
博客卡等装饰性链接看起来像卡片,但在内部,主题函数会在检测到点击时执行 stopPropagation,立即停止事件传播。
由于GTM触发是基于这种传播,因此如果中途停止,则无法检测到其存在本身。
仅仅看它们是无法区分实现方法的,所以我最终通过一一点击来测试我想要测量的链接,如果有一个没有响应,我右键单击它并选择“Inspect”来检查 HTML 结构。
如何检测停止传播的链接
这需要与标准的“仅点击链接”触发器不同的方法。
即使设置了 stopPropagation,点击事件本身也会发生在元素内部,因此我们将使用“Click - All Elements”触发器,它可以拾取更广泛范围内的点击,并使用自定义 JavaScript 变量来确定被点击的元素中是否存在指示链接目的地的卡片元素。
步
启用单击元素变量
从 GTM 的内置变量中检查并启用 Click Element。这是一个用于检索单击的 HTML 元素本身的变量。
步
创建自定义 JavaScript 变量
在变量中创建一个新的用户定义变量,并选择“自定义 JavaScript”作为类型。编写一个函数,从单击的元素中搜索与博客卡对应的父元素,并检索其中的链接 URL。
function() {
var el = {{Click Element}};
if (!el) return undefined;
var card = el.closest('[data-onclick="clickLink"]');
if (!card) return undefined;
var link = card.querySelector('a[href]');
return link ? link.href : undefined;
}最接近搜索的类和属性名称取决于您使用的主题和插件实现。请使用浏览器的验证器检查站点上的相关元素并替换实际的类和属性名称。
步
创建“点击 - 所有元素触发器”
新建一个触发器,选择类型为“Clicks – All Elements”,发生位置为“Some Clicks”。该条件指定您创建的自定义 JavaScript 变量的值包含您的域。
步
向现有 GA4 事件代码添加触发器
将此触发器添加到上一章中创建的 GA4 事件代码中。您可以为一个标签设置多个触发器,这样您就可以将常规链接触发器和博客卡片触发器合并到一个事件标签中。
使用装饰按钮或卡片状链接的地方往往属于此类。我们建议您单独测试您使用的所有链接模式,而不是放心只有常规文本链接才有效。
设置后检查调试时容易造成麻烦的点
创建触发器和标签后,请务必在发布之前在预览模式下对其进行测试。然而,当我实际使用这个预览屏幕时,很容易误判我需要检查的部分,并且花费的时间比我预期的要长。
避免在单独的选项卡中将预览屏幕与调试屏幕混淆
在 GTM 右上角的预览中输入 URL,单击链接,您的网站将在新窗口中打开,右下角有一个小的 Tag Assistant 面板。
该面板只是一个概述;有关代码是否实际触发的详细信息,请检查仅调试屏幕,该屏幕在单独的选项卡中打开。
如果您认为这两个屏幕是相同的并且只看小面板,您会感到困惑,因为似乎不会反映任何信息。
在仅调试屏幕上,检查以下各项:
- 左侧时间轴是否记录了目标点击事件(链接点击等)?
- 创建的 GA4 事件代码的名称是否显示在分布式代码中?
- 如果是在未传递的标签中,则说明不满足触发条件,因此请检查变量中的实际值。
如果它仍然没有响应,我怀疑它也是一个浏览器扩展。
如果查看调试屏幕时没有记录任何内容,则 gtm.js 可能尚未加载。打开浏览器开发者工具中的“网络”选项卡,检查 gtm.js 请求是否存在。
此时,如果过滤器设置为Fetch/XHR,则gtm.js等脚本的请求将不会显示,因此过滤器必须设置为All。
如果 gtm.js 没有加载,Google Analytics 选择退出附加组件请检查您是否启用了任何扩展程序。
如有疑问,您可以在禁用所有扩展的情况下在隐身窗口中执行相同的步骤,以确定问题是否由扩展引起。
发布后不要急于使用实时报告检查更新。
在预览模式下验证行为后,请发布 GTM。即使您在发布后立即点击链接,也不会立即反映在标准 GA4 报告中。
首先查看实时报表,查看事件计数列表中是否显示目标事件名称。
如果你在发布后立即查看标准报告,发现数字没有增加,也不必惊慌;最好记住使用实时报告执行初始检查的步骤。
梅古尔特编辑部
即使发布后立即点击链接,标准报告中的数据也不容易增加,您可能会担心发布后数据没有反映。
如果您像我们这次那样通过其他工具二次使用 GA4 数据,这取决于该工具的采集时间,因此可能会出现数据到达 GA4 但尚未出现在您想要看到的屏幕上的时间延迟。
不要着急,记住首先检查 GA4 实时报告的顺序是安全的。
防止GA4数据重复测量的注意事项
当将 GTM 添加到已经使用 Site Kit 等测量页面浏览量的网站时,您应该小心重复计算。
如果在GTM端创建标准的GA4配置标签,则Site Kit的浏览量测量和GTM的浏览量传输会同时发生,导致访问次数高于实际访问次数。
在基本 GA4 连接标记中设置 send_page_view: false
在为点击事件创建代码之前,我们将在 GTM 中创建一个基本的 GA4 连接代码,但此时我们需要关闭发送页面浏览量。
步
创建新的基本 GA4 连接标记
从 GTM 标签创建新标签并选择 Google 标签作为标签类型。在Tag ID(测量ID)中输入GA4的测量ID(以G开头的字符串)。
步
将 send_page_view 设置为 false
从“设置”部分的“配置参数”中选择“添加参数”,然后输入 send_page_view 作为参数名称,输入 false 作为值。将触发器设置为“初始化 - 所有页面”并保存。
该标签是操作本文介绍的点击事件标签的基础。如果您已经使用不同的页面浏览量测量方法,请务必在继续下一步之前包含此设置。
避免混淆不同的标签类型
GTM有很多名称相似的标签设置项,实际操作时很容易混淆。
Google 标签(用于基本连接的简单标签,仅包含测量 ID)和 Google Analytics:GA4 事件(用于测量点击等单个事件的标签)被视为不同的事物。
使用前者进行基本连接,后者用于测量本文介绍的点击事件。
另外,send_page_view等设置项目的位置根据标签的不同而不同,例如根据标签类型位于设置部分而不是高级设置中。
如果您尝试使用其他标签查找相同位置,则可能无法找到它,因此如果标签类型发生变化,请务必再次检查该位置。
梅古尔特编辑部
当我第一次使用GTM时,管理屏幕上排列着许多类似的部分名称,我不知道防止重复计算的设置位于哪里。
此外,即使相似的设置项目也会根据您选择的标签类型放置在不同的位置,因此,如果您找到一个位置并认为它与另一个标签相同,您就会迷失方向。
当并行处理多个站点时,很容易忘记您当前正在处理哪个站点的 GTM/GA4,因此我总是在开始工作之前检查一次。
