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;
        }
    }

良い数値が返されるようになりました。Google アナリティクスによるパーセンテージは良好ですが、不正確です。これにより、[191, 336, 74] が得られ、GA は [197, 341, 79) を返します。

4

1 に答える 1

3

ここに 2 つの問題があります。

  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 に答える