如何每天进行cron更新来自Google Analytics(分析)的数千个页面的浏览量

时间:2018-12-01 12:09:40

标签: php google-analytics google-analytics-api google-analytics-v4 google-analytics-filters

我想知道每天执行cron来更新网站每一页的综合浏览量而不超出API限制的最佳方法是什么。该网站有数千个独特的页面。

我正在使用PHP和Google Analytics(分析)API,对所有用户进行循环并更新浏览量,但是这种方式太慢了,它将超出每日报价的限制。

一些改善技巧?

$analytics = initializeAnalytics();
$profile = getFirstProfileId($analytics);

$update = $db->prepare('UPDATE users SET user_views=? WHERE user_id=?');
foreach($db->query('SELECT * FROM user') as $user){
    $result = $analytics->data_ga->get('ga:' . $profile, '2016-01-01', 'today', 'ga:pageViews', array('filters' => 'ga:pagePath=@/' . $user['user_subdomain']));

    $views = $result[0][0] > 0 ? $result[0][0] : 0;
    $update->execute(array($views, $user['user_id']));
}

1 个答案:

答案 0 :(得分:1)

您可以跳过对用户页面路径过滤器的请求拆分,而是使用单个请求来获取所有页面路径的所有页面浏览量。 v4报告API允许通过一次响应最多获取10万行。因此,您可能只需要一个请求,即可按页面路径获取页面浏览量,然后遍历响应对象以查找包含单个用户数据的行