标签: google-tag-manager

未通过Google跟踪代码管理器在Google Analytics中触发的事件

我一直在寻找这个答案的高低,我完全傻眼了.

我正在使用GA在我的Android应用中实现简单的点击和页面跟踪,通过GTM运行.所有我的"屏幕"都可以在GA中实时显示,但我无法让"事件"出现.

实际上我可以,但行为似乎非常离奇.如果我不包含"标签"和"值",我可以看到事件出现.但是,如果我添加它们(无论是常量还是数据层变量),所有事件都会停止.我已经确认了我想要的变量"Label"和"Value"正在通过,因为我创建了一个容器,其中这些值为"Category"和"Action",并且可以实时看到它们.

这让我觉得应用程序端实现完全没问题,但我的GTM中的标签存在问题.(显然不是触发器,因为它在预期时也起作用).

理想情况下,我想做这样的事情(变量是数据层变量):

理想的外观

但这不起作用.我看不到任何事件.

android google-analytics google-tag-manager google-analytics-firebase

6
推荐指数
1
解决办法
1206
查看次数

资源不可用.请稍后再试

尝试访问谷歌分析以重新营销标签面临以下问题.只是想知道以前是否有人遇到过这个问题

在此输入图像描述

tags google-analytics google-analytics-api google-tag-manager

6
推荐指数
1
解决办法
4313
查看次数

Jquery和Google跟踪代码管理器

我在网站上实施Google跟踪代码管理器时遇到了一些问题.我有一个Google代码,当我在我的网站上试用它时,会产生很多 javascript冲突.

因此,我尝试将代码放在一个单独的文件中,以便逐步执行并观察不同脚本的行为.

所以这里是我非常简单的HTML页面:

<!DOCTYPE html>
<html>
<head>
    <title>Titre</title>
</head>
<body>
    <!-- Google Tag Manager -->
    <noscript>
    <iframe src="http://www.googletagmanager.com/ns.html?id=GTM-XXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
    </noscript>
    <script type="text/javascript">
        dataLayer = [{'uid':'12'}];
        (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 -->
    hello
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个页面,在JS控制台中返回一个错误:

Uncaught ReferenceError: jQuery is not defined
Run Code Online (Sandbox Code Playgroud)

嗯,这是出乎意料的,jQuery在这里要做什么?我甚至没有在我的身体标签上声明它,Google是否需要jQuery?

所以这很奇怪,第二件事,当我在浏览器上加载后查看生成的HTML页面时:

<body>
... Long stuff here
<script type="text/javascript" id="" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
... some other stuff here
</body>
Run Code Online (Sandbox Code Playgroud)

这是什么魔法?为什么Google会在页面底部添加一个jquery,为什么我的控制台会向我显示jQuery错误?

非常感谢任何类型的信息,我完全失去了...祝你有愉快的一天!

jquery google-tag-manager

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

React JS如何危险地执行SetInnerHTML中的脚本

如何获取危险内的脚本SetInnerHTML得到执行?

class Page extends Component {

  render() {
    return (
      <script
        dangerouslySetInnerHTML={{ __html: `
          console.log('hello world');
          window.dataLayer = window.dataLayer || [];
          window.dataLayer.push({
            event: 'viewCart'
          });
        ` }}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我无法console.log('hello world')执行 有人可以帮忙吗?谢谢

javascript google-tag-manager reactjs

6
推荐指数
2
解决办法
5561
查看次数

从Firebase Analytics到Google Analytics(分析),如何获取客户端ID?

我们正计划从GA SDK迁移到Firebase SDK。在GA SDK中,有一些选项可用于检索Google Analytics(分析)客户端ID(https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cid)。这是至关重要的,因为我们将此价值转移到了WebView(在应用程序内),从而使客户可以跨本机/ webview进行跟踪。

有人知道如何在Firebase Analytics SDK(iOS和Android)中检索此客户端ID吗?

谢谢!

google-analytics google-tag-manager google-analytics-sdk firebase-analytics

6
推荐指数
1
解决办法
2578
查看次数

dataLayer.push()肯定会在锚点上触发时向谷歌发送数据吗?

这可能看起来像一个简单的问题,但似乎没有任何我能找到的答案.

我正在编写一个onClick事件处理程序,只需dataLayer.push()在单击锚点时调用.

dataLayer.push()同步操作吗?

是否肯定会发送谷歌的GET请求,即使浏览器已经卸载了请求的页面,因为链接被跟踪?

一些浏览器显示连接被取消,一些显示它成功.

我的问题是,如果计算机速度慢,是否可以在发送请求之前卸载页面?

这就是为什么我假设谷歌开始使用该eventCallback属性在链接被跟踪后重定向用户.例如 https://developers.google.com/tag-manager/enhanced-ecommerce#product-clicks

此源代码不包含单击处理程序,但暗示该onClick事件应停止传播并eventCallback设置该函数document.location.

但是,一旦取消该活动,其所有信息都已消失.

这(在我看来)只是错误的做法.例如(CTRL或COMMAND)+ Click在浏览器上打开一个新选项卡.除非onClick事件处理程序允许prorogation继续,否则这将不起作用.

依赖eventCallback也意味着如果google scrips没有加载其中的一个原因(但仍然不太可能),你的链接不起作用.而且你的网站坏了.

因此,这为onClick事件处理程序提供了正确的方法,以允许事件传播并返回true.

这也意味着dataLayer.push()在发送GET请求之后需要返回以使其中的任何一个正常工作.

代码示例:注意:您将在混合环境中获得混合结果.

<a href="/somewhere-else">Link</a>


$(document).on('click', 'a', function(event) {

    // Is dataLayer.push() guaranteed to fire a GET ?
    // data set externally
    dataLayer.push(data);

    return true;
Run Code Online (Sandbox Code Playgroud)

});

是否有人可以保证GET请求将被解雇到谷歌服务器?

谷歌开发者忘记了什么吗?

编辑:更新标题与问题更相关.

javascript jquery events google-tag-manager

6
推荐指数
1
解决办法
3144
查看次数

GTM - 将事件/数据推送到gtm dataLayer不发送任何内容到https://www.google-analytics.com/r/collect?v

我在我的chrome扩展页面中添加了这个gtm代码(由内容脚本in和iframe注入)

// <!-- Google Tag Manager -->
(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='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','owDataLayer','GTM-XXXXXXX');
// <!-- End Google Tag Manager -->
Run Code Online (Sandbox Code Playgroud)

我确认已成功加载的gtm.js文件.

Request URL:https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX&l=dataLayer
Request Method:GET
Status Code:200  (from disk cache)
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,下面的代码已附加到按钮的单击事件

dataLayer.push({'event':'tab click','user id':123,'description':"Social"});

当我单击按钮dataLayer.push成功工作但没有任何内容被发送到https://www.google-analytics.com/r/collect? 开发人员工具栏窗口的"网络"选项卡中的任何活动.

任何人都可以帮我解决这个问题吗?提前致谢!

编辑: 添加标签设置的屏幕截图. 在此输入图像描述

google-chrome-extension google-tag-manager google-datalayer

6
推荐指数
1
解决办法
2329
查看次数

如何在没有Cocoapod的情况下使用GTM?

我正在尝试在应用程序中使用GTM.目前,该应用程序没有使用CocoaPods,也不会使用CocoaPods.但GTM需要CocoaPods,似乎没有办法在没有CocoaPods的情况下安装GTM.但我希望有一种方法可以在没有CocoaPod的情况下使用GTM.我可以吗?

xcode ios google-tag-manager

6
推荐指数
0
解决办法
348
查看次数

带有Comodo SSL可信站点密封的Google跟踪代码管理器

我目前正在制作Google跟踪代码管理器来处理我们所有的JavaScripts,因为我确信你们都知道好几个好处.

一切都计划除了一个问题,我肯定可以通过一个小调整来解决,我希望你们中的一个可以提供帮助.

Comodo使用2部分代码添加密封,一部分在内部,一部分在<head>内部<body>

像这样:

<head>

<!-- THIS CODE is loaded by GTM -->
<script>
//<![CDATA[ 
    var tlJsHost = ((window.location.protocol == "https:") ? "https://secure.comodo.com/" : "http://www.trustlogo.com/");
    document.write(unescape("%3Cscript src='" + tlJsHost + "trustlogo/javascript/trustlogo.js' type='text/javascript'%3E%3C/script%3E"));
//]]>
</script>

</head>
<body>

<!-- This CODE is NOT loaded by GTM and loaded in the FOOTER -->

<footer>
    <script type="text/javascript">TrustLogo("https://www.example.com/comodo_secure_seal_113x59_transp.png", "CL1", "none");</script>
</footer>

</body>
Run Code Online (Sandbox Code Playgroud)

我绝不是一个JavaScript专家,但我可以告诉它从头部加载JavaScript,然后对身体中的JavaScript做一些额外的麻烦.如果我错了,请纠正我,但我认为问题与Google跟踪代码管理器不会添加内容的事实有关,<head>因为它会异步加载内容.

体内的SCRIPT没有被谷歌标签管理器加载,而其中的SCRIPT <head>是,我这样做是出于纯粹的懒惰,因为我不确定如何,或者你是否可以将JavaScript注入CSS选择器或ID HTML元素.

我已经测试的触发触发器是DOM准备好的,页面视图启用了文档写入,希望有人可以指出我正确的方向来解决这个问题,提前感谢.

html javascript asynchronous document.write google-tag-manager

6
推荐指数
1
解决办法
194
查看次数

Android设备被归类为桌面设备

我们已经通过应用程序接收了大量对我们的目标网页的新访问权限,几乎所有用户都使用Android(可以通过查看公共>技术>浏览器和操作系统进行验证).我测试了应用程序,并使用设备的浏览器在应用程序中加载页面.

但是,设备类别被解释为每个以这种方式访问​​它的Android用户的桌面.因此,在"实时"标签上显示,超过80%的访问者来自桌面,这可能会让包括我们客户在内的很多人感到困惑. 实时报告 公共浏览器和设备报告

还有办法吗?

  1. 告诉Google Analytics应该将所有Android设备视为移动设备?
  2. 编辑实时报告以显示浏览器而非设备类别,因为它显示正确?
  3. 我可以在我的视口元标记中做些什么来帮助这个吗?这是目前的<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

谢谢!

google-analytics google-tag-manager universal-analytics

6
推荐指数
1
解决办法
96
查看次数