Google Analytics - 获取原始数据日志

时间:2014-10-22 18:57:14

标签: hadoop google-analytics google-api universal-analytics raw-data

我有一个将数据发送到Google Analytics的应用。我有兴趣在Hadoop集群上访问和存储这些数据。我猜这个原始数据将以日志的形式出现。特别是,我希望看到user_id,用户进行的搜索以及他/她决定在应用上支付的搜索选项。

我该怎么做?我是GA的新手,我不是那个为应用程序设置GA的人。我只是想看看是否有办法可以访问这些原始数据。

我想补充说我无法使用Big Query,因为我们无法访问它。设置GA的人对升级到Universal Analytics不感兴趣。

任何帮助/想法/建议表示赞赏。

谢谢!

4 个答案:

答案 0 :(得分:15)

无法获取日志,但是..

Google Analytics API可让您从系统中提取数据。

您可以做的事情有限:

  1. 每个请求限制为7个维度和10个指标。
  2. 每个配置文件(视图)每天还有10k个请求的配额。
  3. 您所谈论的部分信息无法使用。除非Google Analytics帐户设置正确。
  4. 数据仍将以这种或那种方式聚合。 API中可用的最小时间单位是分钟,因此您将无法获得带有时间戳的原始数据。
  5. 值得注意的是,专业的Google Analytics客户可以将原始数据从GA导出到Big Query。从BigQuery导出数据是免费的,但存储和查询处理的价格取决于使用情况。

    Premium analytics at a reasonable price for one flat annual fee of $150,000

答案 1 :(得分:3)

因为我们应该回答原始问题,除了复制服务器调用系统之外,无法获得实际的原始Google Analytics日志。

换句话说,您需要使用analytics.js脚本的修改副本指向可以收集服务器调用的托管Web服务器。

长话短说,您希望您的网站能够捕获点击数 http://www.yourdatacollectionserver.com/collect?v=1&t=pageview[...] 代替 http://www.google-analytics.com/collect?v=1&t=pageview[...]

使用Google GTM等代码管理器以及常规Google Analytics代码轻松部署此功能。

这将有效地在您的Web服务器中创建日志条目,您可以使用ETL或Snowplow或Splunk或您喜欢的Python / perl / Ruby文本解析引擎进行处理。

然后由您将实际原始日志处理为可管理的内容。在你问之前,这不具追溯力。

答案 2 :(得分:1)

您可以获得汇总数据,即。您可以使用Google AnalyticsAPI在Google Analytics帐户中查看的数据。要获取原始数据,您需要成为高级用户(每年成本约为150,000)。高级用户可以导出到Google BigQuery,然后从那里导出到任何您想要的地方。

答案 3 :(得分:0)

要通过点击点击获取GA数据,您可以通过一种方式进行查询,使您能够将数据连接在一起。

首先,您需要在GA中准备数据。 因此,对于您发送的每个匹配,将一些散列值或clientId +一些时间戳添加到自定义维度中。 这将使您能够加入每个查询结果。

E.g。 (这就是我们在Scitylana的表现) 下面的这个脚本挂钩到GA的跟踪脚本,并确保每个命中包含一个键,以便以后拼接查询结果

<script>
var BindingsDimensionIndex = CUSTOM DIMENSION INDEX HERE;
var Version = 1;

function overrideBuildTask() {
    var c = window[window['GoogleAnalyticsObject'] || 'ga'];
    var d = c.getAll();
    if (console) { console.log('Found ' + d.length + ' ga trackers') }
    for (var i = 0; i < d.length; i++) {
        var e = d[i]; var f = e.get('name');
        if (console) { console.log(f + ' modified') }
        var g = e.get('buildHitTask');
        if (!e.buildHitTaskIsModified) {
            e.set('buildHitTask', function(a) {
            window['_sc_order'] = typeof window['_sc_order'] == 'undefined' ? 0 : window['_sc_order'] + 1;
                var b = ['sl=' + Version, 'u=' + e.get('clientId'), 't=' + (new Date().getTime() + window['_sc_order'])].join('&');
                a.set('dimension' + BindingsDimensionIndex, b);
                g(a);
                if (console) {
                    console.log(f + '.' + a.get('hitType') + '.set.customDimension' + BindingsDimensionIndex + ' = ' + b)
                }
            });
            e.buildHitTaskIsModified = true
        }
    }
}
window.ga = window.ga || function() {
    (ga.q = ga.q || []).push(arguments);
    if (arguments[0] === 'create') { ga(overrideBuildTask) }
};
ga.l = +new Date();

</script>

当然,现在你需要制作一些加入你从GA中获取的所有结果的脚本。