こちらの記事では、BigQuery Graph Analyticsを使って、Googleが提供しているデモサイトのGA4テーブルに記録されているGoogle Merch Shop(Googleグッズを販売しているECサイト)のページ遷移をネットワーク図にしてみました。あれはあれで面白いし、他の人がやっていないので、「ファーストペンギン」的は価値はあるとは思います。一方、あの記事を書いたあと、気になっていることがありました。
「エンティティが1種類(ページ→ページ)だと、グラフ分析の面白さがまだ半分しか見えていないんじゃないか」
Googleが示したデモの例では「原材料→部品→製品→顧客」という4種類のエンティティ(※)が登場しました。全体としては「流れ」を示しているが、実体として異なる種類の「モノ(やヒト)」が繋がっているから、面白い洞察が生まれるのだと思います。※エンティティとは「グラフ上の点(ノード)として個別に識別できる、ヒト・モノ・事柄」
そういうデータが、手元にもあるはずです。そこで考えたのが、こんなシナリオです。
「どんな自然検索クエリでサイトに訪問した人が、どの記事にランディングして、最終的にどんなコンバージョン(Udemy OR Amazonへのジャンプ)をするのか」
kazkida.com(このサイト)では、記事の下部にときどきUdemyやAmazonへのリンクを置いていて、そのクリックをGA4でコンバージョンとして計測しています。GA4とGoogle Search Consoleのデータを組み合わせれば、この経路が見えるかもしれないと思いました。さっそく試してみました。
3つのエンティティを前提にデータを整理した
エンティティを以下の3種類と定義して、データを整理しました。カッコ内は、エンティティの出どころです。
- クエリ(Search Console)
- ランディングページ(GA4 + Search Console)
- ジャンプ先サイト(GA4のコンバージョンイベント)
クエリからランディングページへの繋がりはSearch Consoleが持っています。ランディングページからジャンプ先への繋がりはGA4のコンバージョンイベントが持っています。2つのデータソースを「ランディングページ」をキーにして繋ぐと、クエリ→ランディングページ→ジャンプ先という流れが一本の線になるはずです。
こんな図が作れました

青い丸がクエリ、赤い丸がランディングページ、緑の丸がジャンプ先(UdemyとAmazonの2種類)です。ノードのサイズは、クリック数やコンバージョン数に比例しています。
こちらをクリックすると、ブラウザ上で実際に動くグラフ(ネットワーク図)を見ていただくことができます。マウスのホイールで拡大縮小ができます。また、ノードをドラッグ&ドロップで引っ張って動かすことができます。
見ていて気づいたことを、いくつかメモしておきます。
気づき1:CVを生んでいる記事は意外と少ない
赤い丸を眺めると、コンバージョンのほとんどがいくつかの記事に集中しているのが一目で分かります。記事の数はそれなりにあるのに、実際にUdemyやAmazonへのジャンプにつながっているのはごく一部です。
なんとなく分かっていたことですが、図にして見るとその偏りが視覚的に伝わってきます。コンバージョンが比較的発生している記事は、Amazonへのジャンプの場合、自分で書いた本や、友達が書いた本のレビューが多いです。Udemyへのジャンプの場合、特定の技術系の記事からに集中しています。
で、数としては、Amazonへのジャンプの方が多い。技術系記事も一生懸命書いてはいるのですが、ブックレビューはそれよりも熱量が高いのかな?コンバージョンを生みやすい傾向はあるようです。本の著者の人は、自分のブログやnoteで、その本に掛ける熱意や裏話などを投稿するといいかもしれませんね。
気づき2:「sql ai」系クエリがUdemyへの経路になっている
図の下側に、比較的青い大きな丸が一つの赤い丸に集まっているエリアがあります。これは、「sql ai」「ai sql生成」といったキーワードが、特定の記事を経由してUdemyの講座に繋がっているということを示しています。
「生成AIがSQLを書く能力はどの程度高いのか?」「どのようにしたら生成AIに適切なSQLを書いてもらえるのか」に関心のある人が講座に辿り着くという経路が、線の束として見えています。この記事はエース級ということが分かります。

気づき3:単一キーワードでそれなりのコンバージョンを獲得しているクエリとページの組み合わせがある
気づき2は、ある記事が複数のクエリでクリックを獲得していることを示していました。一方、「looker studio ファネル」という青い丸は比較的大きく、たった一つの赤い丸(記事)につながっています。こうした、1クエリ、1記事型のコンバージョンパターンもあるのだということに気づきます。

どうやって作るの?
技術的なステップは前回と同じく3段階です。
ステップ1(データ準備):GA4とSearch ConsoleをBigQueryに連携する
GA4のBigQueryエクスポートは設定済みの方が多いと思います。それに加えて、Search ConsoleのBigQueryエクスポートを設定します。Search Consoleの管理画面から設定でき、クエリ×ランディングページ別のクリック数・表示回数・掲載順位が日次で蓄積されていきます。
GA4のコンバージョンイベントからは、link_urlパラメータでジャンプ先のURLを取得し、Udemyなのか、Amazonなのかを判別しています。
ステップ2(グラフ定義):PROPERTY GRAPHを作る
クエリ・ページ・ジャンプ先の3種類のノードテーブルと、2種類のエッジテーブル(クエリ→ページ、ページ→ジャンプ先)を作ります。そのうえで CREATE PROPERTY GRAPH で定義します。
前回のページ遷移グラフは「ページ→ページ」という同種グラフでした。今回のように異なる種類のエンティティが混在するのは、BigQuery Graph Analyticsが本来得意とするケースです。BigQuery Studioのクエリエディタ上でも、3色に色分けされたグラフが表示されました。
ステップ3(仕上げ):Pythonでインタラクティブな図に整える
前回と同様に、BigQueryノートブック(実態はColab Enterprise)でPythonの pyvis ライブラリを使ってHTMLを生成しています。表現豊かにネットワーク図を表現できます。
まとめ
グラフ分析の面白さは、エンティティを複数設定したときに見えてくる。とあらためて感じました。
「何と何を繋ぐか」が決まると、見えてくるものが決まります。今回の「クエリ→ページ→ジャンプ先」という構造は、ユーザーの検索・クリック・コンテンツ閲覧・コンバージョンの流れを一本で繋いでいます。B2Bサイトでは、「チャネル→ランディングページ→コンバージョン」や、ECサイトでは、「チャネル→ランディングページ→商品→コンバージョン」などをエンティティとして設定すると面白いグラフ分析ができそうです。
BigQuery Graph Analyticsはまだプレビュー段階ですが、GA4とSearch ConsoleのデータがBigQueryに揃っている方はぜひ試してみてください。