我想以编程方式将自定义事件发送到新的Google Analytics,而无需首先在GTM中定义它。
我正在使用Google Tag Manager,根据这篇文章:https://developers.google.com/analytics/devguides/collection/ga4/translate-events
这只能通过在GTM本身定义一个事件来实现。我不能这样做,我想继续使用旧的方法来实现,在旧的方法中,你可以这样做:
if ("ga" in window) {
var tracker = ga.getAll()[0];
if (tracker) {
tracker.send("event", eventCategory, eventAction);
}
}
如何使用JavaScript和新的Google Analytics(GA4)来实现此效果?
我使用GTM时未定义window.gtag
,使用GA4时未定义window.ga
。GTM中配置的唯一标记是“Google Analytics:GA4配置”。
3条答案
按热度按时间d7v8vwbk1#
你必须使用以下语法(并且你必须在page中使用gtag snippet):
https://developers.google.com/analytics/devguides/collection/ga4/events
vfhzx4xs2#
另一种方法是通过GTM dataLayer(特别是如果您使用GTM Configuration Tag在您的站点上部署GA 4,因为gtag要求您使用部署的gtag.js):
然后在GTM中配置一个新的变量
'form_type_DL'
,根据自定义事件配置一个新的触发器,将事件名称定义为(在我的例子中)'aSpecificEventName'
,最后,在GTM中设置一个新的GA 4 Event标签,使用最近创建的新触发器发送事件名称和事件参数,例如其中一个参数可以是form_type,其值为{{form_type_DL}}
,通过我们的数据层推送发送的数据包将包含'contact_us'
。所以正确的步骤顺序是:
1.在GTM中使用特定的变量名定义新变量(仅当您需要向GA 4发送特定值时)
1.使用特定的事件名称创建和配置自定义事件驱动触发器
1.创建一个新的GA 4事件驱动标签,添加您以前创建的触发器并添加您的参数值(如果需要,您决定使用的任何事件参数)作为以前创建的变量。
1.最后,在代码中设置dataLayer push,确保事件值与触发器事件名称相同,并且变量与您的变量匹配。
为了更好地理解我们的工作,如果我们仔细看看gtag.js代码,我们建议手动安装:
我们应该用来推送GA 4事件的gtag()函数执行dataLayer.push(),因此这是一种简化/自动化我首先解释的过程的方法。
https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtaghttps://support.google.com/tagmanager/answer/7582054?hl=en
1hdlvixo3#
这些是我在GoogleAnalytics4中实现的步骤