【BigQuery×GA4】広告アカウント無しで線形アトリビューション分析を行う

久しぶりのBigQuery記事です。
といいますのも、使い始めとともにデータを貯め始めているので、やっと30日分程度のデータが溜まったのです。

早く3ヶ月分のデータとか使ってSQLブン回したいですね。
(費用分からな過ぎて不安ですけど)

今回は、GA4でアトリビューションモデルを行ってみようと思います。

「BigQueryだからできる」みたいなネタのアイデアをAIに相談して、たくさん出してもらいました。
その結果今回は、アトリビューションの話が面白そうだったので、採用しました。

広告アカウントを活用していなくてもアトリビューションが見たい

これです。

僕自身、広告を回しているわけではなく、アカウントの連携も業者さんによってまちまちなので、GA4では見れないケースが多いんですよね。(これ、広告アカウント連携しないとGA4上では見れませんよね?w)

原則、広告との連携性といいますか、アトリビューションってそもそも、そう言うもんですって感じではあるんですが。

今回の線形アトリビューションを行うSQL

WITH user_paths AS (
  SELECT
    user_pseudo_id,
    event_timestamp,
    traffic_source.medium AS channel,
    event_name
  FROM
    `対象とするテーブルID*`--必要に応じて取得対象期間を設定してください
  WHERE
    event_name IN ('session_start', '問い合わせ完了')--後者を対象としたいキーイベント名に
),
path_to_conversion AS (
  SELECT
    user_pseudo_id,
    channel,
    event_timestamp,
    ROW_NUMBER() OVER(PARTITION BY user_pseudo_id ORDER BY event_timestamp) AS step
  FROM
    user_paths
  WHERE
    event_name = 'session_start'
),
conversion_users AS (
  SELECT DISTINCT user_pseudo_id
  FROM user_paths
  WHERE event_name = '問い合わせ完了'--こちらも上記と同じく対象としたいキーイベント名に
),
user_total_steps AS (
  SELECT
    user_pseudo_id,
    COUNT(*) AS total_steps
  FROM
    path_to_conversion
  GROUP BY
    user_pseudo_id
)
SELECT
  p.channel,
  SUM(1.0 / u.total_steps) AS conversion_contribution
FROM
  path_to_conversion AS p
JOIN
  user_total_steps AS u
ON
  p.user_pseudo_id = u.user_pseudo_id
JOIN
  conversion_users AS cu
ON
  p.user_pseudo_id = cu.user_pseudo_id
GROUP BY
  p.channel
ORDER BY
  conversion_contribution DESC;

※2024/11追記。コメントアウトを「/**/」から「–」に変更しました。シンプルで格好良いので。

では早速。

コメントを入れている3箇所は、ご覧になりたい対象の値に変換してくださいね。

過去記事「BigQueryとGA4の連携で、ユーザーのページ遷移を追ってみる」でも触れましたが、個人的に魅力を感じているGA4×BigQueryのキモは、

な感じがしています。

また、SQLで線形アトリビューションモデルを実装する際の基本的な考え方として、ユーザーがコンバージョンに至るまでのタッチポイントをリスト化し、タッチポイントごとの貢献度を均等に分配するロジックを適用しています。

そして、最後はAIに整理してもらっています。(ここ重要!)

実際に行った結果例について

線形アトリビューションの結果

人材系のクライアント様の結果です。
(直近、29日分のデータ参照)

SNSが最初のタッチポイントや中間のタッチポイントとして重要な役割になっていますね。SNSを通じてブランド認知や興味を引き出し、他チャネルへの誘導にも貢献していそうです。

SNSの力って偉大だなぁって感じです。そして、思ってた以上にオーガニックが少ない。

結果を見て感じたこと

対象サイトのターゲット属性と市場の立ち位置を考慮すると、ある程度は納得のいく結果となりました。

クライアントに対して、ポジショントークで言えば、常にSEOの立ち位置を作っていく必要はありますしSNSと絡めた施策の提案を考える必要がありますね。ただ、改めてSNSの戦略が強みであることは客観的な事実としてお伝えしたいなと思います。

いやあ、実際に数字として現れるととてもおもしろい。
所詮データなんて不毛な数字でしかないんですが、それでも我々コンサルタントはその数字と向き合い、無数の提案におけるきっかけを探さなければいけません

いろいろな仮説や提案のきっかけになりました。

線形モデルの貢献度計算について

一応、この辺もせっかくなんで解説しておきます。
無駄なSEO意識強いhowto記事にはしたくないので、さらっと書いておきます。

線形モデルでは、ユーザーがコンバージョンに至るまでに経由したすべてのタッチポイント(チャネル)に貢献度を均等に配分することになります。

具体例を用いますと、「自然検索 → SNS → 直接訪問 → 問い合わせ完了」という流れでコンバージョンした場合、自然検索、SNS、直接訪問の各チャネルにそれぞれ1/3ずつの貢献度が割り当てられるイメージです。

GA4上のレポートから見ることができるチャネル別CV数との違い

GA4上のレポートから見ることができるチャネル別CV数との違い

同じような数字として、GA4では、レポート>集客>ユーザー獲得と進むことで、「チャネル別のCV数」を確認することができます。

どちらかというとその指標は、最後のタッチポイント(ラストクリック)にベースになるため、コンバージョンが発生した最後のチャネルだけにカウントされます。

これに対し、線形モデルでは全タッチポイントが均等に評価され、複数のチャネルにまたがった貢献が分散して反映されます。

線形アトリビューション分析を選んだ理由

今回は、線形アトリビューション分析を行います。
選定理由を簡単に書いておきます。

偏りのない評価

よくあるラストクリックモデルと悩みました。

ラストクリックでは、最後のチャネルのみが評価がちですが、線形モデルではコンバージョンに至るまでの全タッチポイントが均等に評価されるため、ユーザーの行動全体を把握できる点が面白そうでした。

複合的なマーケティング効果

前述の通り、線形アトリビューションは全タッチポイントの評価になります。

単独では目立たないチャネルも他のチャネルと組み合わさることでコンバージョンに寄与するケースを見出せるため、「意外なチャネル間のシナジーを理解できそう!」という勝手な期待を持ったからです。

まとめ〜2024最後(?)のコアアプデ開始〜

当たり前ですが、実際に悩んでトライして、見たいデータが抽出できると楽しいですね。
GA4×BigQueryネタはもう少し作れそうなので、検証を重ねて記事にしていければと思っております。

さて、この記事を書いているタイミングで2024年最後であろう、November 2024 core update(コアアプデ)が開始されています。

気になる点はいくつかあるのですが、まずは様子を見ます。
自社判断軸で一生懸命動かせたサイトは、答え合わせみたいな感じで楽しみなんですけれどもね。

また、自分勝手に書いている本サイトの記事が思ったよりかは、露出できていて嬉しいです。
(タイトルとかは多少KW感出していますが、SEO意識は皆無で記事を書いているつもりですからw)

さらに先日は、森野 誠之さんが運営されている、毎日堂さんのコンテンツ(サポートメンバー限定記事)でも「BigQueryとGA4の連携で、ユーザーのページ遷移を追ってみる」記事をピックアップいただきました。
こんな場末サイトまでお越しいただけるとは恐縮ですが、コンテンツを作るモチベーションになっています。本当にありがとうございました。

その他BigQuery記事はこちら

BigQueryとGA4の連携で、ユーザーのページ遷移を追ってみる

【BigQuery×GA4】CVした・していないユーザーのPVページランキングを抽出

Supervisor Image

葛西 洋介

都内Webマーケティング企業に勤務。対応サイトは過去大小含め80サイト以上。
企業サイトの案件が多く、SEOというよりは事業理解やマーケティング側面を大切にしています。
また、上流から下流まですべて対応する経験が多く、大抵のことは自分で実装まで対応可能です。
最近はAWSの理解とPythonとSEOの組み合わせ研究が楽しいです。