「Google広告と、他のSNS広告、それぞれ管理画面が違って数字をまとめるのが大変…」
「複数の広告媒体の成果を、Excelやスプレッドシートに手作業でコピペしてレポートを作っている」
「CPA(顧客獲得単価)を計算したいけど、コストデータとWebサイトの成果(コンバージョン)データが別々で集計に時間がかかる」
こうしたお悩みをお持ちのご担当者様も多いのではないでしょうか。
広告媒体が増えれば増えるほど、レポート作成の工数は膨れ上がります。手作業での集計は時間もかかりますし、何より「コピペミス」や「集計漏れ」といったヒューマンエラーの原因にもなります。
しかし、高額な管理システムやBI(ビジネスインテリジェンス)ツールを導入するほどではない、という場合もあるかと思います。
そこで本記事では、Googleが無料で提供する「Looker Studio(ルッカースタジオ)」と「Googleスプレッドシート」を活用し、媒体を横断したネット広告の効果比較レポートを自動で作成(更新)する方法をご紹介します。
この記事を読めば、以下のことができるようになります。
- 複数媒体の広告コストと、GA4(Google アナリティクス 4)で計測しているWebサイトの成果(例:資料請求数)を自動で統合できます。
- 「キャンペーン名」などの表記揺れを自動で名寄せ(正規化)し、正確なデータで分析する仕組みが作れます。
- 手作業のレポート作成から解放され、分析と施策の改善により多くの時間を使えるようになります。
Looker Studioを初めて使用する方へ
Looker Studioの基本的な使い方(データソースの接続方法や、グラフの作成方法など)については、別記事で詳しく解説しています。本記事では、その応用編として「媒体横断のレポート作成」に特化して解説します。
なぜLooker Studioとスプレッドシートを併用するのか?
レポート作成の自動化というと難しく聞こえるかもしれませんが、今回使用するツールは、日頃Googleのサービスを使っている方には馴染み深いものです。
Looker Studio(ルッカースタジオ)とは?
Looker Studio(旧称:Googleデータポータル)は、Googleが提供する無料のBIツールです。
さまざまなデータを読み込み、上記画像のように見やすいグラフや表で「可視化」することができます。
Looker Studioの主なメリット:
- 無料であること: Googleアカウントさえあれば、基本的に無料で利用できます(※一部の機能や制限については後述します)。
- 自動更新: 一度レポート(ダッシュボード)を作成すれば、設定した頻度(毎日、毎週など)で自動的に最新のデータに更新されます。
- 連携性: GA4やGoogle広告、スプレッドシートなど、多くのGoogleサービスと簡単に連携できます。
スプレッドシートを「データベース」として活用
Looker StudioはGoogle広告やGA4とは直接連携できますが、例えばSNS広告やポータルサイト広告、その他の広告媒体のデータは、直接連携することが難しい場合があります。
(※有料の連携ツールを使えば可能ですが、今回は無料での実現を目指します)
そこで活躍するのがGoogleスプレッドシートです。
各媒体の管理画面からダウンロードしたコストデータ(表示回数、クリック数、かかった費用など)を、一旦スプレッドシートに集約します。このスプレッドシートを「簡易的なデータベース」としてLooker Studioに読み込ませるのです。
また、後述する「キャンペーン名の表記揺れ」を吸収するための「名寄せルール」を管理するマスターデータとしても、スプレッドシートは非常に優秀です。
【準備編】レポート作成に必要な2つのデータ
まずは、Looker Studioでレポートを作成するために必要な「元データ」を2種類用意します。
ここでは、BtoBの業務効率化SaaSツール(資料請求がゴール)の広告データ例で進めます。広告媒体は「Google広告」と「SNS広告」の2つを利用している想定です。
1. 媒体別のコストデータ(スプレッドシート)
Googleスプレッドシートを新規作成し、各媒体(Google広告、SNS広告など)からダウンロードした日別のレポートデータを貼り付けるためのシートを用意します。
シート名:「コストデータ」
| 日付 | 媒体 | キャンペーン名 | 表示回数 | クリック数 | コスト |
| 2025/10/01 | 2025_feature_A_Search | 1500 | 100 | 15000 | |
| 2025/10/01 | SNS広告 | 2025_Feature_A_SNS | 3000 | 50 | 8000 |
| 2025/10/02 | 2025_feature_A_Search | 1600 | 110 | 16500 | |
| 2025/10/02 | SNS広告 | 2025_Feature_A_SNS | 3200 | 55 | 8800 |
| … | … | … | … | … | … |

運用のポイント:
週に1回、あるいは月に1回など、レポートの更新頻度に合わせて、各媒体の管理画面からCSVデータをダウンロードし、このシートに追記していく運用を想定します。
※この作業自体を自動化することも可能ですが、今回はまずレポート作成の自動化を優先します
2. Webサイトの成果データ(GA4)
次に必要なのが、「Webサイトでの成果(コンバージョン)」、つまり「広告をクリックした人が、どれだけ資料請求に至ったか」というデータです。これはGA4(Google アナリティクス 4)で計測します。
Looker StudioはGA4と直接連携できるため、スプレッドシートにまとめる必要はありません。
重要なポイント:UTMパラメータの設定
GA4が「どの広告(媒体、キャンペーン)からの成果か」を正しく認識するために、広告出稿時にUTMパラメータ(utm_source や utm_campaign など)を広告のリンク先URLに必ず設定しておく必要があります。
- 例1(Google広告): https://example.com/saas_a/?utm_source=google&utm_medium=cpc&utm_campaign=2025_feature_A_Search
- 例2(SNS広告): https://example.com/saas_a/?utm_source=sns&utm_medium=cpc&utm_campaign=2025_Feature_A_SNS
この設定ができていれば、GA4は「2025_feature_A_Search というキャンペーンから資料請求が1件発生した」と計測できます。
【実践編1】「表記揺れ」をスプレッドシート関数で吸収する
準備が整いましたが、上記「1. コストデータ」の表をよく見てください。
- Google広告のキャンペーン名: 2025_feature_A_Search
- SNS広告のキャンペーン名: 2025_Feature_A_SNS
どちらも「機能A」に関する広告ですが、大文字・小文字が違ったり(feature と Feature)、媒体名を示す文字列が入ったりして、表記が揺れています。
このままでは、Looker Studioがこれらを「別々のキャンペーン」として認識してしまい、「機能A」という施策で合計いくらコストがかかり、合計何件の成果があったのか、を正しく集計できません。
そこで、スプレッドシートの関数を使って、これらの表記揺れを「統一した名称」に変換(名寄せ)する列を追加します。
手順1:「正規化ルール」シートの作成
「コストデータ」を準備したスプレッドシートに、新しいシート「正規化ルール」を追加します。
ここには「どういうパターンの文字列を、何という名前に統一するか」のルールを定義します。
シート名:「正規化ルール」
| パターン(正規表現) | 統一キャンペーン名 |
| (?i)feature_a | 機能A訴求 |
| (?i)spring_sale | 2025春施策 |
| (?i)document_dl | 資料請求(指名) |
| … | … |

解説:
「パターン(正規表現)」列の (?i) というのは、「大文字と小文字を区別しない」という正規表現(文字列のパターンを表現する記述ルール)の記述です。
つまり (?i)feature_a と書けば、 feature_a も Feature_A も FEATURE_A も、すべてに一致(マッチ)します。
手順2:「コストデータ」シートに関数を追加
「コストデータ」シートに戻り、一番右の列(G列)に「統一キャンペーン名」という列ヘッダを追加します。
そして、G2セル(データ行の先頭)に以下の関数を入力します。
(※元のキャンペーン名はC列(C2セル)に入っていると仮定します)
=IFS(
REGEXMATCH(C2, '正規化ルール'!$A$2), '正規化ルール'!$B$2,
REGEXMATCH(C2, '正規化ルール'!$A$3), '正規化ルール'!$B$3,
REGEXMATCH(C2, '正規化ルール'!$A$4), '正規化ルール'!$B$4,
TRUE, "その他"
)
この関数をG2セルに入力し、G列の最下行までオートフィル(セルの右下をダブルクリック)でコピーします。

関数の解説:
これは、IFS関数とREGEXMATCH関数(正規表現に一致するか判定する関数)を組み合わせたものです。
- IFS(…)
- 複数の条件を順番にチェックし、最初に一致した(TRUEになった)条件に対応する結果を返します。
- REGEXMATCH(C2, ‘正規化ルール’!$A$2)
- 意味:まず 正規化ルールシートA2セル に設定したのパターンに一致するかチェックし、一致したら 正規化ルールシートB2セル の値を表示します。
- これを 正規化ルールシートB2セル、B3セルと続けます。
- TRUE, “その他”
- どのパターンにも一致しなかった場合、最後に「その他」と表示します。
ポイント:
キャンペーンのパターンが増えたら、IF関数をネスト(入れ子に)して追加していくか、もしくは「正規化ルール」シートに VLOOKUP関数などを組み合わせることで、より柔軟な管理が可能です。
【実践編2】Looker Studioで「データ統合(ブレンド)」を行う
表記揺れが吸収され、「統一キャンペーン名」という共通の「カギ」ができました。
いよいよLooker Studioで、2つのデータを合体させます。
「データ統合(ブレンド)」とは?
データ統合とは、Looker Studioの強力な機能の一つで、別々のデータソース(今回はスプレッドシートとGA4)を、共通の「カギ」を使って一つにまとめる機能です。
これにより、「スプレッドシートのコスト」と「GA4の成果」を紐づけ、施策ごとの「CPA(顧客獲得単価)」を算出できるようになります。
手順1:Looker Studio側でも「統一キャンペーン名」を作成
まず、GA4のデータソース側にも、「スプレッドシート側と”同じ”統一キャンペーン名」を判別するための「計算フィールド」を作成します。
- 「フィールド名」に 統一キャンペーン名(GA4) と入力します。
- 「計算式」に、スプレッドシートのIFS文と”同じロジック”を、Looker Studioの構文(CASE文)で記述します。
CASE
WHEN REGEXP_MATCH(セッションのキャンペーン, "(?i)feature_a") THEN "機能A訴求"
WHEN REGEXP_MATCH(セッションのキャンペーン, "(?i)spring_sale") THEN "2025春施策"
WHEN REGEXP_MATCH(セッションのキャンペーン, "(?i)document_dl") THEN "資料請求(指名)"
ELSE "その他"
END

解説:
セッションのキャンペーン というのは、GA4のディメンション(分析軸)で、UTMの utm_campaign の値が入ります。
この CASE文は、スプレッドシートの IFS文と同じく、「もし セッションのキャンペーン が (?i)feature_a に一致したら、機能A訴求 と返す」という処理を行っています。
手順2:データ統合(ブレンド)の実行
- Looker Studioのレポート編集画面で「リソース」メニュー > 「統合を管理」を選択します。

- 表示された画面で、「統合を追加」をクリックします。

- 「テーブル1」に「コストデータ」(スプレッドシート)を追加します。
- ディメンション:「日付」「統一キャンペーン名」
- 指標:「表示回数」「クリック数」「コスト」

- 「別のテーブルを結合する」の+マークをクリックし、「GA4」(Google アナリティクス)を選択します。
- ディメンション:「日付」「統一キャンペーン名(GA4)」
- 指標:「キーイベント」(※資料請求に設定したイベント)


- 「結合を設定」を設定します。
- 演算子:「左外部結合」を選択
- 結合条件(カギ):
- テーブル1:「日付」 = テーブル2:「日付」
- テーブル1:「統一キャンペーン名」 = テーブル2:「統一キャンペーン名(GA4)」


- 「保存」をクリックします。

これで、「日付」と「統一キャンペーン名」が一致するデータをキーにして、コストデータと成果データが横並びに合体した「統合データ(ブレンドデータ)」が完成しました。
【実践編3】レポートを可視化する
統合データが完成すれば、あとは簡単です。
グラフや表を配置して、見やすいレポートに仕上げましょう。
- グラフ例1:期間グラフ
- ディメンション:「日付」
- 指標:「コスト」「キーイベント」
- → 日々のコストと成果の推移を把握できます。

- グラフ例2:表グラフ
- ディメンション:「統一キャンペーン名」
- 指標:「コスト」「クリック数」「キーイベント」
- → 施策(統一キャンペーン)の集計結果を把握できます。

- グラフ例3:円グラフ
- ディメンション:「媒体」
- 指標:「コスト」
- → 媒体ごとのコスト比率がわかります。

運用時の注意点とまとめ
運用ルールと自動更新
Looker Studioは、一度設定すれば自動でデータを更新してくれます(通常は数時間ごと)。
ただし、それは「データソース(スプレッドシートやGA4)」が更新された場合の話です。
GA4のデータは自動で蓄積されますが、「コストデータ」のスプレッドシートは、ご自身で各媒体のデータを追記(手動コピペ)する必要があります。
「毎週月曜の午前中に、前週分のコストデータをスプレッドシートに追記する」といった運用ルールを決めておきましょう。
無料枠の制限(クォータ)について
Looker Studioやスプレッドシートは無料ですが、GA4からデータを取得する際には「APIの割り当て(クォータ)」と呼ばれる無料枠の上限があります。
レポートの更新頻度が高すぎたり、あまりにも複雑なデータを大量に取得しようとすると、一時的に「データを取得できません」というエラーが出ることが稀にあります。
通常のレポート利用(1日に数回の更新)であればまず問題ありませんが、こうした制限があることは覚えておきましょう。
まとめ
本記事では、Looker Studioとスプレッドシートを使い、媒体横断の広告レポートを自動化する方法を解説しました。
- 「コストデータ」はスプレッドシートに集約する。
- 表記揺れはスプレッドシートの関数(REGEXMATCH)やLooker Studioの計算フィールド(CASE文)で「統一名称」に名寄せする。
- 「日付」と「統一名称」をキー(カギ)にして、「データ統合(ブレンド)」機能でコストと成果(GA4)を合体させる。
この仕組みさえ作ってしまえば、面倒な手作業のレポート作成から解放されます。
最初は少し難しく感じるかもしれませんが、まずはご自身のデータで試してみてください。
※Googleサービスは、Google LLC の商標であり、この記事はGoogleによって承認されたり、Google と提携したりするものではありません。

