gtag.js 代码段简介
如果您针对当前的 Universal Analytics 媒体资源使用 analytics.js,则需要为新版 Google Analytics(分析)4 媒体资源添加 gtag.js 代码段。gtag.js 代码段的结构如下:
01:<script async src="https://www.googletagmanager.com/gtag/js?id=<某个媒体资源 ID A>"></script>
02:<script>
03:window.dataLayer = window.dataLayer || [];
04:function gtag(){dataLayer.push(arguments);}
05:gtag('js', new Date());
06:
07:gtag('config', '<某个媒体资源 ID A>');
08:
09:gtag('config', '<某个媒体资源 ID B>');
10:
11:gtag('event', 'sign_up', { 'method': 'email' });
12:
13:gtag('event', 'view_video', { 'send_to': '<某个媒体资源 ID B>' });
14:
15:</script>
第 7 行:可以通过 gtag“config”指令为与 <某个媒体资源 ID A> 相关联的媒体资源启用数据收集。例如,为某项 Google Analytics(分析)4 媒体资源添加此指令并在其中包含代码 ID 后,系统会将 page_view
事件发送到该媒体资源。
媒体资源 ID 可能表示不同的 Google 产品,其中包括 UA 媒体资源(格式为“UA-XXXXXXXX”)、Google Analytics(分析)4 媒体资源(格式为“G-XXXXXXXX”)、Google Ads(格式为“AW-XXXXXXXX”)或 Floodlight(格式为“DC-XXXXXXXX”)。
第 11 行:gtag“event”指令将发送某个事件。如果代码段中存在针对多个媒体资源的多个“config”指令,系统会将此事件发送到所有媒体资源。
在本例中,“sign_up”参数是事件名称。最后一个参数是一个包含一组事件参数的对象。在本例中,“method”参数的值为“email”。
第 13 行:此处的事件带有“send_to”参数。这是一个特殊的参数,可将相关联的事件“路由”到特定媒体资源。换句话说,系统只会将此事件发送到 <某个媒体资源 ID B> 所指示的媒体资源。
可以通过 gtag“config”指令为 Google Analytics(分析)4 媒体资源启用基本数据收集,当该指令在页面上加载时,系统会收集 page_view 事件(作为自动收集的事件)。
可使用特定参数修改或屏蔽网页浏览命中或 page_view 事件。
媒体资源标识符
Universal Analytics 媒体资源 ID 的格式为“UA-XXXXXXXX”,有时也称为跟踪 ID。在本指南中,我们将其称为 UA 媒体资源 ID。
Google Analytics(分析)4 媒体资源的网站数据流使用的是格式为“G-XXXXXXXX”的代码 ID。
在一些代码示例和文档中,您可能会看到两者都被称为“TAG_ID”。
基本数据收集
为 Google Analytics(分析)4 媒体资源启用基本数据收集后,即可收集以下事件:
若要为您的 Google Analytics(分析)4 媒体资源启用基本数据收集,请向每个页面的 <head>
部分添加 gtag.js 代码段(Google 代码)。
gtag.js 代码段与 analytics.js 代码段的对比
Google Analytics(分析)4 媒体资源的 gtag.js 代码段与 Universal Analytics 媒体资源的 analytics.js 代码段用途类似。
这两种代码段之间最大的区别在于,analytics.js 代码包含一个单独的“发送网页浏览”调用,而 gtag.js 代码则不包含。在 gtag.js 中,网页浏览是一个自动收集的事件,随“config”指令一起发送。
Universal Analytics 媒体资源 (analytics.js)
<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', 'TAG_ID', 'auto');
ga('send', 'pageview');
</script>
Google Analytics(分析)4 媒体资源 (gtag.js)
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
gtag.js 的配置设置
您可以配置基本的 gtag.js 代码段,以控制 IP 遮盖、Cookie 自定义和 Google 信号等数据收集设置,与 analytics.js 类似。您可以通过在 gtag.js 中使用“config”或“set”指令来实现这一点(在 analytics.js 中,则使用“set”“create”和“require”指令)。
Google Analytics(分析)4 媒体资源(格式为“G-XXXXXXXX”)支持通过 gtag.js 实现类似的 config 设置。Universal Analytics 媒体资源和 Google Analytics(分析)4 媒体资源之间的配置设置有所不同。请注意以下几点:
- IP 遮盖已设为“true”,不能在 Google Analytics(分析)4 媒体资源中配置。因此,对于发送到 Google Analytics(分析)4 媒体资源(格式为“G-XXXXXXXX”)的标准事件,系统会自动遮盖 IP 地址。
- 如果需要向所有已配置的媒体资源应用全局设置,应在 gtag.js 中使用“set”命令,以便将全局设置应用于所有代码 ID 和/或媒体资源 ID 所指示的媒体资源。
- 请特别注意 analytics.js 中的广告功能和广告个性化功能,这些功能通常是通过“set”代码行实现的。
如果当前的 analytics.js 实现中使用了“set”“create”和“require”指令,请查看哪些配置是在 Google Analytics(分析)4 媒体资源中自动设置的,哪些配置需要在 Google Analytics(分析)4 媒体资源代码中指定(参数映射)。
下面列出了一些示例配置及其在 analytics.js(针对 UA 媒体资源)和 gtag.js(针对 Google Analytics(分析)4 媒体资源)中的代码示例:
启用基本数据收集;配置 User-ID
analytics.js
ga('create', 'TAG_ID', 'auto', {
userId: USER_ID
});
ga('send', 'pageview');
gtag.js
gtag('config', 'TAG_ID', {
'user_id': 'USER_ID'
});
配置 Cookie 设置
analytics.js
ga('create', 'TAG_ID', {
'cookieName': 'gaCookie',
'cookieDomain': 'blog.example.co.uk',
'cookieExpires': 60 * 60 * 24 * 28 // 时间以秒为单位。
});
gtag.js
gtag('config', 'TAG_ID', {
'cookie_prefix': 'MyCookie',
'cookie_domain': 'blog.example.com',
'cookie_expires': 28 * 24 * 60 * 60 // 28 天,以秒为单位
});
屏蔽 page_view 事件
如果在加载 config 代码时不需要发送 page_view 事件(例如已加载 iframe),则可以调整 config 设置来屏蔽 page_view 事件。请设想一个情景:发送 page_view 事件之后用户登录网站。对于登录互动,您可以使用“config”指令来设置 User-ID,但不需要再次发送 page_view 事件。以下代码说明了如何防止发送 page_view 事件。
gtag('config', 'TAG_ID', {
'user_id': 'USER_ID',
'send_page_view': false
});
代码名称
如果您想通过 analytics.js 向不同的 Universal Analytics 媒体资源发送数据,可以使用代码名称(也称为“跟踪器”)。在 analytics.js 中,跟踪器用于指定您要将数据发送到的媒体资源。对于初始“create”命中之后的命中,无需再指定 Universal Analytics 媒体资源 ID,只需指定跟踪器名称。
在 gtag.js 中,Google Analytics(分析)4 媒体资源和 Universal Analytics 媒体资源都无法使用跟踪器。如果您需要将所有命中都发送到多个媒体资源(Google Analytics [分析] 4 媒体资源中的不同数据流),则应在“config”代码行中指定所有的代码 ID 或媒体资源 ID。
事件
请参阅事件迁移指南。自定义维度和指标
自定义维度和指标可用于扩展在网站上衡量的信息,以及从客户关系管理系统等位置导入离线数据。在 Universal Analytics 媒体资源(格式为“UA-XXXXXXXX”)中,需要先在界面中创建自定义维度和指标并为其分配 ID,然后才能实现或导入它们。您可以在 4 个不同的范围创建自定义维度和指标,即:命中级范围、会话级范围、用户级范围和产品级范围。
在 Google Analytics(分析)4 媒体资源(格式为“G-XXXXXXXX”)中,通过其他方式实现自定义维度和指标用例。通过 analytics.js 实现的 UA 媒体资源中的自定义维度和指标衡量需要在 Google Analytics(分析)4 媒体资源中作为参数重新实现。
可以通过 analytics.js 为 Universal Analytics 媒体资源实现自定义维度,如下所示:
ga('send', 'event', 'category_value', 'action_name', {'dimension5': 'custom data'
});
或者
ga('set', 'dimension5', 'custom data');
可以通过 gtag.js 将这些自定义维度转换为 Google Analytics(分析)4 媒体资源中的参数,如下所示:
gtag('event', 'action_name', {'eventCategory': 'category_value',
'dimension5': 'custom data'
});
或者
gtag('set', {'dimension5': 'custom data'});
请注意以下两点:
- 您需要在界面中注册参数,这样它们才能在报告中显示。此过程与在 Universal Analytics 中注册自定义维度的过程类似(限制也同样适用)。如果您只需要查看导出的数据或只将参数用于受众群体激活,则无需注册参数。
- 自定义参数将始终保持在事件级范围,与命中级范围类似。这一点也适用于将自动转换为参数的自定义维度(对于 gtag.js“UA-XXXXXXXX”实现),与原始的自定义维度范围设置无关。
以上映射和注意事项适用于自定义指标,只是在针对报告注册时,自定义指标会计入数字参数限额,而不是文本参数限额。
从概念上讲,Universal Analytics 媒体资源中不同范围的自定义维度和指标会映射到 Google Analytics(分析)4 媒体资源中,以下面几项形式出现:
- 命中级范围的自定义维度:参数(数据收集期间每个事件最多记录 25 个参数;最多 50 个自定义维度/50 个自定义指标)
请注意,自动收集的事件和参数可能已经涵盖以前使用过命中级范围的自定义维度的一些用例 - 用户级范围的自定义维度:用户属性(最多可通过界面针对报告注册 25 个)。自动收集的用户维度不计入此限额。
- 会话级范围的自定义维度:Google Analytics(分析)4 媒体资源中没有对应项;请改为查看自定义参数或用户属性。
使用用户属性的最佳做法
用户属性在不同平台之间(例如在所有数据流类型之间)保持不变,因此,只有在数据应在用户级别应用时才该使用用户属性。不应将用户属性用于会话级数据或设备级数据(例如屏幕尺寸)。
Google Analytics(分析)4 媒体资源示例
gtag('set', 'user_properties', {
favorite_composer: 'Mahler',
favorite_instrument: 'double bass',
season_ticketholder: 'true'
});