从Google Analytics获取所有数据

时间:2015-04-09 09:25:07

标签: php mysql api google-analytics google-analytics-api

我是谷歌分析的新手(1周前开始使用它),我试图将特定日期的所有数据拉出来并将其插入到mysql数据库中。我希望获得特定日期可用的所有内容。

$optParams = array( //OPTINAL SETTINGS
          'dimensions' => 'ga:campaign, ga:medium, ga:source, ga:adContent, ga:keyword', //A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'. (string)
          'metrics' => 'ga:adClicks, ga:adCost, ga:goalValueAll, ga:goal1Completions, ga:goal6Completions',
          'max-results' => 10000,
          'samplingLevel' => 'HIGHER_PRECISION'
          ); //The maximum number of entries to include in this feed. (integer)

       $requestedInfo = '';
       $requestedInfo .= 'ga:sessions';


$data = $analytics->data_ga->get('ga:XXXXX', '2015-04-07', '2015-04-07', $requestedInfo, $optParams);

在组合两个维度(主要维度,次要维度)时,此代码将比我在平台上获得的结果少得多。 我获得了数千条特定组合的记录,并且我的代码获得了600的范围。我想知道如何格式化我的查询以获得所有数据(所有可用的记录)然后对它进行排序然后我想要。

另外,我应该为每个广告系列创建一个不同的MySQL表格,媒体等,还是包含所有广告系列的一个就足够了?

1 个答案:

答案 0 :(得分:2)

需要注意的一些事项:

首先你aren't going to be able to get ALL of your data。每个配置文件ID(视图)每天限制为10000个api请求。最大行数为10000.即使它是一个小网站,您也很难获得所有数据,并且数据可能无法正确回复自身。

其次,即使您使用日期作为主键,返回的数据will not relate back to itself correctly也限制为8维,因为数据是根据您所做的初始请求计算的。

即使您将数据设置为higher_percission,第三个大查询 也会对数据进行采样。

您的问题:

至于为什么你的回报较少。我认为您应该尝试使用query explorer稍微处理您的请求。 ga:关键字如果未设置则在某些情况下不会返回任何内容。它的查询减少了行数。

您需要将Google Analytics数据视为multidimensional database而非关系数据库。它们是有区别的。

大查询

更好的方法是让Google extract your Data进入Big Query,这样您就可以随心所欲地使用它。 API的限制不适用于Big查询中的Google Analytics数据。这要求您拥有Premium Google Analytics account