为 AMP 网页设置 Google Analytics(分析)会话统一

本文包含的主题

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 缓存与您的原始网站网域之间同步 AMP 网页的 Client-ID,会一次性重置现有的 Google Analytics(分析)用户标识符,这些标识符用于同类群组分析、生命周期价值和受众群体定位等功能。这可能会导致新用户指标和相关报告出现明显的暂时性波动。

设置 AMP 链接器

您可以通过以下三个步骤使用 Google Analytics(分析)设置 AMP 链接器:

  1. 为您的 AMP 网页添加代码
  2. 为您的非 AMP 网页添加代码
  3. 配置引荐来源排除对象

第 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 网页的网域以及任何出站链接的网域。

<amp-analytics type="gtag" data-credentials="include">
<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 跟踪代码管理器

在 Google 跟踪代码管理器中创建 AMP 容器

向 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>&gtm.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 网页的网域以及任何出站链接的网域。
<!-- Google tag (gtag.js) -->
<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:

  1. 打开您要修改的 Google Analytics(分析)设置变量,然后点击变量配置卡。
  2. 转到更多设置 > 要设置的字段
  3. 点击 + 添加字段
  4. 字段名称设为 allowLinker,并将设为 true。
  5. 保存新的变量配置。
  6. 针对所有相关的 Google Analytics(分析)设置变量重复上述步骤(如果您在容器中使用多个变量)。
  7. 发布容器。

在非 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 网域添加引荐来源排除对象

如果您使用多个子网域提供 AMP 网页,则可能需要对不同的 AMP 子网域进行不同的处理。在这种情况下,请为您的网站输入在引荐来源排除对象中使用的任何现有子网域的缓存版本,以便跨 AMP 网站和非 AMP 网站维护具体的引荐来源排除对象。举例来说,如果您的子网域 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 扩展程序进行验证

  1. 下载并安装 Google Tag Assistant Chrome 扩展程序
  2. 在 google.com 上输入一个会返回您网站上 AMP 网页的搜索查询。
  3. 启动 Tag Assistant 记录
  4. 记录开始后,在浏览器中刷新搜索结果。
  5. 点击会转到您的 AMP 网页的搜索结果。
  6. 点击会从 AMP 网页转到非 AMP 网页的链接。
  7. 停止“Tag Assistant 记录”。
  8. 确保只有一个具有一致 ID 的会话(即,网页加载 2 不显示“会话开始”),如下所示。

 

选项 3:通过 Chrome 开发者工具进行验证

  1. 在无痕模式中打开 Google Chrome 浏览器。在 Chrome 开发者工具中启用移动设备模拟器
  2. 在 google.com 上输入一个会返回您网站上 AMP 网页的搜索查询,然后点击会转到您的 AMP 网页的搜索结果,该网页应通过 Google AMP 缓存提供,并显示在 Google 搜索 AMP 查看工具中。
    • 注意:如果尚无法通过 Google 搜索结果找到您的网页,您仍可以转到 AMP 测试工具预览搜索结果,并按照下面的步骤进行操作(只要相应网页可由 Google 编入索引),从而测试会话统一是否正常运行。
  3. 查找与 AMP 网页浏览对应的 Google Analytics(分析)网络请求:进入 Chrome 开发者工具中的网络标签页,然后在过滤字段中输入“collect”。
  4. 找到并选择发往 www.google-analytics.com 的网络请求。在该请求的“标头”标签页中,滚动到“查询字符串参数”,找到 Client-ID。记下 cid 参数。
  5. 当 AMP 网页由 AMP 查看工具提供时,cid 的格式应该是长度为 64 个字符的 base64 字符串:
  6. 点击清除以清除网络请求。
  7. 要验证您是否已启用非 AMP 网页,请确认在转到非 AMP 网页时,同一 cid 参数仍然存在。为此,请在您的 AMP 网页上点击任意指向您网域所提供的非 AMP 网页的链接。要找到 Client-ID,请再次使用字符串“collect”进行过滤。选择发往 www.google-analytics.com 的任意网络请求。检查 cid 查询参数值是否与您在第 5 步中记下的值一致。

限制

  • 如果初次访问您网站的用户没有转到下一页就关闭 AMP 网页,则不会通过 AMP 链接器实现会话统一,因为会话统一需要使用链接装饰才能正常运行。

该内容对您有帮助吗?

您有什么改进建议?
true
选择适合您的学习路线

请访问 google.com/analytics/learn,这是一项新资源,有助于您充分利用 Google Analytics(分析)4。这个新网站包含各种关于 Google Analytics(分析)的视频、文章和引导式流程,还提供了指向 Discord、博客、YouTube 频道和 GitHub 代码库的相关链接。

立即开始学习!

搜索
清除搜索内容
关闭搜索框
主菜单
5925735322869183489
true
搜索支持中心
true
true
true
true
true
69256
false
false