GA4 × ChatGPT 爆速!GA4 設定 & 解析 革命 第1回

BigQuery

and,a株式会社 デジタルマーケティングエンジニア 佐藤洋太

こんにちは!昨今巷で話題沸騰中のOpenAIが提供するChatGPTを実際に触って色々と試してみたので所感などをまとめようと思います。

ChatGPTとは?

ざっくりとした説明ですが、高機能なチャット型AIで、普段私たちが使う言葉で問いかけることによって回答や画像、はたまたコードまで返してくれる高度なAIです。

実際に使ってみましたがまるで人間のような受け答えです。ちなみに日本語も使えます。

サイト:https://openai.com/blog/chatgpt/

GA4で使えるか

ネットの情報や記事を見ると様々な情報が出ており、Excelで関数を組むなどの例がありました。

しかし、GA4 QuickではGoogle Analaytics + Chat GPTの切り口からいくつかの角度でアプローチをしたいと思います!

ChatGPT vs Google Tag Manager(GTM)

早速質問してみましょう!!

質問:
GoogleTagManagerでGoogle Analyticsの計測を行うにはどうすればいいですか

回答:

Google Tag Manager (GTM)を使用すると、Google Analytics(GA)の計測を簡単に行うことができます。以下のステップに従ってください:

  1. GTMアカウントを作成またはログインする
  2. 新しいタグを作成し、Google Analyticsのタグタイプを選択する
  3. GAアカウントからトラッキングIDをコピーし、GTMタグに貼り付ける
  4. GTMタグをサイトに埋め込む(GTMコードをサイトのHEADタグ内に貼り付ける)
  5. GTMを使用してタグを管理し、GAのトラッキング設定を行います。
  6. これで、GAでサイトのトラフィックやユーザー行動などを追跡することができます。
ChatGPT

お?Googleの公式の資料のような回答ですね。。。具体性をあげてみましょう。

質問:
ユーザーが電話ボタンをクリックした際にGoogleAnalyticsのイベントの計測をGoogleTagManagerで行うにはどうすればいいですか?

回答:

Google Tag ManagerでGoogle Analyticsのイベントの計測を行うには、次の手順を行います:

  1. Google Tag Managerを使用するアカウントを作成します。
  2. Google AnalyticsアカウントとGoogle Tag Managerアカウントをリンクします。
  3. Google Tag Managerにトラッキングタグを作成します。
  4. トラッキングタグにイベント計測の設定を追加します。
  5. 電話ボタンをクリックした際にGoogle Tag Managerのタグが実行されるようにJavaScriptコードを追加します。
  6. 詳細な手順については、Google Tag Managerのドキュメンテーションを参照してください。
ChatGPT

おおおおお!!!大体あってる!!AIに手順を説明してもらえる事に感動!

具体性をあげて質問するのが鍵のようですね!

質問:
GoogleAnalayticsのG-NMGXZVVKQWのアカウントでスクロール率を計測したいです。Google Tag Managerでの実装方法を教えてください。

回答:

Google AnalyticsのトラッキングコードをGoogle Tag Managerに実装することで、スクロール率の計測が可能です。以下の手順をご参照ください。

  1. Google Tag Managerアカウントにログインします。
  2. タグを作成します。「新規タグ」を選択し、「Google Analytics」タグタイプを選択します。
  3. トラッキングID「G-NMGXZVVKQW」を入力します。
  4. トラッキングオプションの「スクロール率」を有効にします。
  5. 「トリガー」を作成します。「新規トリガー」を選択し、「ページビュー」イベントを選択します。
  6. 「保存」と「パブリッシュ」を行います。

これで、Google Analyticsアカウント「G-NMGXZVVKQW」でスクロール率が計測されるようになります。

ChatGPT

素晴らしい!!細かい設定値は抜けてますが十分にわかる説明です。

これは新人さんの教育に大活躍しそうですね!!

ChatGPT vs BigQuery SQL

先ほどはデータを取得する側の質問でしたが、今度はGAに溜まったデータを取得する方法を尋ねてみます。

質問:
FirebaseのデータをBigQueryで取得したい。過去1ヶ月間のセッションを日本時間の日付毎に数えたい。

※調べたところ本記事執筆時点でChatGPTがGA4をサポートしていないため、スキーマが同じであるFirebaseとして聞いています。

回答:

FirebaseからBigQueryにデータをエクスポートすることができます。以下の手順に従って、Firebase AnalyticsデータをBigQueryにエクスポートしてください。

  1. Firebaseプロジェクト内で、BigQueryを有効にする。
  2. Firebaseアナリティクスを有効にする。
  3. BigQueryを使ってFirebase Analyticsデータをエクスポートするためのリンクを作成する。
  4. 以下のクエリを実行して、過去1ヶ月間のセッション数を日本時間の日付毎に数えます。
ChatGPT
SELECT 
  DATE(TIMESTAMP_SECONDS(event_timestamp)) AS date, 
  COUNT(DISTINCT user_pseudo_id) AS sessions 
FROM 
  `firebase_project.analytics_database.events_*` 
WHERE 
  _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) 
  AND 
  FORMAT_DATE('%Y%m%d',CURRENT_DATE()) 
GROUP BY 
  date 
ORDER BY 
  date 
ASC

このクエリは、過去1ヶ月間のイベントデータから日付毎のセッション数を集計します。日本時間に変換するために、TIMESTAMP_SECONDS関数とDATE関数を使用しています。

ChatGPT

コードも返してくれる!!!素晴らしい!!

コードをそのまま送って解説お願いしましょう。

質問:(コードそのまま送る)

回答:

このクエリはFirebase Analyticsデータから過去1ヶ月間の日付毎のセッション数を集計するものです。

ga4-quick.analytics_302974976.events_*:Firebase Analyticsのイベントデータテーブルです。

TIMESTAMP_SECONDS(event_timestamp):イベントのタイムスタンプを秒単位の数値から日付と時間の形式に変換します。

DATE(TIMESTAMP_SECONDS(event_timestamp)):イベントの日付を抽出します。

COUNT(DISTINCT user_pseudo_id):ユーザー固有のID(user_pseudo_id)を使用して、各日付におけるセッション数をカウントします。

_TABLE_SUFFIX BETWEEN FORMAT_DATE(‘%Y%m%d’,DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND FORMAT_DATE(‘%Y%m%d’,CURRENT_DATE()):データテーブルのサフィックス(日付)を使用して、過去1ヶ月間のデータのみを選択します。

GROUP BY date:日付毎にグループ化します。

ORDER BY date ASC:日付順に並び替えます。

このクエリを実行することで、過去1ヶ月間の日付毎のセッション数が得られます。

ChatGPT

おおー!!素晴らしい。

実際にBigQueryで試したところ、下記のようなエラーが出てしまったので聞いてみます。

timestamp overflow: TIMESTAMP_SECONDS(1674431996556852)

質問:

SELECT 
  DATE(TIMESTAMP_SECONDS(event_timestamp)) AS date, 
  COUNT(DISTINCT user_pseudo_id) AS sessions 
FROM 
  `ga4-quick.analytics_302974976.events_*` 
WHERE 
  _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) 
  AND 
  FORMAT_DATE('%Y%m%d',CURRENT_DATE()) 
GROUP BY 
  date 
ORDER BY 
  date 
ASC

このコードを実行したらtimestamp overflow: TIMESTAMP_SECONDS(1674431996556852)というエラーが出ました。

回答:

このエラーは、TIMESTAMP_SECONDS関数がサポートされていないか、入力されたタイムスタンプ値が関数のサポート範囲外であることを示しています。BigQueryでは、1970年1月1日(UTC)から2038年1月19日(UTC)までの日時のみをサポートしています。

解決方法としては、タイムスタンプ値がサポート範囲内にあることを確認するか、正確なタイムスタンプ値を使用するか、タイムスタンプ値を正確な形式に変換することが考えられます。また、Firebase Analyticsのタイムスタンプを使用する場合は、サポートされているタイムスタンプ形式を確認して適切な変換を行う必要があります。

ChatGPT

実は正解はTIMESTAMP_MICROSを使います。エラーの内容と解決策まで提示できるのは素晴らしいですね。N行目のここをこう直してくださいって返事きたら凄いですね。

コード実行結果:

無事に取得できましたが、

  • 厳密なセッション数ではない
  • 日本時間にはなっていない

この点が残念でした。

まとめ

1)質問の粒度を上げればかなりの精度で回答がもらえますが、内容の正確性に欠ける為、ファクトチェックは必須。

2)今回の例ではいくつかの箇所が抜けていたのが残念でしたが、別の言い回しや再度質問をすれば恐らくは取得できそう。SQLを書くのが苦手な方は充分に使えると思います。

ChatGPTのこれからに期待大ですね!

AI+人間のエンジニアによる、GA4解析設定、などのご相談は、このBlogの運営元、and,a株式会社(https://and-aaa.com/)までお願いいたします。

関連記事

特集記事

コメント

この記事へのコメントはありません。

ランキング(週間)

  1. 1

    GA4 「ページ ロケーション」と「ページ パス と スクリーン クラス」何が違う?ドメインの有無以外にもパラメータの扱いに違いあり

  2. 2

    GA4 拡張計測機能の新顔「フォームの操作」 form_start, form_submit

  3. 3

    GA4 クロスドメイン設定では、リンク先に「_gl」パラメータが付く。勝手なパラメータを付けるとエラーになるページは要注意

  4. 4

    GA4のレポート画面の数値データは、イベント発生時から何時間後に確定するのか?

  5. 5

    GA4で設定したイベントの消し方(削除の仕方)

  6. 6

    「GA4【無料】オンラインセミナー」セミナーアーカイブ(登録不要)

  7. 7

    ZOOMでの オンラインセミナー 参加方法

  8. 8

    GA4の指標「総ユーザー数」VS「アクティブ ユーザー数」

  9. 9

    ECサイトのゴールデンルートを発見する方法 – Google Analytics 4とPythonを活用して(第2回)

  10. 10

    YouTubeの概要欄に貼られたリンクをクリックしてサイトを訪れたユーザーを計測するために

最近の記事

  1. 生成AIを調整してABテストを実装したら想像以上に早かった

  2. 無料で使えるABテストツールのバージョンアップを行いました

  3. 無料ABテストツール(and,B)のマニュアルを作成しました

カテゴリー

 
TOP