0

这就是我使用 GAPI 的方式:

    $ga->requestReportData('van tatán tó?', array('date','medium'),array('visits'), null, null, null,null, 1, 60000);
    foreach ($ga->getResults() as $result)
    {
        switch ($result->getMedium())
        {
            case 'referral' : $visitTypes['referral'] = $visitTypes['referral'] + $result->getVisits(); break;
            case '(none)'   : $visitTypes['direct']   = $visitTypes['direct'] + $result->getVisits(); break;
            case 'organic'  : $visitTypes['organic']  = $visitTypes['organic'] + $result->getVisits(); break;
        }
    }

现在它返回了很好的数字,根据谷歌分析的百分比很好 - 但它不精确。有了这个,我得到 [191, 336, 74] 而 GA 返回 [197, 341, 79)。

4

1 回答 1

3

我在这里看到两个问题:

  1. “max_results”不能大于 1000,因此您可能没有收到所有记录。(还有一个地方写着 10 000,但我再也找不到链接了)。您的限制是 60 000,但您仍然没有超过允许的最大值。您可能需要多个请求才能提取所有记录。 http://code.google.com/p/gapi-google-analytics-php-interface/wiki/GAPIDocumentation

  2. 您正在使用 2 个维度:“日期”和“中”,这可能会产生很多结果(参见上面的第 1 点)。我没有看到正在使用的“日期”维度。

例如,为了检索自然访问,我使用了:

$dimensions = array('medium');
$metrics    = array('visits');
$filters    = 'medium==organic';
$ga->requestReportData('my_profile_id',$dimensions,$metrics,'',$filters,$startDate = 'some_start_date',$endDate = 'some_end_date',$start_index=1,$max_results=1);
echo $ga->getVisits();

我使用 $ga->getVisits() 因为它检索总数,我不必遍历所有结果并对它们进行排序。

用您自己的值替换“my_profile_id”、“some_start_date”和“some_end_date”。

我希望这有帮助

于 2012-06-01T15:23:30.400 回答