【Googleアナリティクス(GA4)】APIでデータを取得するPHPの例|ページビュー数など
今回は、Googleアナリティクス(GA4)を扱えるAPI(Google Analytics Data API)をPHPで利用して、データを取得する簡単な例となります。
例では、Google Cloudクライアントを利用してAPIリクエストを行うPHPスクリプトを、コマンドラインから実行して、Googleアナリティクスからページビュー数などを取得します。
Google Analytics Data APIを利用する準備
APIを有効にする
Google Analytics Data APIを利用するには、GCP(Google Cloud Platform)で有効にする必要があります。
APIを有効にする方法は、以下のリンク先を参考にしてみてください。
サービスアカウントを作成して認証情報をダンロード
GCPで有効にしたAPIを呼び出すには認証情報が必要となります。
認証情報の種類にはいくつかありますが、今回の例では、サービスアカウントを作成して認証情報(JSONファイル)をダウンロードしている前提となります。
サービスアカウントを作成して認証情報をダンロードする方法は、以下のリンク先を参考にしてみてください。
サービス アカウントの作成と管理 | IAM のドキュメント | Google Cloud
Googleアナリティクスのアクセス管理画面からサービスアカウントを追加
GoogleアナリティクスのプロパティのデータをAPIで扱うため、Googleアナリティクスのアクセス管理画面から、作成したサービスアカウントをユーザとして追加します。
Googleアナリティクスのアクセス管理画面から、ユーザを追加する方法は、以下のリンク先を参考にしてみてください。
プロパティIDを確認
サービスアカウントをユーザとして追加したプロパティを、APIで扱うにはプロパティIDが必要となります。
GoogleアナリティクスのプロパティIDを確認する方法は、以下のリンク先を参考にしてみてください。
Google CloudクライアントをComposerでインストール
まずは、プロジェクトのフォルダを作成します。
そして、ComposerでGoogle Cloudクライアントをインストールするため、プロジェクトのルートディレクトリにcdコマンドで移動し、以下のコマンドを実行します。
また、今回はGoogle CloudクライアントのGoogleアナリティクスに関するコンポーネントだけをインストールしています。
composer require google/analytics-data
PHPライブラリの依存関係を管理するComposerをMacで利用する方法については、以下のリンク先を参考にしてみてください。
Google Analytics Data APIの利用例
今回の例では、プロジェクトのルートディレクトリにPHPファイルを作成し、以下のソースコードを記述します。
コード内の10行目の/XXXXXXXXXXXX.jsonの箇所にはダウンロードした認証情報へのパスを指定し、12行目のXXXXXXには確認したGoogleアナリティクスのプロパティIDを指定します。
作成するスクリプトは、Google Analytics Data APIを利用して、スクリプトを実行した日から10日前までのページ毎のページビュー数・ページパスを、上位10件出力します。
<?php
require 'vendor/autoload.php';
// 利用するクラスをインポート
use Google\Analytics\Data\V1beta\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
// 環境変数GOOGLE_APPLICATION_CREDENTIALSを設定(認証情報へのパスを指定)
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/XXXXXXXXXXXX.json');
// プロパティIDを指定
$property_id = 'XXXXXX';
// Googleアナリティクスのデータを取得するAPIリクエスト
$client = new BetaAnalyticsDataClient();
$response = $client->runReport([
'property' => 'properties/' . $property_id,
'limit' => 10,
'dateRanges' => [
new DateRange([
'start_date' => '10daysAgo',
'end_date' => 'today',
]),
],
'dimensions' => [
new Dimension([
'name' => 'pagePath',
]),
],
'metrics' => [
new Metric([
'name' => 'screenPageViews',
])
]
]);
// APIのレスポンスデータから出力
foreach ($response->getRows() as $row) {
print $row->getDimensionValues()[0]->getValue() . PHP_EOL;
print $row->getMetricValues()[0]->getValue() . PHP_EOL;
}
上記のように、データを取得するAPI リクエストには、Googleアナリティクスのディメンションや指標(Metrics)などを指定する必要があります。詳しくは文末の参考サイトを確認してみてください。
また、コマンドラインから作成したファイルを実行するには、ファイルのあるディレクトリに移動して、次のコマンドを実行します。
php ファイル名
以上が、Google Analytics Data APIを利用して、Googleアナリティクスのデータを取得する例となります。