ロゴ画像
ロゴ文字画像
タイムライン
サービス紹介
記事一覧
お問い合わせ
ログイン
ロゴ画像
ロゴ文字画像

【Webマーケター必見】Web広告レポーティングはほぼ自動化できる!?

【Webマーケター必見】Web広告レポーティングはほぼ自動化できる!?のアイキャッチ画像


今回の記事ではWeb広告のレポート作成を自動化する方法について書いていきたいと思います。

Web広告を運用していて必ず発生するのが、コストやImp,Click,CVなどのレポート作成。
しかし、毎日GoogleやFacebookなどの広告媒体からコストやCVデータをCSVで落としてきて、レポートを作るのはめんどくさい。なので、自動化できることは積極的に自動化した方が良いです。

「Adveronix」というスプレッドシートのアドオンを使ったやり方とYahoo!アドスクリプトを使ったやり方を紹介します。
Adveronixを使ったやり方はディスプレイ操作だけでいけるので、簡単に自動化できます。

↓こんな感じのレポートが自動化できます
レポート抽出

Adveronixを使ったやり方

レポーティングを自動化するにはまずは用意するものがあります。

  • スプレッドシート
  • Adveronix」というアドオン

Adveronixはスプレッドシート上からアドオン検索すると出てきます。
そして、主要広告媒体は無料で使えるのですごく便利です。
Adveronixインストール

まずは、Adveronixを起動してレポートティング自動化したい広告媒体を選びます。
媒体選択

ここではGoogle広告を選んでみます。
次に自動化したいAccountを選び、Report Templeteからレポートタイプ(Campaignレベルなのか、Ad Groupレベルなのか)を選択します。
そして、Fieldsでレポート項目を選択します。
レポート選択

そして、レポートを出力するセルを選んであげるとRaw Dataが一瞬で反映されます。
レポートするセル選択

そして、レポートを抽出するスケジュールを組むことができるので、毎日朝7:30とかに自動で最新のレポートを反映させることができます。
スケジュール選択
スケジュール選択

コスト、Imp、Click、CVだけでなく、管理画面から取れる指標はほぼ取れるので、自由にカスタマイズできます。
ここでは日次レポートにしていますが、月次や年次データ、デバイスごとの切り分け方もできるので詳細なレポート抽出も可能です。

さらに関数を組み合わせることでスプレッドシート上に自動でレポートが作成されます。

Yahoo!広告スクリプトを使ったやり方

Yahoo広告スクリプトは2023年2月16日に提供開始されたばかりなので、記事はまだあまりないかも知れません。
Google広告スクリプトとおそらく同じような感じなのですが、Java Scriptを使う必要があるので、少し難易度が上がります。

Yahoo!広告スクリプトはレポート自動化だけでなく、キーワード追加や広告追加、広告のON/OFFなど運用に関わる全般的なことを自動化できるものですが、ここではレポート自動化だけについて書いていきます。

Yahoo広告アカウントがあれば、基本的に誰でも使えます。
検索広告でもディスプレイ広告でも使えて、Toolsタブに入ると下の方にYahoo! JAPAN Ads Scriptという項目があるので、ここから入ります。
Yahoo! Ads script
Googleスプレッドシートに吐き出すには、右上の「External tool connection」というボタンをクリックしてGoogleアカウントと連携する必要があります。
スプレッドシート連携
Googleと連携
「Create new」をクリックするとスクリプトを書く画面が立ち上がるので、ここで記述していきます。
スクリプト記述

あとはJava Scriptを書いて自動化したいレポート指標をスプレッドシートに吐き出すだけですが、ここが難しい。
エンジニアでないとJava Scriptは勉強しないので、調べながら書いたYahoo広告スクリプトの例をいくつか記載します。

過去31日間の日別アカウントレポート(コスト・インプレッション・クリック・コンバージョン)

function main() {
  const accountId = AdsUtilities.getCurrentAccountId();
  var today = new Date();
  var end_year = today.getFullYear();
  var end_month = ("00" + (today.getMonth() + 1)).slice(-2);
  var end_date = ("00" + (today.getDate())).slice(-2);
  var end = end_year + end_month + end_date;
  today.setDate(today.getDate() - 31);
  var sta_year = today.getFullYear();
  var sta_month = ("00" + (today.getMonth() + 1)).slice(-2);
  var sta_date = ("00" + (today.getDate())).slice(-2);
  var sta = sta_year + sta_month + sta_date;
  const startDate = sta; //Write the date in yyyyMMdd format
  const endDate = end;
  const spreadsheetId = 'スプレッドシートのIDを入れる';
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheetName = 'レポート抽出したいシート名を入れる';
  let sh = ss.getSheetByName(sheetName);
  const reports = AdsUtilities.getSearchReport({
    accountId: accountId,
    dateRange: {
      endDate: endDate,
      startDate: startDate,
    },
    fields: ['DAY', 'COST', 'IMPS', 'CLICKS', 'CONVERSIONS'],
    reportDateRangeType: 'CUSTOM_DATE',
    reportType: 'ACCOUNT',
  });
  sh.getRange('レポート抽出したいセル番号を入れる').setValues(reports.reports[0].rows);
}


過去31日間の日別キーワードレポート(コスト・インプレッション・クリック・コンバージョン)

function main() {
  const accountId = AdsUtilities.getCurrentAccountId();
  var today = new Date();
  var end_year = today.getFullYear();
  var end_month = ("00" + (today.getMonth() + 1)).slice(-2);
  var end_date = ("00" + (today.getDate())).slice(-2);
  var end = end_year + end_month + end_date;
  today.setDate(today.getDate() - 31);
  var sta_year = today.getFullYear();
  var sta_month = ("00" + (today.getMonth() + 1)).slice(-2);
  var sta_date = ("00" + (today.getDate())).slice(-2);
  var sta = sta_year + sta_month + sta_date;
  const startDate = sta;//Write the date in yyyyMMdd format
  const endDate = end;
  const spreadsheetId = 'スプレッドシートのIDを入れる';
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheetName = 'レポート抽出したいシート名を入れる';
  let sh = ss.getSheetByName(sheetName);
  const reports = AdsUtilities.getSearchReport({
    accountId: accountId,
    dateRange: {
      endDate: endDate,
      startDate: startDate,
    },
    fields: ['DAY', 'CAMPAIGN_NAME', 'ADGROUP_NAME', 'KEYWORD', 'KEYWORD_MATCH_TYPE', 'COST', 'IMPS', 'CLICKS', 'CONVERSIONS'],
    reportDateRangeType: 'CUSTOM_DATE',
    reportType: 'KEYWORDS',
  });
  sh.getRange('レポート抽出したいセル番号を入れる').setValues(reports.reports[0].rows);
}


書いたスクリプトを登録して「Frequency」でレポート更新したいタイミングを設定すればレポートの自動化が完成。
スクリプトを記述する際にはYahoo!広告スクリプトのサンプルスクリプトが参考になります

yuto

yuto

早稲田大学院卒業後、ビズリーチで求職者向けのtoCマーケティングに従事。

その後、Housmartに転職し、マーケティング部門の責任者として不動産SaaS事業のマーケティング立ち上げや新規事業立ち上げを経験。現在は独立し、複数の会社のマーケティング支援に携わっている。

大学院では脳神経科学を専攻していたこともあり、現在はAIを活用したマーケティング最適化や自動化にも力を入れている。

DXはお任せください

© 2023 MarkeTech-Square All rights reserved

利用規約

プライバシーポリシー