品質スコアはインプレッションなどの指標と違いストックされない項目のため、過去のある時点での品質スコアを確かめようとしても、さかのぼって調べることはできません。
スケジュール設定をして毎日ダウンロードすることも可能ですが、データ量が肥大してしまい、扱いが難しいこともあると思います。
そこで、今回は、アカウント全体の効率を判断する指標として、AdWords scripts を活用して、アカウントのキーワード全体の品質スコアを毎日自動的に取得する方法ををご紹介したいと思います。
目次
「アカウント単位の品質スコア」は存在しない
誤解を生みそうなので最初に言っておきますと、公式には「アカウント単位の品質スコア」なるものは存在しません。
AdWordsのヘルプ(https://support.google.com/google-ads/answer/2454010?hl=ja)にもそのような記載はありませんし、ホワイトペーパーで広告グループ・キャンペーン・アカウント単位の品質スコアは存在しないと明記されています。
アカウントの健康状態を把握する
アカウント単位で品質スコアの推移を把握する理由は明確で、「品質スコアは、広告やキーワードの健康状態を教えてくれる、車の警告灯のようなもの」と公式のホワイトペーパーにあるように、健康状態を把握することに尽きると思います。
まず、品質スコアそれ自体はビジネスのKPIに設定できるものではありません。「キーワードと広告の関連性」、「想定CTR」、「ランディングページの質」などの複合的な要因からなる品質スコアは、アカウントの健康診断の一項目として、利用することができます。
また、新しく追加されたキーワードに関しては関連するキーワードの品質が加味されているという事実があります。実際にどこまでのキーワードが関連があると判断されているかはわかりませんが、今回ご紹介するアカウント全体の品質スコアをひとつの目安にすることはできると思います。
For Newly-Launched Keywords, Performance on Related Keywords: Does Matter
http://services.google.com/fh/files/misc/settling-the-quality-score-whitepaper-final.pdf
キーワード全体の品質スコアを加重平均で算出
アカウント単位の品質スコアは存在しませんが、インプレッションで重み付けされた全キーワードの品質を算出すると、擬似的にアカウント単位の品質がどのように判断されているかを類推することができます。(単純な平均では実際とはかけ離れた値になりますので注意が必要です)
厳密には、表示されている品質スコアが実際のオークションの際に利用されているわけではありませんが、取得できる精度の限界なのでそこは許容することとします。
品質スコアを AdWords scripts を利用して自動で取得する
毎回品質スコアをみるためにエクセルで頑張ることもないので、AdWords scripts を利用して自動化してみましょう。
以下のコードを AdWords の一括処理のスクリプトから設定し、希望のスケジュールを設定すれば、自動でアカウント単位の擬似的な品質スコアが蓄積されていきます。スプレッドシートに出力することで、それをもとにグラフを加工することも容易にできるようになります。
初めて AdWords scripts を触る、という方でも、10分から15分あればできると思います。
<設定の流れ>
1.まず最初に、品質スコアを貯める Googleスプレッドシートを Googleドライブで作成。
2.次に、対象の AdWordsアカウントにログイン後、左下の「一括処理」メニューから「スクリプト」を選択。
3.「+スクリプト」のボタンから新規スクリプトを作成。任意の名前をつける。
4.下記のコードをコピーして貼り付け、「スプレッドシートのURL」の部分を先ほど作成したものに変更。
5.プレビューして問題なく動作しているようであれば保存し、「スクリプト」のページに戻りお好みのスケジュールの設定を組んで完了です。
コード自体はこちらの記事(http://searchengineland.com/how-account-quality-score-can-guide-adwords-optimization-148595)を参考に、少し改変を加えてみました。
※Googleのスプレッドシートに出力するように設定しているので、「スプレッドシートのURL」の箇所だけ変更ください。
function main() { var totalImpressionsAnalyzed = 0; var totalQualityScoreAnalyzed = 0; var keywordIterator = AdWordsApp.keywords() .withCondition("CampaignStatus = ENABLED") .withCondition("AdGroupStatus = ENABLED") .orderBy("Impressions") .forDateRange("LAST_30_DAYS") .withLimit(100000) .get(); while (keywordIterator.hasNext()) { var keyword = keywordIterator.next(); var qualityScore = keyword.getQualityScore(); var keywordStats = keyword.getStatsFor("LAST_30_DAYS"); var impressions = keywordStats.getImpressions(); var qualityScoreContribution = qualityScore * impressions; totalQualityScoreAnalyzed = totalQualityScoreAnalyzed + qualityScoreContribution; totalImpressionsAnalyzed = totalImpressionsAnalyzed + impressions; } var accountQualityScore = totalQualityScoreAnalyzed / totalImpressionsAnalyzed; Logger.log("QS: " + accountQualityScore); var date = new Date(); var spreadsheetUrl = "スプレッドシートのURL"; var qualityScoreSheet = SpreadsheetApp.openByUrl(spreadsheetUrl).getActiveSheet(); qualityScoreSheet.appendRow([date, accountQualityScore]); }
まとめ
アカウントの健康状態をチェックするためにAdWords script を利用して品質スコアを自動算出する方法をご紹介させていただきました。
この方法で簡単に品質スコアが蓄積できるようになりますが、残念ながらこの方法では AdWords のみになり、スポンサードサーチのキャンペーンでは同じようには取得ができません。ただ、Yahoo! の APIでキーワードに付与された品質インデックスは取得できますので、別の方法で取得することは可能です。
また、人によってはアカウント全体ではなく特定のキーワードの品質スコアを定点観測したい、という場合もあると思いますがその場合も AdWords scripts を利用した方法がブログ等で公開されているので参考にしてみてください。
品質スコアの情報は AdWords 内に蓄積されていくものではないので、過去を遡ってみることはできません。
すぐに品質スコアを定点観測する予定がなくても、ちょっとした手間で保管することができますので、ぜひお試しください!
<参考記事>
How Account Quality Score Can Guide AdWords Optimization
http://searchengineland.com/how-account-quality-score-can-guide-adwords-optimization-148595
If Account-Level Quality Score Doesn’t Exist, Can It Really Hurt Your AdWords Program?
http://searchengineland.com/account-level-quality-score-doesnt-exist-can-really-hurt-adwords-program-200651
Settling the quality score (Google公式のホワイトペーパー)
http://services.google.com/fh/files/misc/settling-the-quality-score-whitepaper-final.pdf
AdWordsの品質スコアの説明資料についての解説
http://www.admarketech.com/2014/07/settling-the-quality-score.html