如何将测量协议用于桌面应用程序

时间:2016-01-06 06:32:39

标签: ajax google-analytics measurement-protocol

我所尝试的是,

[使用POST]

jQuery.support.cors = true;

$.ajax({
    url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456",
    type : 'POST',
    cache : false,
    dataType : 'json',
    success:function(data) {
        alert("Success: " + JSON.stringify(data));
    },
    error: function(data) {
        alert("Failure: " + JSON.stringify(data));
    }
});

或[与GET]

jQuery.support.cors = true;

$.ajax({
    url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456",
    dataType : 'json',
    success:function(data) {
        alert("Success: " + JSON.stringify(data));
    },
    error: function(data) {
        alert("Failure: " + JSON.stringify(data));
    }
});

点击按钮我添加了此代码。

我正在获得状态200但是,在谷歌分析报告[实时数据]中它显示没有活跃用户。如果我检查前几天的报告,它会显示一些用户会话数。

3 个答案:

答案 0 :(得分:3)

测量协议处理事件的方式似乎存在错误。我在此创建了一个问题:Issue 848: Events not showing up on Real-time reports

您不发送应用程序变量,数据将不会显示在实时报告中。一旦您发送请求,它们会再次弹出,但如果您发送另一个没有它的事件,则会松开它们。此时不是文档需要应用程序变量。此外,您的请求的调试将返回有效的命中数据。

Map

解决方案/解决方法:

将以下项添加到您的请求中以解决问题。此时再次没有记录它们是必需的。但是我的测试显示,当您发送这些内容时,所有内容都会在实时报告中再次正确显示。

https://www.google-analytics.com/debug/collect?v=1&tid=UA-xxxxx-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456

{
  "hitParsingResult": [ {
    "valid": true,
    "parserMessage": [ ],
    "hit": "/debug/collect?v=1\u0026tid=UA-xxxxx-1\u0026cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4\u0026t=event\u0026ec=UX\u0026ea=click\u0026z=123456"
  } ],
  "parserMessage": [ {
    "messageType": "INFO",
    "description": "Found 1 hit in the request."
  } ]
}

答案 1 :(得分:0)

我认为这不是技术问题,而是数据兼容性问题。 您使用的CID似乎不适合cid的GA结构,即 [10位] [点] [10位] ,即 1234567890.1234567890 尝试强制使用其他ID来检查我的解决方案。

答案 2 :(得分:0)

你有什么可能的问题:

  1. 希望" UA-XXXXXXXX-1" - 它仅用于代码示例,您正在使用" real"代码中的GA ID。
  2. 关于ClientID:在GA docs中,您可能会看到类似于' 35009a79-1a05-49d7-b876-2b884d0f825b'的ClientID。但是,此ClientID应该与访问过您网站的网站用户的某些ClientID相匹配。如果没有特定设置,GA将不会生成类似于' 35009a79-1a05-49d7-b876-2b884d0f825b'的ClientID,因为GA会自动生成格式为XXXXXXXXXX.XXXXXXXXXX的ClientID,如" 1068584379.1447331221"。
  3. 如何手动查找ClientID:查找" _ga" cookie为您的网站,它应该看起来像" GA1.2.1068584379.1447331221"。此Cookie中的ClientID为 1068584379.1447331221

    如何在JS-srcipt中获取此参数:

    ga(function(tracker) {
      var clientId = tracker.get('clientId');
    });
    

    请记住,ClientID标识每个唯一用户(浏览器),并将测量协议发送的用户数据与客户端(GA js库)收集的用户数据联系起来。因此,在GA报告中查看数据(由Measurement Protocol发送)比使用" real"对于过去访问过网站的用户的ClientID。