问题标签 [measurement-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - analytics.js 传入时间戳
我希望使用analytics.js而不是 ga.js来实现 Google Analytics。我想将此实现到我的混合 HTML5 应用程序中,该应用程序在 iOS 外壳中提供。我知道 iOS SDK,但我正在尝试为不同平台维护一个代码库。
我需要考虑我的应用程序在断开连接的情况下记录页面印象,因此我打算将页面印象存储在 localStorage 中,然后当检测到互联网连接时,然后使用 ga() 函数调用将每个页面印象单独发送到分析服务.
理论上这可行,但我需要能够随每个页面发送页面印象时间戳,而不是 Analytics 在访问服务器时应用时间戳。
这可以实现吗?
谢谢,
瑞特
c# - 为桌面应用程序设置谷歌分析
我有一个用 C# 编写的桌面应用程序。我想在谷歌分析中收集用户统计数据。例如,我想知道用户何时按下特定按钮,以及当他这样做时文本控件的价值是什么。
我正在按照此处的说明发送事件数据。我尝试使用此问题中的WebClient.UploadValues以及WebClient.UploadString来执行此操作
我已经建立了新的谷歌分析帐户。当有人问我要跟踪什么(网站或移动应用程序)时,我选择了移动应用程序(桌面应用程序别无选择)。
问题是我在 Google Analytics(分析)帐户中看不到任何数据。我知道新数据会出现在那里可能需要一些时间,但我已经等了 3 天。而且当我测试我的应用程序时,我在实时视图中看不到任何东西(我也有一些连接了分析的网站,当我浏览它们时,我会在实时部分看到新的网页浏览量)。
我究竟做错了什么?
这是我使用的代码:
google-analytics - 谷歌分析测量协议/实时事件未显示
我正在使用 C 代码记录来自嵌入式应用程序的 HTTP POST 请求,并看到实时事件显示在一个 GA 帐户中,但没有显示在另一个帐户中。
在这两种情况下,这些事件都会在第二天以注册消息的形式出现在应用程序概览中,因此发布似乎正在发挥作用。然而,我没有看到事件出现在实时部分。
笔记:
- i) 客户端 ID 在两种情况下都是相同的 GUID [cid=35009a79-1a05-49d7-b876-2b884d0f825b]
- ii) 唯一的区别是跟踪代码 [tid=UA-XXXX-YY]
- iii) 我知道参数“ev”和“el”不是必需的(插入它们没有区别)
- iv) 插入“an”参数(例如 an=MyApp)会导致事件实时显示;但删除 an=MyApp 会使事件不显示为实时事件(但它会在第二天显示为注册事件)
有什么想法吗?
[顺便说一句(尽管这不会造成任何差异),我已经在开发者控制台中启用了 GA API,并且在这两种情况下我都使用相同的开发者控制台生成的客户端 ID。]
已编辑:这是 HTTP 帖子的代表性片段:-
transactions - Google Measurement Protocol:更新收入
我需要通过测量协议更新现有交易的收入。我发送请求。但是 analitycs 在现有收入的基础上增加了新的收入。
示例:原始交易收入:100。实际收入:150。我发送此交易的请求,收入为 150。
结果:收入是 250,但我需要 150。
求求救!=)
objective-c - iOS Embedded Framework 中的 Google Analytics 与托管应用程序冲突?
我正在构建一个 iOS 8 嵌入式框架,我们的客户可以使用它来集成到他们自己的应用程序中。我需要跟踪框架代码中发生的事件,所以我将谷歌分析 sdk 添加到框架中。
但是,如果我们的客户也在使用谷歌分析框架,我会遇到重复的符号错误。
作为一种解决方法,我使用了Google Analytics Measurement Protocol,并自己构建了 url 来跟踪事件。
它工作了一段时间,但后来停止了 - 我认为这个问题与匿名客户端 ID 参数有关,该参数需要为每个设备正确生成唯一的(我使用的是每次发送到谷歌服务器的常量值) ? 我认为?
我是否需要一个等效于创建匿名客户端 id的objective-c ?
我还查看了Google Analytics Measurement Protocol 的 Cocoa Wrapper,但它有点过时且未完成。
我该如何正确和专业地处理这个问题?我需要跟踪 google 事件而不会给我的框架的托管应用程序带来麻烦吗?
ios - iOS 中对 Google Analytics SDK (v 3.10) 的 64 位支持
我有包含Google Analytics SDK v1的旧应用程序 ,我将更新我的应用程序以支持 64 位支持。
我已经用 Google Analytics SDK v3.10 替换了Google Analytics SDK v1,(我只更新了 iOS SDK 没有在我的分析工具的其他任何地方更新)
我已经更改了我的 appdelegate 类中的代码,例如
我的视图控制器 --> 视图确实出现了包含
我的分析中没有显示任何数据,我已经等了两天。
我创建了一个虚拟测试 Google Analytics 帐户 --> 移动应用程序 --> ios 应用程序,它给了我一个新 ID。
我已经在我的代码中替换了那个新的 id,现在它运行良好,在我的新虚拟测试 Google Analytics 帐户中显示数据,但不在我的旧 Google Analytics 帐户中。
有谁知道是什么导致了这个问题?
http - 测量协议 HTTP 批处理事件 POST 而不是每个事件的 POST?
我想将我的请求批量发送到 Google Analytics Measurement Protocol
POST /collect HTTP/1.1 主机:www.google-analytics.com
有效载荷数据
我正在使用 Unity 3D 进行开发,但主要是我很好奇是否有人有想法,这样我就可以减少来自客户端的 http 请求数量。
注意:我没有使用 Google 的 Analytics SDK for Unity 的计划。请不要建议。我想使用 Measurement Protocol API。谢谢,
注意:multipart/mixed 可能是一个很好的解决方案,但我怀疑 API 需要支持它。不确定是否是这种情况(至少没有记录)。
似乎这应该是一个普遍的问题。
google-analytics - 谷歌分析代理
我有一种特殊情况,网站访问者可以从某个域访问该页面,但不能从其他域访问该页面。所以 HTML 和 assets 只要存储在服务器上就没有问题。另一方面,谷歌分析需要从谷歌服务器下载analytics.js,这是不可能的。
所以我正在寻找一种代理方法。网络服务器本身可以访问互联网,并且可以中继流量。为了向 Google 报告我的页面浏览量,我们从 Google 下载了一个单像素 GIF,如下所述:https ://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview
我认为获取 GIF 中的所有参数并使用测量协议从服务器向 Google 报告会很容易——但难点是将所有这些信息都发送到服务器。下载analytics.js 并修改它以访问我自己的服务器,在我看来,这根本不是未来的证明。仅将当前页面从用户获取到服务器并不是什么大问题,但我们希望获取用户 ID、浏览器版本以及您通过 Analytics 获得的所有信息。
你会怎么做?你找到解决方案了吗?
java - 在 javascript 客户端和 java 服务器之间共享 Google Analytics ClientID
我一直在使用 Google Analytics 对我的网络应用程序进行基本分析 - 只是使用这样的 javascript 调用来跟踪页面印象:
这种方法总是让我感到沮丧,因为我无法可靠地捕获一些服务器端事件。我刚刚发现我可以使用 Measurement Protocol 在服务器端记录事件。在我的服务器上记录事件看起来很容易,除了 cid (clientid) 参数......
我的理解是,在浏览器上,我目前使用的 javascript 会随机创建 cid,然后存储在 _ga cookie 中。我也明白,我应该在客户端(“页面视图”)和服务器(其他事件)调用同一客户端之间共享该 clientid/cid 值,以便将它们关联在一起。
这个 StackOverflow 链接对我来说是一个有用的参考。
问题是:我应该
- 在服务端创建一个clientid,然后分享给客户端;或者
- 我应该让客户端上的 javascript 创建 clientid,然后尝试与我的服务器共享它吗?(我怀疑这是更好的答案)
对于(1),我认为我可以做的是:
- 在服务器上的会话中存储一个 UUID(这是谷歌应用引擎)
- 当我使用Measurement Protocol直接在服务器端创建事件时直接使用该UUID
当我使用 jsp 在页面上创建 ga 对象时使用相同的 UUID:
/li>
这种方法让我担心的是,ID 只会在服务器上的会话中持续存在。我认为clientId(cid)的意图是它在很长一段时间内为客户持续存在......所以我想我会忘记谁是新用户和老用户?
对于(2),坦率地说我不知道该怎么做......我从上面的 StackOverflow 链接知道我可以从 ga 对象中的 clientId 参数中获取 cid。我不知道如何将其发送回我的服务器(这可能是一个简单的 javascript 问题)。
肯定会感谢有关使用哪种方法的建议....谢谢!