如何在没有 Google 跟踪代码管理器的情况下以编程方式将事件发送到 GA4?

use*_*763 17 javascript google-analytics google-tag-manager google-analytics-4

我想以编程方式将自定义事件发送到新的 Google Analytics(分析),而不是先在 GTM 中定义它。

我正在使用 Google 跟踪代码管理器,根据这篇文章: 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);
            }
        }
Run Code Online (Sandbox Code Playgroud)

如何使用 JavaScript 和新的 Google Analytics (GA4) 来实现这种效果?

window.gtag未定义,因为我使用 GTM,并且window.ga未定义,因为我使用 GA4。GTM 中配置的唯一标签是“Google Analytics:GA4 配置”。

Jor*_*ens 8

另一种方法(特别是如果您使用 GTM 配置标记在您的网站上部署 GA4,因为 gtag 要求您使用部署的 gtag.js)是通过 GTM dataLayer:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
    'event': 'aSpecificEventName',
    'form_type_DL': 'contact_us'
});
Run Code Online (Sandbox Code Playgroud)

然后在 GTM 中配置一个新变量'form_type_DL',根据自定义事件配置一个新触发器,将事件名称定义为(在我的例子中)'aSpecificEventName',最后在 GTM 中设置一个新的 GA4 事件标记,并使用最近创建的新触发器发送该事件name 和 event 参数如您所愿,例如参数之一可以是 form_type ,其值是{{form_type_DL}},通过我们的 dataLayer 推送发送的参数将包含'contact_us'.

因此,正确的步骤顺序是:

  1. 使用特定变量名称在 GTM 中定义新变量(仅当您需要向 GA4 发送特定值时)
  2. 使用特定事件名称创建和配置自定义事件驱动触发器
  3. 创建一个新的 GA4 事件驱动代码,添加您之前创建的触发器,并添加您的参数值(您决定在需要时使用的任何事件参数)作为之前创建的变量。
  4. 最后,在代码中设置数据层推送,确保事件值与触发事件名称相同,并且变量与您的变量匹配。

为了进一步了解我们所做的事情,如果我们仔细查看 gtag.js 代码,建议我们手动安装:

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

        gtag('config', 'G-XYZXYZXYZ');
    </script>
Run Code Online (Sandbox Code Playgroud)

我们应该用来推送 GA4 事件的 gtag() 函数会执行 dataLayer.push(),因此这是一种简化/自动化我首先解释的过程的方法。

https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtag https://support.google.com/tagmanager/answer/7582054?hl=en


Mic*_*ani 2

您必须使用此语法(并且必须在页面中使用 gtag 片段):

gtag('event', 'login', {
  'method': 'Google'
});
Run Code Online (Sandbox Code Playgroud)

https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtag