【GAS】Google広告の運用データをスプレッドシートに自働で取得する

2021年9月29日

Google広告(Google Ads)の運用データをスプレッドシートに自働で取得する方法です。インプレション、クリック数、コンバージョン数などいろいろなデータを取得できます。

yahoo広告はこちら

スプレッドシートの準備

スプレッドシートを準備します。「GSNdb」と「GSNtemp」のシートを作成します。

「GSNdb」にデータが蓄積されます。「GSNtemp」は一時的にデータを記録するシートなので非表示にしても問題ありません。

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

Google広告のスクリプトを作成します。データを取得したいアカウントを選択し

「ツールと設定」→「スクリプト」を選択

 新しいスクリプトを作成します。

スクリプト

下記のコードを使用します。

function main() {
    //データシートのファイルIDを設定
    const FileID = '1HgsixU********'

    const temp_sheet = SpreadsheetApp.openById(FileID).getSheetByName('GSNtemp');
    const db_sheet = SpreadsheetApp.openById(FileID).getSheetByName('GSNdb');
    //取得したいデータを指定
    var report = AdsApp.report('select CampaignName, Date,Clicks,Conversions,Cost,Impressions ' + 'from LANDING_PAGE_REPORT ' + 'during YESTERDAY');
    report.exportToSheet(temp_sheet);
    if (temp_sheet.getLastRow() == 1) {
        return;
    }
    const values = temp_sheet.getRange(2, 1, temp_sheet.getLastRow() - 1, temp_sheet.getLastColumn()).getValues();
    const ranges = db_sheet.getRange(db_sheet.getLastRow() + 1, 1, values.length, values[0].length);
    ranges.setValues(values);
}

3行目に作成したスプレッドシートのIDを入力してください。

取得データの設定

8行目のここで取得したいデータを指定します。

//取得したいデータを指定
var report = AdsApp.report('select CampaignName, Date,Clicks,Conversions,Cost,Impressions ' + 'from LANDING_PAGE_REPORT ' + 'during YESTERDAY');

今回は、前日のデータでキャンペーン名、日付、クリック数、コンバージョン数、運用費用、インプレッションを取得しています。

AdsAppの詳細は下記を参照してください。

https://developers.google.com/adwords/api/docs/appendix/reports/landing-page-report?hl=ja

保存をして実行しエラーが出ないことを確認してください。承認画面が出ますので承認をしてください。

自働実行の設定

スクリプト一覧画面に戻り、スクリプトを実行する頻度を設定します。

これで完了です。設定した時間にスクリプトが実行されてスプレッドシートに記録されていきます。

参考:コンバージョン数を取得するコード

8行目を下記に変更するとカスタムコンバージョン別のデータが取得できます。

var report = AdsApp.report('SELECT campaign.name, segments.conversion_action_name, segments.date, metrics.all_conversions FROM campaign WHERE segments.date DURING LAST_30_DAYS'); 

参考になれば幸いです。

関連ページ

【Google広告】MCCのすべてのアカウントから運用データを取得する

GAS,Javascript

Posted by Next-k