Google広告スクリプトとは?スプレッドシート自動出力の方法やコードのサンプルを紹介

Google広告で費用やCV結果の把握や分析をする時に、各種レポートを管理画面内で見たりExcelでダウンロードすることでしょう。

最近ではAIやテクノロジーが発達して、無料ツール「Looker Studio」や有料ツールであるBIツール「Tableau」や「Big Query」を介して自動化されつつあります。

これによって、改善箇所を短時間で効率的に見つけやすくなり、より確実な改善の打ち手が打てるようになりました。つまり広告のCPAや事業自体のROAS改善に繋げやすくなったということです。

そこで、今回は「Tableau」や「Big Query」など有料ツールの導入とまでいかなくても、よりシンプルにテスト的にデータ集計と管理を自動化する方法として、「Google広告スクリプト」を使ったデータ可視化、改善に繋げる方法をご紹介します。

実際にデータ出力から集計まで自動化できることで、肝心の改善箇所の発見や運用変更作業に時間を割けるようになります。過去に支援した広告主の方もこの方法でCPAを改善できているので、是非試してみることをお勧めします。

Google広告スクリプトの出力と流れ


まず、Google広告スクリプトのデータ出力とツール間の連携は下図のとおりです。
今回はすべて無料で試せる組み合わせとして、スプレッドシートLooker Studioを用意します。

Google広告から、キャンペーンレポート、キーワードレポートなどをスプレッドシートへ出力します。そして、スプレッドシートのデータをLooker Studioに連携します。

Google広告から直接Looker Studioに連携することもできますが、レポートの種類が限られていたり、十分に指標を使えない場合があるので、このようにスプレッドシートを間に介して連携します。

Google広告スクリプトの設定方法

まずはGoogle広告のスクリプトがどこからアクセスできるか確認します。


Google広告のスクリプトは、上部の「ツール」→「スクリプト」の順に選択して設定画面へ移動します。


ここで、スクリプトの一覧を設定していきます。
実際に設定すると下記のようになります。

Google広告スクリプトの出力設定を決める


Google広告スクリプトの設定を行う際に、出力条件を決める必要があります。
一例となりますが、主に下記の条件項目です。

■ 期間
①月別であれば「今年の1/1~昨日」
②日別であれば「過去30日」
■ 対象レポート
キャンペーン、広告グループ、キーワード、検索クエリ、広告
■ スプレッドシート
タブ名(レポート種類ごとに用意)、オーナー(Google広告で標準権限or管理者のGoogle ID)

出力したい項目とそれに対応するコードについては、記事後半で紹介します。

Google広告スクリプトのコード設定

コードを入力する


左上の「+」ボタンより、スクリプト入力画面を開き、下記のコードを入力します。

コード

    function main() {
    const ID1 = ‘**(ここにスプレッドシートのディレクトリを記入)**’;
    const SHEET_NAME1 = ‘シート1’;
    const sheet1 = SpreadsheetApp.openById(ID1).getSheetByName(SHEET_NAME1);

    const query1 = “SELECT segments.date, segments.device, campaign.name,
    ad_group.name, metrics.impressions, metrics.clicks, metrics.cost_micros,
    metrics.conversions, metrics.all_conversions, metrics.search_impression_share ” +
    “FROM ad_group WHERE segments.date WHERE segments.date DURING LAST_30_DAYS AND
    metrics.cost_micros>0 ORDER BY segments.date”;

    var report = AdsApp.report(query1);
    report.exportToSheet(sheet1)
    }

コードはGoogle Ads APIに準拠しており、エンジニア経験がないと難しく感じるでしょう。 しかし、レポートの出力でほとんど形式が固まっているので、最初はうまく出力できているコードをコピーすれば大丈夫です。

貼り付けた後にブロック単位で設定内容を確認して、事前に決めた出力設定を書き換えるだけでコードの間の意味が分かっていなくてもエラーを出すことなく管理できます。
実際に出力したコード例はテンプレートにまとめています。

コードの各箇所の説明



① ディレクトリ指定
スプレッドシートのディレクトリを指定します。URL内の「/spreadsheets/d/○○/」の○○の部分
② 出力先ワークシートの指定
①のシート内のデータを出力したいワークシートの名前を指定します。
③ 指標・レポート一覧指定
データとして出力したい指標、レポートの一覧をここで指定します。レポート種類ごとに出力できる指標や運用で出したい指標は異なるので、ディメンションと指標の項目をここで選びなおしましょう。
④ レポート種類
レポートの種類で、「ad_group」は「広告グループレポート」のことです。出力したいレポート種類をここで指定します。
⑤ 開始終了日
データ取得の開始と終了の期間を指定します。今日を基準に「過去7日」「過去90日」にするか、「20〇〇年1月1日~12月31日」で今年1年の今日までにすることもできます。

上記は広告グループだけを設定したものですが、1つのスクリプトで複数のレポートを出力することも可能です。
続きに「キャンペーンレポート」「キーワードレポート」など他の種類のレポートのコード記述を追加すれば、1度に複数のデータを出力することができます。
弊社では1つのスクリプトに10個の異なる種類のレポートを設定しており、期間を調整してデータ量を抑えることで特に問題なく運用できています。

上記サンプルコードの③のSELECT文を変更すると、取得したいレポートの指標が変更でき、⑤のWHERE句を変更すると、日付をコントロールすることができます。

サンプルコード以外では、下記のようなコードがあります。(他にもあるので、ココに記載がない場合は調べてみてください。)

SELECT文の事例

コード意味
segments.date日付
segments.deviceデバイスカテゴリー
campaign.nameキャンペーン名
ad_group.name広告グループ名
metrics.impressions表示回数
metrics.clicksクリック数
metrics.cost_micros費用
metrics.conversionsコンバージョン数
metrics.all_conversionsすべてのコンバージョン数
metrics.search_impression_share検索広告のインプレッションシェア
segments.ad_network_typeネットワークタイプ
metrics.video_views視聴回数

WHERE句の事例

コード意味
THIS_MONTH今月
TODAY今日
YESTERDAY昨日
LAST_7_DAYS過去7日
LAST_14_DAYS過去14日
LAST_30_DAYS過去30日
LAST_BUSINESS_WEEK先週の月曜日~金曜日
THIS_WEEK_SUN_TODAY今週の日曜日~今日
LAST_WEEK_SUN_SAT先週の日曜日~土曜日

出力用のコード設定事例

広告グループ

const query2 = “SELECT segments.month, campaign.name, ad_group.name, segments.device, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions ” +
“FROM ad_group WHERE segments.month BETWEEN ‘2022-01-01’ AND ‘2022-12-01’ ORDER BY segments.month”;

キーワード

const query3 = “SELECT segments.month, campaign.name, ad_group.name, ad_group_criterion.keyword.text, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions ” +
“FROM keyword_view WHERE segments.month BETWEEN ‘2022-01-01’ AND ‘2022-12-01’ ORDER BY segments.month”;

Google広告で設定する時は、該当箇所をそれぞれ置き換えて前後を整えれば、適正に出力されます。

■良くある質問、最新情報

Q)期間はどれを選んだら良いでしょうか?
A)使う目的やデータ量にもよりますが、最初は下記の基準で考えることをお勧めします。
 ・将来的に過去のデータを保存しながら、この機能を使おうと考えている→「今年の1月1日~12月31日(←未来)」で1年に1回だけ更新します
 ・データを保存するつもりはなく、直近のデータを見るだけで良い→「LAST_7_DAYS」「LAST_30_DAYS」で設定すれば、上記の翌年に書き直す作業も発生しません

Q)Big Queryなど他の方法で出力するのではどう違いますか?
A)記事「Google広告のレポート自動化に向けて3つの方法を比較してみた」に比較表をまとめましたので、ご覧ください。

コードを保存する


そして、コードが入力できたら保存をします。
この時にもし「エラー」が出たら、赤字で下部に表示されます。
どこかが間違っているので、エラーの内容を見ながら修正していきましょう。

もし分からなくなったら、過去に成功していたコードを貼り付けてから修正していくか、上記に共有したコードで最初から貼り付けし直して調整していくのが良いでしょう。

コードが完成したら「保存」ボタンを押して、「認証」を求められたらGoogle IDで連携作業を行うことでAPI連携が完了して出力の準備が整います。
最後に「スクリプト」画面に戻り「頻度」をクリックすれば、「毎日4:00-5:00」にデータが自動更新するように設定できます。

スプレッドシートへの出力

 次の日に自動出力が無事に行われているか、データを確認してみました。実際に、スプレッドシートに出力されたデータは下記です。


ちゃんと時間内に新たなデータが出力されたのかスプレッドシート上の変更履歴でも確認できますし、スクリプト一覧の「スクリプト履歴」から実行日時ごとに、成功かエラーが出たか確認することもできます。

出力したデータを図表で可視化する


上記のデータはディメンション側を、デバイス、月で分割した一番長い量のrawデータです。
これだけでは「日別×広告グループ」で細分化されたデータで見づらいので、集計する必要があります。
そのいくつかの事例は次のとおりです。

事例1.出力したスプレッドシート内で可視化


同じスプレッドシート内で図表を作れば、1つのシート内だけで管理できて便利です。
ピポット機能や数式の「sumifs」などで操作が見たい形で整理して図や表で表現できます。
実際に①で作成した表とグラフの例は下記です。

事例2.Looker Studioで可視化


無料で使えて利便性がある程度良いツールを選ぶなら、Looker Studioでしょう。
編集操作を覚えるのにある程度の時間とスキルが必要ですが、定期的にチェックしたり追加のデータが多くなる場合は継続的に調整しながらこのツールを使って可視化することをお勧めします。

事例3.Tableauで可視化


BIツールを使えば、スプレッドシート、Looker Studioよりも自在に見たい図表をコンパクトな形でダッシュボード上に可視化できます。
有料ツールで操作に慣れるまでがLooker Studioよりも遥かに大変ではありますが、チーム内に操作に慣れているメンバーが1人いえれば、まとめて編集して管理することが可能です。

データの繋ぎ変えや別アカウントや別媒体へのコピーによる横展開は、使いこなせれば圧倒的に便利なので本格的に取り組む場合は検討されるのが良いでしょう。

Looker StudioとTableauを比較した記事も公開しています。興味があれば是非ご覧ください。
TableauとLookerStudioの各機能を比較。どちらがより使いやすいか?

まとめ~Google広告スクリプトのデータ自動出力~

このようにすることで手を加えず毎朝にデータが更新されて、すぐに昨日までの数値チェックと分析に取り掛かれます。

詳細の設定は、Google公式ページ内のライブラリとサンプルページにも記載されています。

Google広告スクリプトを使いこなすこなせれば、大量のデータを短時間で分析できるようになります。実際に各種レポートごとに出力するスプレッドシートを管理しながら使いこなせれば、費用と効率性の両面で大きな効果が見込めます。

Google広告スクリプトを作成したいが難しいという方や、TableauなどのBIツールを導入したいが進まない方は、是非弊社までお問い合わせください。

お問い合わせは下記リンクから
https://spendacorp.com/contact.html

■その他のGoogle広告スクリプト関連の記事
Tableau×Google/Yahoo広告スクリプトで100%データ自動化
【事例紹介】 初月に先月比CV170%!カスタマイズ要件にも対応
LookerStudioでGoogle/Yahoo広告データを自動連係,合体してみた

※2023年2月にYahoo!広告スクリプトも始まりました。

最新情報をチェックしよう!