【问题标题】:How to get unsampled data from Google Analytics API - even for one day?如何从 Google Analytics API 获取非抽样数据 - 即使是一天?
【发布时间】:2014-02-09 23:26:17
【问题描述】:

我正在尝试从 Google Analytics API 获取非抽样数据,但由于某种原因,它总是抽样出来。即使我只选择一天只过滤一页。这是我在 Google 的 Query Explorer 上尝试过的:

我需要做些什么来克服这个问题?另外,有没有办法查看采样了多少数据(无需登录 Google Analytics 页面...)?

【问题讨论】:

    标签: google-analytics google-api google-analytics-api sample-data


    【解决方案1】:

    在您的查询中,您需要提供sampiling level

    samplingLevel=DEFAULT Optional.
      Use this parameter to set the sampling level (i.e. the number of visits used to 
      calculate the result) for a reporting query. The allowed values are consistent with
      the web interface and include: 
           •DEFAULT — Returns response with a sample size that balances speed and accuracy. 
           •FASTER — Returns a fast response with a smaller sample size. 
           •HIGHER_PRECISION — Returns a more accurate response using a large sample size, 
             but this may result in the response being slower. 
    
    If not supplied, the DEFAULT sampling level will be used.
    

    您尚未说明您使用的是哪种语言,因此您必须检查库中的该语言并弄清楚如何发送它。


    更新:尝试帮助编写代码。我没有对此进行测试,但我猜你会将它添加为可选参数。让我知道它是否不起作用,我会看看我是否可以让它起作用。

    $optParams = array(
        'dimensions' => 'ga:dateHour,ga:hour', 
        'filters' => 'ga:pagePath=~'.$pagelink.'*', 
        'max-results' => 1, 
        'sort' => 'ga:dateHour',
        'samplingLevel' => 'HIGHER_PRECISION' );
    
    
    $results_starttime = $connect->data_ga->get( 'ga:' . $signedupuser["google id"],
    $startdate_analysed, 
    $enddate_analysed, 
    'ga:uniquePageviews', $optParams );
    

    更新 2:确保您从 GitHub google/google-api-php-client 下载了库,我检查了该库,并且 Analytics.php 从那里下载了支持采样级别的代码。


    更新 3 您从上面的 GitHub 检查链接获取旧版本的库。 google-api-php-client

    状态:

    下一个主要版本 (1.0.1-beta) 的 beta 版本 库可用,请尽可能迁移。较新的版本 发布在 GitHub 上。所有新的开发和问题跟踪都将 发生在 Github 上。

    【讨论】:

    • 很好,你在哪里添加它?这是我的代码: $results_starttime = $connect->data_ga->get( 'ga:' . $signedupuser["google id"], $startdate_analysed, $enddate_analysed, 'ga:uniquePageviews', 'samplingLevel=HIGHER_PRECISION', array ( 'dimensions' => 'ga:dateHour,ga:hour', 'filters' => 'ga:pagePath=~'.$pagelink.'*', 'max-results' => 1, 'sort' => 'ga:dateHour' ) );
    • 检查编辑我认为它可能是一个可选参数。
    • 不,这行不通。我添加了可选参数,但收到此错误消息:致命错误:未捕获的异常 'Google_Exception' 带有消息'(get)未知参数:'samplingLevel'
    • 你从哪里下载的库? github.com/google/google-api-php-client
    • 阅读您刚刚链接的页面上的状态。从 GitHub 获取最新版本。
    【解决方案2】:

    您是否偶然超过了daily limits (500,000 visits) 进行采样?如果是这样,获取非抽样数据在技术上是不可能的。

    否则,请参阅this answer 了解非常相似的问题。

    【讨论】:

    • 嗯,整个网站的每日访问量确实超过了 500,000,但是,我只跟踪网站内的单个页面,每天访问量约为 30,000。这仍然是个问题吗?如果是,我该如何克服?
    • 我经常使用 API 来选择数百万行而不对数据进行采样。通过添加 samplingLevel=HIGHER_PRECISION 生成的 json 表明数据尚未被采样。所以我不确定你所说的不可能是什么意思。
    • DaImTo - 我也这样做,但如果您运行的查询将返回超过 500,000 次访问;除非您有幸使用高级版,否则将对数据进行采样:support.google.com/analytics/answer/1042498?hl=en
    • 至于higher_precision 属性——就像在Google Analytics 网络界面中拖动滑块一样。它允许您从 500,000 次访问中获取数据。 CoreReporting API 也有同样的限制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多