GA4 电子商务(analytics.js - 标准电子商务):发送 GA4 电子商务事件

本指南介绍了如何迁移 analytics.js Universal Analytics 的现有标准电子商务实现方式,以使用 Google Analytics(分析)4 电子商务事件。

如需获取其他迁移指南和资源,请访问开发者迁移中心

结果

按照本指南中的说明操作后,您将取得以下结果:您的新 Google Analytics(分析)4 实现方式会将 GA4 电子商务事件发送到新的 GA4 媒体资源和现有的 Universal Analytics 媒体资源。现有的 Universal Analytics 媒体资源将接收 GA4 电子商务数据,但报告将保持不变。

迁移过程分为两个阶段:

  • 将 UA 交易迁移到 GA4 购买事件
    • 适用于 Universal Analytics 的标准电子商务支持发送交易和商品数据。迁移到 Google Analytics(分析)4 purchase 事件将提供等效功能。
  • (可选)衡量其他 GA4 电子商务事件

准备工作

  1. 确认以下描述是否符合您当前的实现情况:

    • 您使用的是 Universal Analytics 媒体资源。
      • 如果您的媒体资源具有跟踪 ID,则表示它是 Universal Analytics 媒体资源。
    • 您的网站使用 analytics.js 库发送电子商务事件。
  2. 要了解每个选项的权衡因素,请查看适用于电子商务实现的迁移选项。确认您确实想要按照本指南中的说明,为现有的 Universal Analytics 实现方式使用 Google Analytics(分析)4 电子商务事件。

  3. 查看事件兼容性参考文档,了解 GA4 购买事件在发送到 UA 媒体资源时如何进行转换。

权衡和考虑因素

查看并考虑以下信息,以全面了解将 Google Analytics(分析)4 电子商务事件用于 Universal Analytics 电子商务实现方式的影响。

优点 缺点
  • 在 GA4 报告和 Universal Analytics 报告中都能查看电子商务数据。
  • 迁移到 GA4 purchase 事件后,系统将提供完整的 UA 电子商务报告。
  • 从 analytics.js 迁移到 gtag.js 需要执行额外的工作。建议您将所有自定义衡量(例如事件、网页浏览、计时等)从 analytics.js 迁移到 gtag.js。

实现

1. 将 UA 衡量从 analytics.js 迁移到 gtag.js

要发送 GA4 电子商务事件,您需要从 analytics.js 迁移到 gtag.js,包括任何自定义衡量。

通常情况下,完成迁移的步骤包括:

  1. 移除 analytics.js 代码段。
  2. 添加 Google 代码 (gtag.js) 并使用 UA 媒体资源的跟踪 ID 进行配置。
  3. 将您的自定义衡量代码从 analytics.js 迁移到 gtag.js。以下部分介绍了如何迁移标准电子商务交易。如需了解有关迁移其他衡量场景的常规帮助,请参阅衡量迁移

之前: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', 'UA-XXXXX-Y', 'auto');    // Universal Analytics property.
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

之后:Google 代码 (gtag.js)

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXX-Y"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXX-Y');    // Universal Analytics property.
</script>

2. 更新您的电子商务实现方式以发送 GA4 事件

更新您的现有电子商务实现方式,从使用 Universal Analytics 电子商务事件改为使用 Google Analytics(分析)4 事件。完成此步骤后,您的 Universal Analytics 媒体资源将会接收 GA4 purchase 事件。如需了解此次更新的影响,请参阅权衡和考虑因素

以下示例说明了如何将 analytics.js 标准电子商务交易事件迁移到与 Universal Analytics 兼容的等效 GA4 电子商务 purchase 事件。

之前:UA 标准电子商务交易 (analytics.js)

以下示例展示了针对包含 2 件商品的交易的 analytics.js 标准电子商务实现方式:

// Add the transaction.
ga('ecommerce:addTransaction', {
  id: '1234',     // Transaction ID.
  affiliation: 'Google Store',
  revenue: '29.97',
  shipping: '5.25',
  tax: '2.42'
});

// Add the items belonging to the transaction.
ga('ecommerce:addItem', {
  id: '1234',     // Transaction ID.
  name: 'Android Warhol T-Shirt',
  sku: 'P12345',  // Item ID.
  category: 'Apparel/T-Shirts',
  price: '12.99',
  quantity: '2'
});
ga('ecommerce:addItem', {
  id: '1234',     // Transaction ID.
  name: 'Flame challenge T-Shirt',
  sku: 'P67890',  // Item ID.
  category: 'Apparel/T-Shirts',
  price: '3.99',
  quantity: '1'
});
ga('ecommerce:send');

之后:GA4 电子商务购买 (gtag.js)

将 analytics.js 交易事件迁移到 GA4 purchase 事件时,主要区别如下:

  • GA4 有一个 purchase 事件,其中包含与交易相关的所有详细信息和商品。analytics.js 会执行多个 ga() 电子商务命令,以捕获相同的信息。
  • GA4 为整个事件提供了一个 transaction_id 字段。analytics.js 要求每件商品都包含交易 ID。
  • GA4 具有多个商品类别字段。analytics.js 使用单个类别字段和 / 分隔符来描述层次结构。不过,由于存在类别参数转换功能,带有多个商品类别字段的 GA4 事件将适用于您的 UA 媒体资源。
 gtag('event', 'purchase', {
   currency: 'USD',
   transaction_id: '1234',    // Transaction ID.
   value: 29.97,
   affiliation: 'Google Store',
   shipping: 5.25,
   tax: 2.42,
   items: [
    {
      item_id: 'P12345',     // Item ID.
      item_name: 'Android Warhol T-Shirt',
      item_category: 'Apparel',
      item_category2: 'T-Shirts',
      price: 12.99,
      quantity: 2
    },
    {
      item_id: 'P67890',    // Item ID.
      item_name: 'Flame challenge T-Shirt',
      item_category: 'Apparel',
      item_category2: 'T-Shirts',
      price: 3.99,
      quantity: 1
    }
  ]
});

3. 创建和配置新的 GA4 媒体资源

在更新了电子商务实现方式以发送 GA4 电子商务事件后,请完成以下任一选项,以开始将数据发送到新的 Google Analytics(分析)4 媒体资源。

选项 1:使用 GA4 设置助理并启用已关联的网站代码

GA4 设置助理将自动创建新的 GA4 媒体资源,并从您的 Universal Analytics 媒体资源中复制以下设置:“媒体资源名称”“网站网址”“时区”和“币种设置”。该工具还可启用已关联的网站代码功能,以重复使用您的现有 Universal Analytics gtag.js 实现方式来加载新的 GA4 媒体资源。

请按照 GA4 设置助理中所述的步骤创建和配置新的 Google Analytics(分析)4 媒体资源。确保选中“使用现有代码实现数据收集”选项,以使用“已关联的网站代码”功能。

选项 2:更新您的 gtag.js 代码段

  1. 创建新的 Google Analytics(分析)4 媒体资源。
    • 使用 GA4 设置助理添加 Google Analytics(分析)4 媒体资源。不过,如果设置过程提示取消选中“使用现有代码实现数据收集”选项,请按提示操作。或者,在不使用 GA4 设置助理的情况下创建 Google Analytics(分析)4 媒体资源使用设置助理的优势在于,它会从 Universal Analytics 媒体资源中复制一些基本设置。
  2. 查找 Google Analytics(分析)4 媒体资源的代码 ID
  3. 使用包含代码 ID 的 config 命令将 Google Analytics(分析)4 媒体资源添加到您的现有 gtag.js 代码段。

以下示例展示了已配置 Universal Analytics 媒体资源和 Google Analytics(分析)4 媒体资源的 gtag.js 代码段。

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXX-Y"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXX-Y');         // Universal Analytics property.
  gtag('config', 'TAG_ID');  // Google Analytics 4 property.
</script>

4. (可选)衡量其他电子商务事件

要充分利用 GA4 电子商务报告,请实现其他 GA4 电子商务事件。如需了解详情,请参阅 Google Analytics(分析)4 电子商务

如果您使用默认的 gtag.js 代码段配置,系统会将 GA4 事件同时发送到您的 UA 媒体资源和 GA4 媒体资源。发送到 UA 媒体资源的 GA4 事件将按照事件兼容性参考文档中的定义进行转换。如果您希望使用其他行为,可以使用 gtag.js 的分组并以路由方式发送数据功能来控制将哪些事件发送至 UA 媒体资源和 GA4 媒体资源。例如,您可以将 purchase 事件同时发送到 UA 媒体资源和 GA4 媒体资源,但只将其他 GA4 电子商务事件发送到 GA4 媒体资源。