我正在使用 Google 跟踪代码管理器(又名:GTM)将事件发送到我的 Google Analytics 4 帐户,其中一些事件是开发人员通过这样的代码发送的自定义事件:
dataLayer.push({
event: 'CA:some-event',
a: 1, // custom param
b: 2 // custom param
})
我在 GTM 中定义了一个触发器来捕获以“CA:*”(作为正则表达式)开头的所有事件,然后定义了一个新标签:“Google Analytics: GA4 Event”,在触发器触发时调用并将事件发送到GA4.
我已成功将事件发送到我的 GA4 帐户,但问题是示例中的所有参数
a
和 b
均未发送,因为它们未映射为从 GA 事件中的 GTM 层发送。
我可以在 GTM 中专门为他们定义变量,但这不是动态的,这意味着每次开发人员需要发送新的自定义事件时,他都需要转到 GTM 帐户(通常他们无权访问它) ),添加变量,这使得整个解决方案半自动且不够动态。
我希望它是清楚的。
这里有什么建议吗?
您可以使用 Google 跟踪代码管理器中的数据层变量将自定义参数动态发送到 Google Analytics 4。
设置方法如下:
在 GTM 中创建数据层变量以捕获自定义参数。为此,请转到变量 > 新建 > 数据层变量。为变量命名并在数据层变量名称字段中输入参数名称(例如“a”或“b”)。
将数据层变量添加为 Google Analytics 4 事件标记中的字段。为此,请转到 Google Analytics 4 事件标签并选择“更多设置”>“要设置的字段”。在值字段中分别输入您在步骤 1 中创建的数据层变量的名称(例如“a”或“b”)以及值 {{a}} 或 {{b}}。
在 GTM 中发布您的更改。
现在,每次将自定义事件推送到数据层时,相关的自定义参数也会自动发送到 Google Analytics 4。这使您可以动态发送自定义参数,而无需在每次添加新的自定义事件时手动更新 Google Analytics 4 事件标记。
注意:确保所有事件中的自定义参数一致,否则您可能会在 Google Analytics 4 中得到不匹配的数据。
如果您担心 DataLayer,那么您可以使用 JavaScript 来废弃数据。
不幸的是,没有简单的方法可以按照您想要的方式管理 GTM。 希望他们可以允许我们仅使用 JavaScript 对象作为事件参数发送。 (他们目前只允许电子商务数据层)
但是看起来您的开发人员可以自己决定事件参数。因此,这里的选择是如果他们无法访问 GTM。他们只需告诉负责 GTM 的人他们的新实施即可。所以GTM的人可以在它的基础上修改。
如果您的场景变化很大,并且确实需要自动化。那么 GTM API 可能就是出路。 (但是开发者也需要一些时间来集成它)
我曾经管理过10多个物业,一周内需要添加30多个新活动。
所以我选择Google Sheet(带有Google App Script)来更轻松地管理GTM。
这里的要点是仍然有一些方法可以使其更加自动化。只需要杠杆就值得开发。
我以以下解决方案结束:
dataLayer.push({
event: 'CA:some-event',
data: {
a: 1, // custom param
b: 2 // custom param
}
})
根据事件的
data
属性在 GTM 中设置一个名为“自定义事件数据”的变量
设置 GA4 事件代码以将其发送到 GA4
在 GA4 中基于
data
属性设置一个名为“自定义事件数据”的新自定义维度
限制是我无法在 GA4 中直接使用
a
和 b
作为原生字段,但至少我可以在 GA4 报告中看到它们的变化