0

(Cake)PHP for Google AnalyticsでカスタムAPIクエリを作成しようとしています。このクエリは、(潜在的に多くの)ページのグループの過去12か月のページビューを取得します。

これが私がこれまでに得たものです:

$metrics = "ga:pageviews";

$params = array(
    'dimensions'=>'ga:date',
    'filters'=>'ga:pagePath==/enquires/add/200,ga:pagePath==/enquires/add/201',
    'sort'=>'ga:date',
    'max-results'=>366
);

$startDate = date('Y-m-d', time()-60*60*24*365);
$endDate = date('Y-m-d', time());

$data = $this->service->data_ga->get('ga:' . $profileId, $startDate, $endDate, $metrics, $params);

...これはいくつかのpagePathフィルターで機能しますが、残念ながら、必要なページだけをフィルター処理するために使用しているフィルターパラメーターは最大128文字に制限されています。

レポートで使用したいURLがたくさんある場合(たとえば50ですが、それ以上になる可能性があります)、Googleアナリティクスでそれらをフィルタリングするにはどうすればよいですか?

正規表現を考え出そうとしましたが、それでも長すぎます。

すべてのページ(または正規表現/ enquires / add / *)を要求してから、探しているページを除外することを考えましたが、それは間違ったやり方のように感じます。

フィルタの長いリストをGoogleAnalyticsAPIに渡すにはどうすればよいですか?または別の方法はありますか?

(ところで、これはプロパティのWebサイト用であり、これらのレポートはプロパティの所有者がプロパティが表示された頻度を確認するためのものであるため、プロパティページのURLのみに制限する必要があります)

4

1 に答える 1

1

私はGoogleAnalyticsAPIにあまり詳しくありませんが、そのAPIが機能しない場合は、これがあなたの問題に対する私のアプローチになります。

  • プロパティの所有者の数が「制限されている」場合、最も簡単な解決策は、アクセスできる必要があるGoogleアナリティクスアセットにユーザーとして追加することです。プログラミングはまったく必要ありません。
  • たぶん、あなたはあなたのグーグルアナリティクス資産がレイアウトされる方法を再考するべきです。たとえば、プロパティの所有者ごとに一意の追跡コードを作成して、フィルタリングを効果的に取り除くことができます。

これらのアプローチがうまくいかない場合は、利用可能なすべてのデータを取得し、出力を生成するのに最適な形式でローカルに保存してから、そのローカルデータセットをフィルタリングします。作成する複雑さに応じて、インポートと前処理/フィルタリングを容易にするETLツールを確認できます。

于 2012-11-27T17:32:39.567 に答える