Google Analytics APIの利用方法

Google Analytics APIについて、パソコン上でPythonなどのプログラミング言語を使用してウェブ上のAnalyticsのデータにアクセスする方法をご紹介します。

「Reporting API」と「Data API」の違い

Google Analytics APIには、主に旧UA版で利用する「Reporting API」とGA4版の「Data API」があります。

  • Reporting API → UA版
  • Data API → GA4版

Google Analytics API

旧UA版のデータは2024年7月1日に完全に削除されるため、おそらくは使用できなくなるはずですが、今後は主にGA4版の「Data API」を利用することになると思います。もし旧UA版のデータが削除される前にダウンロードする際には、「Reporting API v4」を利用するとよいでしょう。

「サービスアカウント」と「0Auth」の認証方法の違い

認証方法については、「サービスアカウント」や「0Auth」があります。

認証方法の種類

サービスアカウント」については、環境変数の設定が面倒なものの、1つのJsonファイルで「Reporting API」と「Data API」の両方とも兼用で使うこともできます。もし環境変数の設定がうまくいかない場合でも、PythonのコードにJSONファイルの場所を明示的に指定することで認証することができます。できるだけ、サービスアカウントで設定することをおすすめします。

「クライアントライブラリ」と「コマンドライン」の違い

クライアントライブラリ」は、PythonなどのプログラムとAnalyticsなどを仲介するライブラリのことです。UA版には「google-api-python-client」があり、GA4版には「google-analytics-data」があります。

venvで仮想環境を作成し、アクティベートした上で、UA版とGA4版をそれぞれ別々にインストールして管理するとよいでしょう。

一方、「コマンドライン」については、SDKをインストールしてスクリプトで使用するものです。Pythonなどのプログラミング言語を使用する場合は、クライアントライブラリを使用することをおすすめします。

「Admin API」と「Data API」の違い

「Admin API」と「Data API」がありますが、Analyticsのデータを作成する際には「Data API」だけでもよいかと思います。

「環境変数による認証」と「明示的な認証」の違い

Data APIを使用する場合、パソコンに上記サービスアカウントのJSONファイルをダウンロードして環境変数を設定し、自動で認証するように設定するとセキュリティが高くなります。ただし、仮想環境をアクティベートするたびに環境変数を再設定する必要があるので、多少は手間がかかるかもしれません。

一方、UA版のReporting APIのように、環境変数を設定しない場合でも、コード内に明示的にJSONファイルへのパスを直接記載して認証することができます。

Google Analytics APIを設定する際の手順

具体的な設定手順については、公式サイトのData API v1 への移行ガイドなどを参考にして設定していくとよいでしょう。

①Google Cloud上でアナリティクスAPIのプロジェクトを作成

まずは、ウェブ上でGoogle Cloudのアカウントを作成してAPIを有効にします。

APIを有効

②サービスアカウント認証情報のJSONファイルをダウンロード

上記の公式サイトのクイックガイドでは、APIを自動で設定してくれるボタンが用意されています。ただし、コードの中身を確認して文字化けしている場合には、Google Cloudから直接ダウンロードすることをおすすめします。

直接作成する場合、まずはサービスアカウントをプロジェクトに作成します。

サービスアカウントの作成

次に、「キー」の箇所から「鍵を追加」してJSONタイプの認証鍵をパソコンにダウンロードします。

jsonファイルのダウンロード

このJSONファイルの中身をテキストエディタなどで閲覧して、メールアドレスの部分を控えておきます。このメールアドレスはAnalyticsの管理画面で使用します。

サービスアカウントのメールアドレス

jsonのファイル名についても覚えやすいものに変更しておきましょう。

③Google Analyticsでユーザーを追加

上記のメールアドレスを使用し、Analyticsの管理画面にて「管理」→「プロパティのアクセス管理」からサービスアカウントのメールアドレスを「閲覧者」で追加します。

サービスアカウントを追加

複数のサイトを管理している場合、サイトごとに設定するのは面倒なため、プロパティではなく、「アカウントのアクセス管理」に追加するとよいかもしれません。この場合でも「閲覧者」にて登録するようにしましょう。

加えて、「プロパティの詳細」にてプロパティIDを確認しておきます。

プロパティIDの箇所

旧UA版の場合については、「ビューの設定」の箇所からビューIDを確認しておきます。

③パソコン上で認証情報の環境変数を設定

Data APIの場合、サービスアカウントでダウンロードしたJSONファイルのパスを確認し、KEY_PATHの箇所に設定します。Windowsの場合、コマンドブロンプトにて以下のように入力すると設定できます。

set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH

正常に設定されているかを確認するには、以下のコードを実行します。

echo %GOOGLE_APPLICATION_CREDENTIALS%

実行した結果、パスが表示されれば問題ありません。

これは、仮想環境をactivateするたびに設定する必要があるので、どこかにメモしておくとよいでしょう。

これでパソコン側で自動で認証されますが、もしこの環境設定がうまく行かない場合、以下のようにコード内にJSONファイルのパスを直接記載することもできます。

client = BetaAnalyticsDataClient.from_service_account_json(credentials_json_path)

ただし、このようにコード内に直接パスを記載することは、セキュリティ上は好ましくないので、できるだけ環境変数を設定することをおすすめします。

ちなみに、UA版のReporting APIでも同じJSONファイルを兼用できます。

SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'

UA版については、コードにJSONファイルのパスを直接記載する形になるので、環境変数の設定は必要ありません。詳細については、公式サイトの「サービスアカウント向け」クイックスタートのサンプルコードなどを参考にするとよいでしょう。

④パソコン上で「クライアントライブラリ」をインストール

まずはvenvで仮想環境を作成します。

py -m venv <your-env>

仮想環境を作成することで通常の環境とは隔離されるため、他のシステムへの影響なしに作業できるメリットがあります。

pyはpythonと同じ意味で、-mはモジュール、venvは「Virtual Environment」で仮想環境の意味です。<your-env>は任意の仮想環境の名前を指定しましょう。

例えば、sampleでデスクトップに仮想環境を作成した場合、以下のようになります。

sampleの仮想環境

中身を見てみますと、Scriptsフォルダ内にactivateなどのファイルが入っていますが、作成した仮想環境をこの「activate」で有効化します。

.\<your-env>\Scripts\activate

cdで1つづつ移動して実行しても同じ意味です。

仮想環境を有効化

アクティベートで有効化したら、(sample) C:\Users\などの括弧付きに変わると思います。そちらにpipでapiのライブラリをインストールします。

pip install google-analytics-data

あとは、サンプルコードなどを使用して.pyファイルを作成し、そのファイルを実行するだけです。

⑤サンプルコードを実行

公式サイトのサンプルコードは最後の方が抜けてましたので、GitHUBの方で完全なコードを利用することをおすすめします。

実行すると、以下のようなデータが表示されるはずです。

サンプルコードを実行

これらの結果については、メモ帳などに出力することもできます。ChatGPTなどの生成AIを使用すれば、うまい具合に書いてくれるはずです。すべて終了する場合は「deactivate」と入力して非アクティブ化します。

再度、使用する際には、環境変数の設定も再度必要になるので注意しましょう。