Googleサービスアカウントの設定

Googleサービスアカウントを作成し、Search ConsoleとAnalytics APIを有効化し、JSONキーを1MarketingToolに接続します。

1MarketingToolで個人のGoogleアカウントを経由せずにSearch ConsoleとGA4のデータを読み取りたい場合は、Googleサービスアカウントを使用します。

クイックCloud Shellフローを選択するか、手動でGoogle Cloud Consoleの手順に従ってください。

Cloud Shellでクイックセットアップ

Open Cloud Shell

Cloud Shellはブラウザ内で実行され、すでにGoogleアカウントにサインインされています。Cloud Shellを開き、スクリプトを貼り付けてEnterキーを押すと、完了時にkey.jsonがダウンロードされます。その後、1MarketingToolの「JSONをインポート」を使用してダウンロードしたキーを読み込み、保存してください。

set -e
PROJECT_ID=$(gcloud config get-value project 2>/dev/null)
if [ -z "$PROJECT_ID" ]; then
  PROJECT_ID="marketing-tool-$RANDOM$RANDOM"
  gcloud projects create "$PROJECT_ID" --set-as-default
fi
gcloud services enable iam.googleapis.com searchconsole.googleapis.com analyticsadmin.googleapis.com \
  analyticsdata.googleapis.com indexing.googleapis.com --project "$PROJECT_ID"
SA_EMAIL="marketing-tool@$PROJECT_ID.iam.gserviceaccount.com"
gcloud iam service-accounts create marketing-tool --display-name "1MarketingTool" --project "$PROJECT_ID" || true
echo "Waiting for the service account to be ready..."
for i in $(seq 1 30); do
  gcloud iam service-accounts describe "$SA_EMAIL" --project "$PROJECT_ID" >/dev/null 2>&1 && break
  sleep 2
done
rm -f key.json
gcloud iam service-accounts keys create key.json --iam-account "$SA_EMAIL" --project "$PROJECT_ID"
cloudshell download key.json
echo "Grant read access in Search Console and GA4 to: $SA_EMAIL"

注意事項

  • Search ConsoleまたはGA4のデータがすぐに表示されない場合は、少し待ってから再試行してください。Googleの権限が反映されるまでに数分かかることがあります。
  • 1つのサービスアカウントを必要な数のSearch ConsoleとGA4プロパティに追加し、1MarketingTool内でプロジェクトごとにマッピングできます。
  • Google CloudでJSONキーをローテーションまたは削除した場合は、アプリで新しいキーをインポートしてください。
  • JSONキーは安全に保管し、ソース管理にコミットしないでください。