标签: google-tag-manager

谷歌标签管理器和谷歌分析有什么区别?

我正在阅读关于网络分析的文章,并且遇到了GTM和GA.

似乎GA是由谷歌提供的服务,它生成关于网站流量的报告和统计数据.根据我对生成此报告的有限理解,我们需要在最后执行某种类型的标记.

在GTM中看起来也是如此,我们还需要在我们的网站上添加一些标签.

因此,如果GA和GTM都与标记有关,它们之间有什么区别,为什么谷歌会有两种不同的产品.

tags analytics google-analytics web-analytics google-tag-manager

170
推荐指数
5
解决办法
7万
查看次数

几天后,跟踪代码管理器的Android内容实验不显示会话

我按照这里的步骤写了这封信,并为我们的Android应用设置了内容实验:

https://support.google.com/tagmanager/answer/6003007?hl=en

我们已经在我们的应用程序中使用了几个月的Analytics,它肯定会跟踪屏幕视图,事件,目标等,Tag Manager容器链接到Analytics属性,我确定我正在查看正确的属性和容器发表(现在3天).

在此输入图像描述

在应用程序内部,我从容器中获取不同变体的数据,即使在三天后我仍然没有在Google Analytics中看到任何会话.真的很令人沮丧.

在此输入图像描述

在上面的指南中是否有一些秘密酱没有提及,或者是否会出现一些初学者的错误,我想到我可以制作?

我是否有必要从应用程序内部明确地做一些事情以使会话计数?根据指南,我上面联系,应该没有.

编辑1

自发布此内容以来,在Google Analytics(分析)Web界面中已经为此内容实验(10天后!)出现了几个会话,但到目前为止只有一个变体,即使我已通过调试明确确定我获得了Tag返回的两个变体经理.

自从最初提出这个问题以来,我只进行了一次更改,并且正在向我们正在使用的跟踪代码管理器容器中添加(虚拟)Google Analytics代码.我不知道这是否会引发会话开始被Google Analytics(分析)接收,但似乎除非GA/Tag Manager人员修改了一些内容.

无论如何,我仍然只是在黑暗中点击,因为这个功能的官方文档似乎有一些重大漏洞.在指南中没有任何地方,我在下面链接提到我们必须在容器中创建一个Analytics标记,以便在Tag Manager和Analytics工作之间建立连接.事实上,它表示链接它们唯一需要的是在服务设置中从Tag Manager明确添加一个外部帐户链接到Analytics,这是我从一开始就做的.

编辑2

好的,看起来缺少的A变体是虚警,现在分析内容实验报告中的两个变体都有几个会话.

目前仍然非常不清楚为什么在报告中花了一周时间才能获得第一个会话,尽管我在整个星期都进行了几次会议,直到我在我们的Google跟踪代码管理器容器中添加了一个虚拟Google Analytics标记之前,它们都没有出现.此标记配置为跟踪虚拟事件,该应用实际上从未尝试触发,并且它肯定不会显示在Google Analytics中.

编辑3

好的,24小时后,尽管昨天在一些设备上定期运行应用程序以确保我今天能看到新内容,但我昨天看不到更多会话.更糟糕的是,在Tag Manager中定义实验时,我选择了Google Analytics中的目标作为测试目标,而内容实验在两个变体的会话中都显示了0次转换,尽管在转化 - >目标 - >概述中我看到了同一天的8次转换.我确信所有这些转换都是由我完成的,因为此Google Analytics媒体资源仅用于测试,而不是直播.

android google-analytics google-tag-manager content-experiments

163
推荐指数
1
解决办法
2857
查看次数

Google跟踪代码管理器出现404错误

谷歌标签管理器告诉我把它放在开始body标签下面.

<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Run Code Online (Sandbox Code Playgroud)

现在我得到的这个404没有找到GET:

GET http://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX
Run Code Online (Sandbox Code Playgroud)

我昨晚实施了代码.这只是需要时间还是需要修复的东西?如果是后者,我该如何解决?

get google-tag-manager

130
推荐指数
3
解决办法
7万
查看次数

如何避免与 Google Tag Manger 相关的页面速度问题以提高性能?

我们有一个官方公司网站。当我们检查页面速度时,该网站排名较低,并在“减少未使用的 JavaScript”中显示 Google 跟踪代码管理器脚本。由于谷歌标签管理器对网站很重要,有什么方法可以解决这个问题吗?“defer”属性不适用于该脚本。

在此输入图像描述

performance pagespeed web google-tag-manager craftcms

50
推荐指数
2
解决办法
4万
查看次数

现有的Google Analytics事件和Google跟踪代码管理器

我已在我的网站上实施了Google Analytics(GA),并通过ga("send", "event", ...);功能发送了多个自定义事件,效果很好.

我正在尝试使用Google跟踪代码管理器(GTM).我删除了原始的GA代码段,现在我使用GTM在我的网站上注入GA标记,并正确跟踪网页浏览量.什么效果不好的是由ga()函数发送的自定义事件.

我注意到GA create跟踪器名称变量就像

ga("create", "UA-12345678-1", {name: "gtm0123456789", allowLinker: false});
Run Code Online (Sandbox Code Playgroud)

Google Chrome浏览器的Google Analytics Debugger扩展程序Command ignored. Unknown target: undefined.

我发现发送事件调用应该包含跟踪器名称,​​所以它应该看起来像ga("gtm0123456789.send", "event", ...);,但我不想更改所有现有的GA send event调用.

我通过在GTM设置中将跟踪器名称设置为空字符串来快速固定它(Edit Tag -> More Settings -> Advanced Configuration -> ? Tracker Name将文本框保留为空白),现在它可以工作,但我不认为这是一个很好的解决方案.

是否还有其他选项可以GA send event通过GTM使用现有呼叫并使用事件跟踪?

google-analytics google-tag-manager universal-analytics

28
推荐指数
2
解决办法
1万
查看次数

使用测量协议将事件发送到 Google Analytics 4 时,client_id 应该是什么?

我在客户端上使用 Google Analytics 4 (GA4) 来跟踪一大堆不同的事件。但是,有两种情况我无法涵盖客户端:

  1. 用户在第三方(本例中为 Stripe)托管的支付页面上完成结账。
  2. 由支持团队退款。

这些事件由服务器使用 Webhooks 处理。对我来说,最直接的解决方案似乎是让服务器将事件发送到 GA4(而不是客户端发送事件)。我相信Measurement Protocol应该用于此目的。

对于通过Measurement Protocola提交的每个事件client_id提交的每个事件,a是必需的。当客户端提交事件时,这是一个自动生成的 ID,用于跟踪特定设备。

因此我的问题是,应该做什么client_id在服务器端提交事件时应该是什么?

是否应该对所有事件使用相同的方法client_id,以便将服务器识别为一台设备?我读过一些人建议为client_id每个事件使用随机生成的,但这会导致每个服务器端事件都识别出一个新用户......


编辑:答案之一建议使用client_id,它是请求的一部分作为 cookie。但是,对于上面给出的两个示例,此 cookie 不存在,因为请求是由第三方 Webhook 而不是用户发出的。

我当然可以将其存储client_id在数据库中,但第二个示例中的退款是由支持团队提供的。client_id因此,从概念上讲,将该事件与用户的事件关联起来感觉很奇怪client_id只是识别用户设备的一种方式?即,不是用户的设备触发了此处的退款事件。

另一个退款事件示例是当用户 A 与用户 B 进行购买并且用户 B 一周后对该购买进行退款时。那么这种情况下,应该client_id是用户A的还是用户B的呢?同样,在这里使用存储感觉很奇怪client_id。因为,如果用户 A 在两个设备上登录怎么办?client_id那么这里应该使用哪个呢?

google-analytics google-tag-manager measurement-protocol google-analytics-4

27
推荐指数
1
解决办法
7121
查看次数

无法在'Window'GoogleTagManager上执行'postMessage'

最近,我得到这个postMessage无法克隆错误.它发生在大多数最新的浏览器上,如Chrome 68,Firefox 61.0,IE11,Edge.

无法在'Window'上执行'postMessage':function (a){if(qe.$a.hasOwnProperty(a))return qe.$a[a]}无法克隆.

堆栈跟踪是:

错误:无法在'Window'上执行'postMessage':function (a){if(qe.$a.hasOwnProperty(a))return qe.$a[a]}无法克隆.
在_reportEvent(eval at(:1:35637),:94:35)
at eval(eval at(:1:35637),:55:5)
at eval(eval at(:1:35637),:433:11 )

在DevTools中搜索我的页面gtm.js源代码显示为代码片段的来源:

gtm.js显示为函数的源

我的网页上有Google跟踪代码管理器跟踪代码.为什么会这样?

javascript error-handling google-tag-manager

26
推荐指数
2
解决办法
4915
查看次数

谷歌分析发送事件回调函数

我正在尝试在用户注册之后和重定向之前发送事件go google analytics .我正在使用Google跟踪代码管理器和univerasl js.

首先,我尝试使用dataLayer对象,如下所述:developers.google

这就是我的功能:

//Registering new user via ajax
$.ajax('/register/', {
    success: function() {

        //Pushing event to dataLayer
        dataLayer.push({
                'Category': 'Registration Process',
                'event': 'Registration Submit Btn'
            });

        //Logging in new user and redirecting the page with a timeout
        setTimeout(function(){
            loginAction();
        }, 500)
    }
})
Run Code Online (Sandbox Code Playgroud)

问题是我收到了大约25%的所有事件,其他所有事件都丢失了.我不知道在将对象添加到dataLayer之后是否以及何时将事件发送给Google,我认为75%的事件根本没有发送.

现在我正在尝试实现另一种方法:

//Registering new user via ajax
$.ajax('/register/', {
    success: function() {

        //Sending event through ga('send')
        parent.ga('send', 'event', 'Registration Process', 'Registration Submit Btn');

        //Logging …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-analytics google-tag-manager

25
推荐指数
2
解决办法
2万
查看次数

Firefox上的Google Analytics JS代码中的"返回语句后无法访问的代码"错误 - 这是我的错吗?

我正在使用当前的Google Analytics跟踪代码,而在Firefox 59上我在控制台中收到此错误:

返回语句后无法访问的代码

在这个javascript:https://www.googletagmanager.com/gtag/js? id = UA-my-tracking-code:formattted

由于这个问题似乎不是可谷歌的,因此似乎其他人没有这个问题,我的猜测是我做错了什么.但这可能是什么?

我正在把片段放进去<head>,就像文档说的那样:

<!DOCTYPE html>
<html>
    <head>
        <title>some title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code"></script>

        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());
          gtag('config', 'UA-my-tracking-code');
        </script>

    </head>
    <body>
     blah blah 
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

debugging google-analytics developer-tools google-tag-manager

24
推荐指数
1
解决办法
3888
查看次数

React + Router + Google Tag Manager

我花了一些时间在quickcypher.com上开发MVP.我想开始进行一些分析,它只是跟踪总访问次数很有用,但是当我尝试跟踪使用React Router的网站上的不同网址时,情况就出现了问题.

我的方法是:设置一个GA标签,在某些页面上触发,使用触发器进行自定义"pageview"事件.当事情发生时,我会将字段页面设置为"/ rap".我在每个视图的顶级组件的"componentDidMount"方法中触发事件.使用调试器,我按预期看到事件发生了火灾,但对于我的生命,我无法让GA承认此事件.当我简化标签以触发"所有页面"时,GA按预期工作,所以我假设它与React有关.

有没有人成功实现过这个或遇到类似的问题?我的方法都错了吗?希望得到一些指导......干杯!

analytics google-analytics google-tag-manager reactjs react-router

19
推荐指数
2
解决办法
2万
查看次数