top of page

【AS】Adwords Scriptでレポートの自動出力

せっかくなので、早起きして更新

最近はいろいろ覚えてきて面白いですよね。

ここにきて、自分でスキルを探し出せるとは

思っておりませんでした。

合宿中ですが、寝る前のひと更新しておきましょうか。

地方にいった同期は、みんな頑張ってるみたいです。

ぼくも負けてられない。。

Adwords Script

Adwordsの運用をしている方でもここを頻繁に触っている方はあんまり

いないんじゃないでしょうか。

私は、ここ数日前まで触れておりませんでした。

いろいろいじっておりまして、とりあえず、ここで広告の操作や、レポート出力が

できるようになります。

レポート自動出力については、まず楽ですが、特に通常の管理画面では

変遷を保存できない品質スコアや、平均順位を日付ごとに保存しておくと

あとで分析するときにもっと深い目線で観れるのではないかと思います。

キーワード【CTR,AP,QS】レポート

クリック率、平均順位、品質スコアの変遷を1日ごとに記録します。

ぼくが学生の頃、英会話の家庭教師をやっていたときに、個人的にサイトをつくって

適当に運用していた頃のアカウントデータです。なつかしい。

【Script解説】

// グローバル変数

var spreadsheet_url = 'https://docs.google.com/spreadsheets/d/1xdYucpkjxVvV32GD928yWcJD3SziLfnT9KymLaicxs8/edit#gid=0';

var spreadsheet = SpreadsheetApp.openByUrl(spreadsheet_url);

var rawsheet = spreadsheet.getSheetByName('データ用');

//ぱっと見てなんのことかわかりやすいと思います。

// キーワードレポート(今日)

function main() {

var formatsheet = spreadsheet.getSheetByName('データ集積');

rawsheet.clear();

//formatsheet.clear();

//今回は累積レポートなので、メインのシートのClearメソッドはコメントアウトしてます。

// レポート取得

var report = AdWordsApp.report(

'SELECT Date,CampaignName, AdGroupName, KeywordText, Ctr,AveragePosition,QualityScore ' +

'FROM KEYWORDS_PERFORMANCE_REPORT ' +

'WHERE Status = ENABLED and CampaignName = "「フォニックス」" ' +

// 'WHERE Impressions > 0 ' +

'DURING TODAY');

//このASにおいて一番重要である、AWQLについてです。

//クエリ言語とよばれるもので、この規定にしたがって、Adwordsから何を出力するか決定します。

//これについては、別の記事で詳しくご紹介しますが、基本英語がわかれば大丈夫かと思います。

// 上記AWQLで指定したデータをエキスポート

report.exportToSheet(rawsheet);

// ヘッダー設定

var header = [

'日付',

'キャンペーン名',

'広告グループ名',

'キーワード',

'クリック率',

'平均掲載順位',

'品質スコア',

];

var headerrange = formatsheet.getRange(1, 1, 1, 7);

headerrange.setValues([header]);

headerrange.setHorizontalAlignment("center");

headerrange.setFontWeight("bold");

headerrange.setFontSize(8);

// rawdataをフォーマットシートへ値コピー

var lastRow = rawsheet.getLastRow();

var lastColumn = rawsheet.getLastColumn();

var flastRow = formatsheet.getLastRow();

var copyValue = rawsheet.getRange(2, 1, lastRow, lastColumn).getValues();

formatsheet.getRange(flastRow, 1, lastRow, lastColumn).setValues(copyValue);

}

//基本文法さえ理解していれば、そんな難しい処理はしていないはずです。

//getValue,setValueの意味さえわかっていれば大丈夫かと。

という感じで、無事Adwordsから自動出力がレポート単位で可能になります。

詳しい指示はクエリ言語がわからないと難しいので、また後日。

では。

bottom of page