Hadoop 谷歌分析-获取原始数据日志

Hadoop 谷歌分析-获取原始数据日志,hadoop,google-analytics,google-api,universal-analytics,raw-data,Hadoop,Google Analytics,Google Api,Universal Analytics,Raw Data,我有一个向谷歌分析发送数据的应用程序。我对在Hadoop集群上访问和存储这些数据感兴趣。我猜这些原始数据将以日志的形式出现。特别是,我希望看到用户的id、用户进行的搜索以及他/她决定在应用程序上付费的搜索选项 我该怎么做?我对GA是一个全新的人,我不是那个为GA应用程序设置GA的人。我只是想看看是否有一种方法可以访问这些原始数据 我想补充一点,我不能使用大查询,因为我们没有访问权限。建立GA的人对升级到Universal Analytics不感兴趣 非常感谢您的帮助/想法/建议。无法获取日志,但

我有一个向谷歌分析发送数据的应用程序。我对在Hadoop集群上访问和存储这些数据感兴趣。我猜这些原始数据将以日志的形式出现。特别是,我希望看到用户的id、用户进行的搜索以及他/她决定在应用程序上付费的搜索选项

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

我想补充一点,我不能使用大查询,因为我们没有访问权限。建立GA的人对升级到Universal Analytics不感兴趣


非常感谢您的帮助/想法/建议。

无法获取日志,但是

将允许您从系统中提取数据

您可以做的事情有一些限制:

  • 每个请求仅限于7个维度和10个度量
  • 每个配置文件(视图)每天也有10k个请求的配额
  • 您正在谈论的某些信息不可用。除非Google Analytics帐户设置正确
  • 数据仍将以某种方式聚合。API中可用的最小时间单位是分钟,因此您将无法获取带有时间戳的原始数据 值得注意的是,专业的Google Analytics客户可以将原始数据从GA导出到。从BigQuery导出数据是免费的,但存储和查询处理是根据使用情况定价的


    您可以使用Google Analytics API获取聚合数据,即您可以在Google Analytics帐户中看到的数据。要获取原始数据,您需要成为高级用户(每年花费约15万美元)。高级用户可以导出到Google BigQuery中,并从那里导出到您想要的任何地方。

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

    首先,您需要准备GA中的数据。 因此,在每次发送命中时,向自定义维度中添加一些哈希值或clientId+一些时间戳。 这将使您能够联接每个查询结果

    例如(我们在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>
    
    
    var BindingsDimensionIndex=此处的自定义维度索引;
    var版本=1;
    函数重写BuildTask(){
    var c=window[window['GoogleAnalyticsObject']| |'ga'];
    var d=c.getAll();
    if(console){console.log('Found'+d.length+'ga trackers')}
    对于(变量i=0;i

    当然,现在您需要制作一些脚本,将您从GA中获取的所有结果连接起来。

    因为我们应该回答原始问题,除了复制服务器呼叫系统之外,没有其他方法可以获得实际的原始Google分析日志

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

    长话短说,你希望你的网站捕捉到点击率 而不是

    这是很容易部署使用标签管理器,如谷歌的GTM,以及正常的谷歌分析标签

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


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

    这个答案与我的答案有什么不同?即使你编辑了你的帖子以复制我的帖子的一些信息(例如150k-请参阅你答案的编辑日志),它也不同。。。例如:不熟悉Google Analytics细节的读者不知道什么是“日志”,也就是说,如果它指的是原始事件数据或某种处理过的数据,例如过滤过的数据。我的回答很清楚,但你的回答却不清楚。使用Premium/360并不能让你访问原始数据,而仅仅是BigQuery中的数据转储,这些数据已经被处理。我真的不理解这个讨论,因为@activelearner没有GA Premium的资源。你为什么把它作为一个答案来呈现?当我试图提出替代方案,甚至是可行的解决方案时,我被否决了。与这里的所有内容相比,我实际上提出了一个解决方案,它与GA一样免费。其他人提出了带有巨大价格标签的商业解决方案,或者说不可能获得更细粒度的数据细节。有这样的工具(称为并行跟踪)这可以将网站上原始的点击率数据直接发送到BigQuery——不需要Google Analytics 360。如果你仍然需要访问原始的未采样GA(非高级)数据,你可以在下面看到我的答案——我不知道为什么有人投了反对票,但这可能是你的一种方式。更新:Scitylana现在提取“原始”或更准确地说是未聚合的