AMP 网页是通过不同于您网站网域的 AMP 缓存网域提供的。要跨 AMP 缓存和您网站中的网页跟踪用户转化历程,您可以使用 AMP 链接器;它是一种 amp-analytics 功能,可使用 AMP 网页的 Client-ID 作为一种用户标识符来关联不同的用户会话。
AMP 链接器会向 AMP 缓存网页的出站链接添加 AMP 网页的 Client-ID。然后,已添加 Google Analytics(分析)代码的网页会从网址查询参数中检索 AMP 网页的 Client-ID,并使用 AMP 网页的 Client-ID 作为用户标识符来关联不同的用户会话。
本文介绍了使用 Google Analytics(分析)设置 AMP 链接器所需的步骤。
AMP 网页的 Client-ID 对您的数据有何影响
在 AMP Cache 与您的原始网站网域之间同步 AMP 网页的 Client-ID,可以提高用户指标(例如会话时长、跳出率和每次会话浏览页数)的准确性。请注意,为使 AMP 网页的 Client-ID 能够起到作用,应在同一 Google Analytics(分析)媒体资源中收集数据。
设置 AMP 链接器
您可以通过以下三个步骤使用 Google Analytics(分析)设置 AMP 链接器:
第 1 步:为您的 AMP 网页添加代码,以传递 AMP 链接器参数
通过 Google 代码 (gtag.js) 或 Google 跟踪代码管理器添加 Google Analytics(分析)代码。根据您的实现方式,按照下面的相应说明操作:
选项 1:Google 代码
在您的 AMP 着陆页上添加默认的 Google 代码(适用于 AMP)。请参阅下面的示例代码段,并进行以下更改:
将 MEASUREMENT_ID
替换为您要将数据发往的 Google Analytics(分析)媒体资源的跟踪 ID
(可选)如果托管您的 AMP 网页的网域并非您网站的出站链接所在的顶级网域,或者如果 AMP 网页并非位于知名子网域(即 www.、amp.、m.)上,请添加一个链接器配置。添加托管该 AMP 网页的网域以及任何出站链接的网域。
<script type="application/json">
{
"vars": {
"gtag_id": "MEASUREMENT_ID",
"linker": {
"domains": ["example.com", "example2.com"]
}
,
"config": {
"MEASUREMENT_ID": {
"groups": "default"
}
}
}
}
</script>
</amp-analytics>
gtag_id
,您可以指定在 AMP 上使用的任何 Google 产品(如 Google Ads 或 Search Ads 360)的 ID,但只能在 gtag_id
字段中使用一个 Google 产品的 ID。选项 2:Google 跟踪代码管理器
向 AMP 容器添加 Google Analytics(分析)代码。
向 AMP 容器添加转化链接器代码,然后选择“启用跨网域关联”和“启用与 Google Analytics(分析)Client-ID 的关联”。如果您的 AMP 着陆页托管在与您网站的出站链接相同的顶级网域,那么您可以将“网域”字段留空。
(可选)如果您的 AMP 网页托管在与您网站的出站链接不同的顶级网域,或者如果 AMP 网页并非位于知名子网域(即 www.、amp.、m.)上,请以逗号分隔列表的形式添加托管您的 AMP 网页的顶级网域以及任何出站链接的网域。
在您的 AMP 网页上使用默认的跟踪代码管理器代码段 - 请参阅下面的示例,并将 GTM_CONTAINER_ID
替换为您的跟踪代码管理器容器 ID。
<!-- Google Tag Manager →
<amp-analytics config="https://www.googletagmanager.com/amp.json?id=< GTM_CONTAINER_ID>>m.url=SOURCE_URL" data-credentials="include">
</amp-analytics>
第 2 步:为您的非 AMP 网页添加代码,以读取 AMP 链接器参数
在非 AMP 网页上植入代码以读取 AMP 链接器参数的方法有很多,因此请按照最适合您配置的说明操作。
选项 1:Google 代码
在您的非 AMP 网页上添加 gtag.js 代码段。请参阅下面的示例代码段:
- 将
MEASUREMENT_ID
替换为您要将数据发往的 Google Analytics(分析)媒体资源的跟踪 ID - (可选)如果托管您的 AMP 网页的网域并非您网站的出站链接所在的顶级网域,或者如果 AMP 网页并非位于知名子网域(即 www.、amp.、m.)上,请添加一个链接器配置。添加托管您的 AMP 网页的网域以及任何出站链接的网域。
<script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('set', 'linker', {
'domains': ['example.com', 'example2.com']
});
gtag('js', new Date());
gtag('config', 'MEASUREMENT_ID');
</script>
选项 2:Google 跟踪代码管理器
对于 GTM 网站容器,请确保已添加 Google Analytics(分析)代码。
如果托管您的 AMP 网页的网域并非您网站的出站链接所在的顶级网域,或者如果 AMP 网页并非位于知名子网域(即 www.、amp.、m.)上,请添加以下配置: 在 Google Analytics(分析)代码中,通过以下步骤添加字段“allowLinker”,值为 true:
- 打开您要修改的 Google Analytics(分析)设置变量,然后点击变量配置卡。
- 转到更多设置 > 要设置的字段。
- 点击 + 添加字段。
- 将字段名称设为 allowLinker,并将值设为 true。
- 保存新的变量配置。
- 针对所有相关的 Google Analytics(分析)设置变量重复上述步骤(如果您在容器中使用多个变量)。
- 发布容器。
在非 AMP 网页上使用默认跟踪代码管理器代码。
选项 3:analytics.js
对于非 AMP 网页,您可以使用默认的 Analytics js 代码段来读取 AMP 链接器参数。
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'GA_TRACKING_ID', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
(可选)如果托管您的 AMP 网页的网域并非您网站的出站链接所在的顶级网域,或者如果 AMP 网页并非位于知名子网域(即 www.、amp.、m.)上,请添加下面突出显示的配置,如 analytics.js 的跨网域配置中所述:
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'GA_TRACKING_ID', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['subdomain1.example.com', 'subdomain2.example.com','www.example2.com'] );
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
第 3 步:向 Google Analytics(分析)管理控制台添加引荐来源排除对象
当 Google 向用户提供 AMP 内容时,它会使用 Google AMP 缓存。为防止缓存的 AMP 子网域中断会话,您必须为 cdn.ampproject.org 网域添加引荐来源排除对象
。
subdomain.example.com
已经是一个引荐来源排除对象,则应为 subdomain-example-com.cdn.ampproject.org
也添加一个引荐来源排除对象。不妨详细了解 AMP 缓存网址的格式。设置验证
验证 AMP 网页与非 AMP 网页之间的 Google AMP 网页 Client-ID 是否一致。
选项 1:通过 AMP 代码测试工具进行验证
使用 AMP 代码测试 工具,并输入要测试的 AMP 网址。
注意:AMP 代码测试工具是一款自动化测试工具,模拟从 AMP 网页通过查看器投放到指向下一页的链接的流程。此工具仅供参考,可能无法涵盖所有测试场景(例如 AMP 网页具有指向不同网域或子网域的链接)。请使用以下选项进行手动测试。
选项 2:通过 Google Tag Assistant Chrome 扩展程序进行验证
- 下载并安装 Google Tag Assistant Chrome 扩展程序
- 在 google.com 上输入一个会返回您网站上 AMP 网页的搜索查询。
- 启动 Tag Assistant 记录。
- 记录开始后,在浏览器中刷新搜索结果。
- 点击会转到您的 AMP 网页的搜索结果。
- 点击会从 AMP 网页转到非 AMP 网页的链接。
- 停止“Tag Assistant 记录”。
- 确保只有一个具有一致 ID 的会话(即,网页加载 2 不显示“会话开始”),如下所示。
选项 3:通过 Chrome 开发者工具进行验证
- 在无痕模式中打开 Google Chrome 浏览器。在 Chrome 开发者工具中启用移动设备模拟器。
- 在 google.com 上输入一个会返回您网站上 AMP 网页的搜索查询,然后点击会转到您的 AMP 网页的搜索结果,该网页应通过 Google AMP 缓存提供,并显示在 Google 搜索 AMP 查看工具中。
- 注意:如果尚无法通过 Google 搜索结果找到您的网页,您仍可以转到 AMP 测试工具预览搜索结果,并按照下面的步骤进行操作(只要相应网页可由 Google 编入索引),从而测试会话统一是否正常运行。
- 查找与 AMP 网页浏览对应的 Google Analytics(分析)网络请求:进入 Chrome 开发者工具中的网络标签页,然后在过滤字段中输入“collect”。
- 找到并选择发往
www.google-analytics.com
的网络请求。在该请求的“标头”标签页中,滚动到“查询字符串参数”,找到 Client-ID。记下 cid 参数。 - 当 AMP 网页由 AMP 查看工具提供时,
cid
的格式应该是长度为 64 个字符的 base64 字符串: - 点击清除以清除网络请求。
- 要验证您是否已启用非 AMP 网页,请确认在转到非 AMP 网页时,同一 cid 参数仍然存在。为此,请在您的 AMP 网页上点击任意指向您网域所提供的非 AMP 网页的链接。要找到 Client-ID,请再次使用字符串“collect”进行过滤。选择发往
www.google-analytics.com
的任意网络请求。检查 cid 查询参数值是否与您在第 5 步中记下的值一致。
限制
- 如果初次访问您网站的用户没有转到下一页就关闭 AMP 网页,则不会通过 AMP 链接器实现会话统一,因为会话统一需要使用链接装饰才能正常运行。