Yahoo!広告のデータをBigQueryに自動連携する方法|n8nで構築する広告横断分析基盤

Written by
John Doe
公開日
2026-03-16

目次

Google広告だけBigQueryに入れて満足していた

__wf_reserved_inherit

GA4とGoogle広告の連携は管理画面からポチポチやるだけで完了する。「これでデータ基盤は完成だ」と思い込んでいた。ところがクライアントの広告アカウントを見ると、月の広告費のうち3〜4割はYahoo!広告に使っている。つまり、売上の3割に関わるデータを分析対象から外していた。

BigQueryにGoogle広告のデータしかなければ、「Google広告のCPAが高い」と判断しても、Yahoo!広告と比較できない。本当にGoogle広告のCPAが高いのか、それとも業界全体のトレンドなのか、判断材料がない状態で広告費の配分を決めていたことになる。

この記事では、Yahoo!広告のレポートデータをn8n経由でBigQueryに自動連携する手順と、Google広告のデータと横断して分析する方法を解説する。

なぜYahoo!広告の連携は後回しにされるのか

理由はシンプルで、Google広告に比べて連携のハードルが高いからだ。

Google広告にはBigQuery Data Transfer Serviceという公式連携がある。管理画面で数クリック、待つこと数時間でデータが流れ始める。一方のYahoo!広告にはそういった仕組みがない。APIを叩いてレポートデータを取得し、それをBigQueryに書き込む——このパイプラインを自分で組む必要がある。

「APIを叩く」と聞くとプログラマーの仕事に聞こえるが、n8nを使えばコードは1行も書かない。HTTP Requestノードがやってくれる。

全体のアーキテクチャ

__wf_reserved_inherit

先に完成形を示す。

  • Yahoo!広告 API → HTTP Request(n8n)→ データ整形(n8n)→ BigQuery Insert(n8n)
  • GA4 → BigQueryエクスポート(自動連携)
  • Google広告 → Data Transfer Service(自動連携)

GA4はBigQueryエクスポート、Google広告はData Transfer Service。Yahoo!広告だけがn8n経由になる。データの粒度(日別・キャンペーン別・広告グループ別)を揃えておけば、SQLで横断分析ができる。

n8nワークフローの構成

1. Scheduleトリガー

毎朝7時に自動実行する。Yahoo!広告のレポートデータは前日分が翌朝に確定するため、朝の実行で前日分を取得する設計だ。

2. HTTP RequestノードでYahoo!広告APIを呼ぶ

Yahoo!広告のReporting APIを使う。エンドポイントはレポートの作成→ダウンロードの2段階。

ステップ1:レポート定義の作成
レポートに含めるフィールド(キャンペーン名・インプレッション・クリック・コスト・コンバージョン等)と期間を指定してPOSTリクエストを送る。

ステップ2:レポートのダウンロード
ステップ1で返ってきたレポートIDを使ってGETリクエストを送り、CSV形式のデータを取得する。

認証はOAuth 2.0。Yahoo!ビジネスマネージャーでアプリケーションを登録し、クライアントIDとシークレットを取得しておく。n8nのCredentials機能にOAuth2の設定を保存すれば、トークンのリフレッシュも自動で行われる。

3. データ整形

Yahoo!広告APIから返ってくるCSVのカラム名をBigQueryのテーブルスキーマに合わせて変換する。n8nのSet/Editノードでマッピングするだけだ。

ここで注意点が1つ。Yahoo!広告の費用は「税抜」で返ってくることがある。Google広告は税込で出てくるから、そのまま比較すると数字がズレる。どちらかに統一するルールを決めておく。

4. BigQuery Insertノード

整形済みのデータをBigQueryの yahoo_ads_reports テーブルに書き込む。テーブルスキーマの主なカラムは以下の通り。

  • date(DATE):レポート日
  • campaign_name(STRING):キャンペーン名
  • campaign_id(STRING):キャンペーンID
  • impressions(INTEGER):表示回数
  • clicks(INTEGER):クリック数
  • cost(FLOAT):費用(税込)
  • conversions(FLOAT):コンバージョン数

横断分析で見えてくるもの

__wf_reserved_inherit

データが揃ったら、SQLで横断分析をかける。Google広告とYahoo!広告のキャンペーンをCPA順に並べるクエリを1本叩けば、「Google広告の指名キャンペーンはCPA 3,000円だけど、Yahoo!広告の同じキャンペーンはCPA 5,500円」——こういう差が一目でわかる。

以前は、Google広告の管理画面とYahoo!広告の管理画面をそれぞれ開いて、スプレッドシートに手動で転記して、横並びで比較していた。それが「SQLを1本叩く」に変わった。しかも毎朝自動でデータが入ってくるから、いつでも最新の数字で比較できる。

既にn8nを使っているなら30分で終わる

正直、ゼロから構築すると半日くらいかかる。Yahoo!広告のAPI申請、OAuth認証の設定、BigQueryのテーブル作成——初回はどうしても時間が取られる。

しかし既にn8nでGoogle広告やSearch Consoleのパイプラインが動いているなら、それをコピーしてHTTP Requestの宛先をYahoo!広告APIに変えるだけだ。認証部分とデータ整形だけ調整すれば、30分もあれば動く。

重要なのは「全部のデータが1箇所にある」状態を作ることだ。GA4、Google広告、Yahoo!広告、Search Console——これらが全部BigQueryに入っていれば、「どの施策が一番効率よくCVを取れているか」がSQLで横断的にわかる。

データが別々の管理画面に散らばっている限り、正確な比較はできない。1箇所に集めることそのものが、分析の精度を上げる最大の施策だ。

あわせて読みたい

Relation

関連記事

This is some text inside of a div block.

GA4クロスドメイントラッキングの設定と落とし穴|広告LPから本サイトへのCV計測

This is some text inside of a div block.
7 min read
This is some text inside of a div block.

Lark Bitableを業務データベースとして外部連携する|API活用とNotionとの使い分け

This is some text inside of a div block.
7 min read
This is some text inside of a div block.

サーチコンソールの数字だけでリライト優先順位を決める方法

This is some text inside of a div block.
7 min read
This is some text inside of a div block.

AIエージェントの品質管理を仕組み化する|6軸スコアリングと自動監査の実践

This is some text inside of a div block.
7 min read
This is some text inside of a div block.

Yahoo!広告のデータをBigQueryに自動連携する方法|n8nで構築する広告横断分析基盤

This is some text inside of a div block.
7 min read
This is some text inside of a div block.

ChatGPTセキュリティチェックリスト|中小企業の安全なAI活用

This is some text inside of a div block.
7 min read

現在【毎月先着5社様】限定無料相談受付ます

大変申し訳ありません。私たちのリソースには限りがあり、一社一社に質の高いサービスを提供するため、現在【毎月先着5社様】限定で、この特別な条件(全額返金保証+無料相談)でのご案内とさせていただいております。

さらに、今このページをご覧のあなただけに、無料相談へお申し込みいただいた方限定で、通常5万円相当の【競合サイト分析&改善提案レポート】を無料でプレゼントいたします。

枠がすぐに埋まる可能性がありますので、お早めにお申し込みください。

プライバシーポリシーに同意し、まずは無料相談をおこないます
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.