全球范围内,Google Tag Manager(GTM)是最强大的跟踪和标签管理平台之一。通过这些平台,我们可以轻松管理和部署所有营销标签,如 GA4 脚本、Facebook 像素等,而无需在您的网站上进行代码更改。
您可以通过 GTM 提高数据准确性、优化营销效果,并将所有跟踪解决方案集中管理。它是现代数字营销人员的必备工具,因为它提高了灵活性、加快了加载速度,并简化了调试过程。
因此,每次开始跟踪时,我们都会使用 dataLayer 来轻松获取规范化的数据。要获取您的 dataLayer,首先进入您的标签管理器。
数据层解释
在 Google Tag Manager 中,数据层是一个 JavaScript 对象,用作存储您网站或应用程序中动态数据的容器。它存储的信息可以是用户操作、产品详情或交易数据,供 GTM 标签、触发器和变量使用。
原则上,它将您网站的代码与 GTM 连接起来——这样,您可以在不直接修改网站实际代码的情况下,轻松地处理跟踪和分析。通过数据层,您可以轻松监控并将准确的信息推送到不同的营销或分析系统。

您的数据层将如下所示。要获得这种类型的数据层视图,首先您需要进入您的 GTM 界面。

点击预览后,您将进入下一页。

现在,在这里粘贴您的网站链接并继续。然后将会打开一个新标签页,显示您的网站 URL。




数据层结构
-
电子商务(对象):这是主要容器,包含所有交易细节。在这个对象内,我们存储。 -
货币(值):用于交易的货币(这里是美元)。 -
金额(值):无论交易金额如何,这是产品的最终值(这里是19美元)。
项目(数组):在电子商务对象内有一个名为 items 的数组。这个数组包含了所有属于此交易的产品。在这个例子中。
您会看到数据层结构中的一些值是独立的,而其他值则嵌套在对象下。数组和值可以在对象内找到。由于这种结构安排,数据可以按层次组织,这有助于跟踪和访问特定信息。
从数据层收集数据的方法
我们在 Google Tag Manager (GTM) 中创建变量来跟踪数据层中的数据。这些变量帮助我们从数据层中提取特定数据,例如交易或产品详情。
例如,如果您想访问 items 数组中的所有产品列表,您可以创建一个名为 ecommerce.items 的变量。这将为您提供所有的产品详情。
您必须指定数组中项的索引,以便跟踪特定的产品信息,例如其名称或 ID。第一个产品的产品 ID 将是 ecommerce.items.0.item_id,产品名称将是 ecommerce.items.0.item_name。
简而言之,格式 ecommerce.items.0.item_name 表示您正在提取列表中第一个产品的名称。无论是特定产品还是整个交易,这种方法都能帮助您准确跟踪所需的内容。
因此,要收集属于一个对象下的所有数据,您需要从对象.array 开始。如果您想从数组中收集数据,则为 object.array.0.name。
简单来说,我们遵循规则 “ecommerce.items.0.item_id” 来访问嵌套结构中的特定数据。这个格式指定了对象(ecommerce)、数组(items)、第一个项(0)以及所需的值(item_id),使得从复杂的数据层中提取特定信息变得简单。
就像我们在对 GTM 说,兄弟,先从对象中定位数组,然后从数组中收集商品名称或 ID,随便哪个。
但是,“ecommerce.items.0.item_id”中的“0”是指数组中项的索引。在数组中,第一个项的索引从 0 开始。因此,“0”意味着我们正在访问 items 数组中的第一个产品。如果有更多产品,第二个项用 1,第三个用 2,依此类推。
但如果您的数据不在任何对象或数组下,那么…

要从这里收集数据,您可以直接获取名称,例如 CustomerFirstName 或 CustomerBillingCompany。
在 Google Tag Manager 中创建变量
要创建一个变量,进入您的 GTM 并点击变量部分。


现在向下滚动并点击“新建”来创建一个新的用户定义变量。

现在从这里选择“数据层变量”作为变量类型。我们使用这个变量是因为我们要从数据层中提取数据。
现在,想象一下您想收集 GA4 增强型跟踪的总项数组数据,因此按照这种方式创建一个变量非常简单。

接下来,点击变量类型并输入您的“数据层变量名称”。如果您使用它,那么就能获取完整的项数组。

对于您的 GA4,如果您想收集产品的值,可以按这种方式使用它。

如果您想收集货币,可以按这种方式操作。

如果您想获取产品的名称,可以按这种方式操作。

以同样的方式,您可以根据需要收集产品 ID 或任何其他信息。但是,如果您想收集任何独立的值,可以按这种方式操作。

所以这真的是一项简单的工作。根据您的需求收集目标数据,首先,您只需查看数据层。您的目标数据在哪里?
它是否在某个对象下?如果是,它是以值的形式存在,还是在数组中?如果它在对象下并以值的形式存在,那么您的变量将是 “object.value”;如果它在数组中,那么就是 “object.array.0.value”。以同样的方式,您只需简单地写“object.array”就可以收集数组中的所有数据。很简单。
之后,如果您有任何疑问,欢迎与我们实时沟通或面对面交流。所以,如果您想分享任何内容或了解更多信息,请不要忘记与我们联系。