当前位置: 首页 > 知识库问答 >
问题:

插入谷歌标签管理器(gtag.js)跟踪ID动态AngularJS

王磊
2023-03-14

我需要插入谷歌标签管理器(gtag.js)动态AngularJS。我管理一个多租户网站,其中跟踪ID对每个租户都是唯一的。

我们以前是这样做的(使用Google Analytics-Analytics.js的旧方法),如下所示:

指数html-

    <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', '//www.google-analytics.com/analytics.js', 'ga');
    </script>

应用程序。控制器。js-

function setupAnalytics() {
  var googleTagEnabled = $settings.checkTrue('Analytics/GoogleTagEnabled');
  var googleTag = $settings['Analytics/GoogleTag'];
  if (googleTagEnabled) {
    $window.ga('create', googleTag, 'auto');

    $rootScope.$on('$stateChangeSuccess', function (event) {
      $window.ga('send', 'pageview', $location.path());
    });
  }
}

如何使用新的gtag方法做到这一点?

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

共有1个答案

魏毅
2023-03-14

解决了。

卢克·鲍里斯的回答值得称赞:https://stackoverflow.com/a/66530446/1098620

结合Chris Anker的回答:https://stackoverflow.com/a/48124899/1098620

指数html

<!-- no code here. -->

app.controller.js

function setupAnalytics() {
  var googleTagEnabled = $settings.checkTrue('Analytics/GoogleTagEnabled');
  var googleTag = $settings['Analytics/GoogleTag'];
  if (googleTagEnabled) {       
    // Setting dataLayer & gtag to window because I'm using a custom code text field in a tag management system
    window.dataLayer = window.dataLayer || [];
    window.gtag =
    window.gtag ||
    function() {
        window.dataLayer.push(arguments);
    };
    window.gtag("js", new Date());
    window.gtag("config", googleTag);

    // Set initial gtag/js?id=<first ID> script to <head>
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.async = true;
    script.src = "//www.googletagmanager.com/gtag/js?id=" + googleTag;
    document.getElementsByTagName("head")[0].appendChild(script);

    $rootScope.$on('$stateChangeSuccess', function (event) {
        $window.gtag('config', googleTag, {'page_path': $location.path()});
        $window.gtag('event', 'page_view');
    });
  }
}
 类似资料:
  • 我正在尝试做一个简单的标记,用于测量元素被单击的次数。 我遇到了困难,所以我想找一个视频来帮助我,因为标签管理器的布局已经改变了。 我在Udemy上遵循以下免费教程 https://www.udemy.com/google-tag-manager-advanced/ 特别是第8章按钮点击——这是一个免费的章节。它告诉我设置以下选项: 标签配置: 谷歌分析

跟踪ID:{{Tracking ID}}

  • 我必须在Magento网站上设置谷歌标签管理器,该网站上已经有谷歌分析跟踪。主要目标是通过谷歌标签管理器和通用分析来取代所有旧的跟踪。 我想知道实现这一目标的最佳途径。 在第一阶段,是否有可能保持现有的谷歌分析跟踪,同时设置谷歌标签管理器?例如,我希望能够在标签管理器中设置再营销活动。 还是我必须删除网站上所有相关的谷歌分析代码,并在谷歌标签管理器界面中创建新标签? 提前谢谢

  • 不幸的是,内置的GTM标签Google广告转换跟踪不支持设置特殊的酒店属性(用于Google酒店广告): 官方文件如下:https://support.google.com/google-ads/answer/9244174?hl=en说明适用于gtag。js和GTM只是以一种不明确的方式提及(至少对我而言): 如果您使用的是谷歌标签管理器,那么就可以实现gtag。js通过使用自定义HTML标记选

  • 我需要跟踪每个post标签的一些用户数据。为此,我使用谷歌分析和谷歌标签管理器。数据层看起来像: 键包含标签。 如果不使用点符号,我如何跟踪所有这些标签?帖子可以有1、2、3、4...或者更多的标签,所以我不能使用点符号。

  • 我正在实施谷歌标签管理器为Android应用程序V4由我的营销团队要求为未来使用,我从来没有在GTM网站,所以我在这方面很天真。 我已经根据官方网站上的说明创建了帐户、容器和标签。我已经将tag manager与google analytics tracking id链接。我已经根据网站上的说明在我的应用程序中编写了代码,并将容器下载到原始文件夹中。 当我运行我的应用程序时,它会在logcat中给

  • 我正在尝试学习如何在一个新网站上整合谷歌分析和定制事件跟踪。在研究它之后,我似乎无法理解Google Tag Manager和仅仅编写自定义事件跟踪代码之间的区别和关系。 Google Tag Manager是否只是一种更简单的跟踪信息的方法,而无需编写JS?