GA4
このスキルは、Google Analytics Data APIを通じたGoogle Analytics 4レポート(セッション、キーイベント、収益、トラフィックソースの内訳、ランディングページの内訳、時系列クエリ、アドホックなアナリスト読み取り、ダッシュボード、スケジュールレポート、ETL、モニタリング)に使用します。
スコープ
- 設定されたプロパティに対してGA4
runReportリクエストを実行 - 一般的な英語のアナリストリクエストを、レビュー可能なData APIペイロードに変換
- 実行前にGA4リクエストJSONをレビュー
- トラフィックソース、チャネルグループ、ランディングページ、日次トレンド、収益、セッション、ユーザー、キーイベントレポートを作成
- 同じゲートウェイベアラーハンドル契約を通じて、委任ユーザーOAuthとサービスアカウント認証の両方をサポート
- 認証モードの選択をテナント/ランタイム設定に保持し、プロンプトロジックには含めない
- 通常のHybridClaw
UsageTotalsを通じてスキル実行コストを測定
デフォルトのワークフロー
- ユーザーがGA4 Data APIリクエストJSONを既に提供している場合を除き、自然言語リクエストは
report-planから開始します。 - 生成された、またはユーザーが提供したリクエストJSONを、実際の呼び出しの前に
review-requestでレビューします。 - HybridClaw内での実際のGA4 API呼び出しには、可能な場合は
http_requestを直接使用します。ヘルパーから出力されたhttpRequestオブジェクトをツールに渡します。 - オフラインでの計画/レビュー、および
http_requestが利用できない場合のゲートウェイプロキシ実行には、ヘルパーを使用します:python3 skills/ga4/scripts/ga4.py ... - このスキルのすべてのGA4操作は読み取り専用として扱います。Admin APIの変更、プロパティアクセスの変更、キーイベントの変更、タグの変更を行わないでください。
認証契約
このスキルは、モデルにトークンや秘密鍵を公開せずに2つの認証モードをサポートします:
- ベアラーシークレットハンドルによる委任ユーザーOAuth
- ゲートウェイを介したGoogleサービスアカウントJWTベアラー交換
テナント設定でどのモードを使用するか決定します。
デフォルトの委任ユーザーOAuthハンドル:
hybridclaw auth login google \
--client-id "<google-oauth-client-id>" \
--client-secret "<google-oauth-client-secret>" \
--account [email protected] \
--scopes "https://www.googleapis.com/auth/analytics.readonly"
hybridclaw auth status google
委任OAuthでは、デフォルトの bearerSecretName: "GOOGLE_WORKSPACE_CLI_TOKEN" または google-oauth URL認証ルートを使用します。
サービスアカウント自動化では、サービスアカウントの client_email とPEM private_key を暗号化されたランタイムシークレットとして保存します。ゲートウェイはこれらの名前付きシークレットを読み取り、JWTアサーションにサーバーサイドで署名し、短期間有効なGoogleアクセストークンと交換し、そのトークンをGA4リクエストに注入します。
これらのシークレットを以下の順序で設定または更新します:
- ブラウザ管理者:アクティブなHybridClaw管理者URL(
/admin/secretsで終わるもの)を開きます。 - ブラウザ
/chatまたはTUIフォールバック:/secret set GA4_SERVICE_ACCOUNT_EMAIL "<client-email>"および/secret set GA4_SERVICE_ACCOUNT_PRIVATE_KEY "<pem-private-key>"。 - ローカルコンソールフォールバック:
hybridclaw secret set GA4_SERVICE_ACCOUNT_EMAIL "<client-email>"
hybridclaw secret set GA4_SERVICE_ACCOUNT_PRIVATE_KEY '<pem-private-key>'
OAuthアクセストークン、リフレッシュトークン、サービスアカウント秘密鍵、ダウンロードしたJSONキーファイルをプロンプトに貼り付けないでください。実際の認証情報はHybridClawシークレットランタイムに保持され、ゲートウェイによってサーバーサイドで使用されます。
オプションの保存デフォルトも同じ設定順序を使用します:ブラウザ管理者の /admin/secrets、次にブラウザ /chat またはTUIでの /secret set、最後にローカルコンソールフォールバック。
hybridclaw secret set GA4_PROPERTY_ID "<numeric-property-id>"
hybridclaw secret set GA4_BEARER_SECRET_NAME "GOOGLE_WORKSPACE_CLI_TOKEN"
無人サービスアカウントジョブの場合は、テナントランタイムに環境デフォルトを設定します:
GA4_SERVICE_ACCOUNT_EMAIL_SECRET=GA4_SERVICE_ACCOUNT_EMAIL
GA4_SERVICE_ACCOUNT_PRIVATE_KEY_SECRET=GA4_SERVICE_ACCOUNT_PRIVATE_KEY
コマンド契約
自然言語からレポートを計画:
python3 skills/ga4/scripts/ga4.py --format json report-plan \
"先週のオーガニックコンバージョンと前週の比較を表示"
計画済みまたは手書きのリクエスト用に http_request ペイロードを作成:
python3 skills/ga4/scripts/ga4.py --format json http-request 123456789 \
--request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"dimensions":[{"name":"date"}],"metrics":[{"name":"sessions"}],"limit":25}'
ゲートウェイヘルパーパスを介してレポートを実行:
python3 skills/ga4/scripts/ga4.py --format json run-report 123456789 \
--request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"metrics":[{"name":"sessions"}]}'
保存されたサービスアカウントシークレット名を選択してサービスアカウント認証を使用:
python3 skills/ga4/scripts/ga4.py --format json http-request 123456789 \
--google-service-account-email-secret GA4_SERVICE_ACCOUNT_EMAIL \
--google-service-account-private-key-secret GA4_SERVICE_ACCOUNT_PRIVATE_KEY \
--request-json '{"dateRanges":[{"startDate":"7daysAgo","endDate":"yesterday"}],"metrics":[{"name":"sessions"}]}'
リクエストJSONをオフラインでレビュー:
python3 skills/ga4/scripts/ga4.py --format json review-request \
'{"dateRanges":[{"startDate":"30daysAgo","endDate":"yesterday"}],"dimensions":[{"name":"landingPagePlusQueryString"}],"metrics":[{"name":"sessions"},{"name":"totalRevenue"}],"limit":25}'
アナリストクエリのプロンプトテンプレートペイロードを出力:
python3 skills/ga4/scripts/ga4.py --format json prompt-template \
"過去30日間の日次セッションと収益"
バンドルされた評価スイートを実行:
python3 skills/ga4/scripts/ga4.py --format json eval-scenarios
作業ルール
- 数値のGA4プロパティIDを使用します。
properties/<id>形式の入力は受け付けますが、API呼び出しの前に正規化します。 - コンバージョンタイプのレポートには
keyEventsを使用します。ユーザーが明示的にカスタムイベント指標を要求した場合を除きます。 - カスタムディメンションに頼る前に、一般的な本番内訳には
sessionDefaultChannelGroup、sessionSourceMedium、landingPagePlusQueryString、dateを使用します。 - 行制限を含めます。アドホックレポートではデフォルトで25とし、ユーザーがエクスポートやETLサイズの結果を要求した場合のみ増やします。
- リクエストが年なしで四半期を指定した場合は、確認を求めます。
- このスキルにAdmin APIの書き込みを追加しないでください。別の管理スキルには、明示的な承認レベルと境界テストが必要です。
評価スイート
バンドルされたシナリオは、セッション、キーイベント、収益、トラフィックソース、ランディングページ、時系列、比較、Eコマース、地理、デバイス、安全性/明確化のケースにわたる、25の代表的なアナリストリクエストをカバーしています。