从 Google Analytics 获取所有数据
Get all data from Google Analytics
我是 Google 分析的新手(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 table 还是一个包含所有内容就足够了?
注意几点:
首先是你aren't going to be able to get ALL of your data
。每个个人资料 ID(视图)每天对 api 的请求限制为 10000 次。最大行数为 10000。即使它是一个小站点,您也很难获取所有数据,并且数据可能无法正确关联回自身。
其次,即使您将日期用作 returned will not relate back to itself correctly
的数据的主键,您也被限制为 8 个维度,因为数据是根据您提出的初始请求计算的.
第三大查询 将对数据进行采样,即使您将其设置为 higher_percission。
您的问题:
至于为什么您的 returning 结果少。我认为您应该尝试使用 query explorer 稍微处理一下您的请求。 ga:keyword 如果未设置,则在某些情况下它不会 return 任何东西。您的查询正在减少行数。
您需要将 Google 分析数据视为 multidimensional database
而不是关系数据库。它们是有区别的。
大查询
更好的方法是 Google extract your Data for you into Big Query this will allow you to do what ever you want with it. The limitations of the API do not apply to Google Analytics Data in Big query. This requires that you have a Premium Google Analytics account
我是 Google 分析的新手(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 table 还是一个包含所有内容就足够了?
注意几点:
首先是你aren't going to be able to get ALL of your data
。每个个人资料 ID(视图)每天对 api 的请求限制为 10000 次。最大行数为 10000。即使它是一个小站点,您也很难获取所有数据,并且数据可能无法正确关联回自身。
其次,即使您将日期用作 returned will not relate back to itself correctly
的数据的主键,您也被限制为 8 个维度,因为数据是根据您提出的初始请求计算的.
第三大查询 将对数据进行采样,即使您将其设置为 higher_percission。
您的问题:
至于为什么您的 returning 结果少。我认为您应该尝试使用 query explorer 稍微处理一下您的请求。 ga:keyword 如果未设置,则在某些情况下它不会 return 任何东西。您的查询正在减少行数。
您需要将 Google 分析数据视为 multidimensional database
而不是关系数据库。它们是有区别的。
大查询
更好的方法是 Google extract your Data for you into Big Query this will allow you to do what ever you want with it. The limitations of the API do not apply to Google Analytics Data in Big query. This requires that you have a Premium Google Analytics account