Google 広告では、テキスト広告、イメージ広告、モバイル広告など、さまざまな広告タイプに対応しています。このガイドでは、Google 広告スクリプトを使用して広告を作成、取得、レポートする方法について説明します。Google 広告 で使用できるすべての広告の種類の概要については、API ガイドをご覧ください。
作成
スクリプトでは、AdGroup
インスタンスで newAd()
メソッドを使用して広告を作成できます。これにより、サポートされている広告タイプのビルダーを作成する AdBuilderSpace
が返されます。
次のコードは、拡張テキスト広告の作成方法を示しています。
let adOperation = adGroup.newAd().expandedTextAdBuilder()
.withHeadlinePart1("First headline part")
.withHeadlinePart2("Second headline part")
.withDescription("Ad description")
.withFinalUrl("http://www.example.com")
.withPath1("path1") // optional
.withPath2("path2") // optional
.build();
検査
広告の ID や承認ステータスなど、すべての広告タイプに関連する一部の情報は、Ad
からすぐに確認できます。また、広告の一時停止、有効化、削除も可能です。
拡張テキスト広告の説明など、広告の種類に固有のフィールドにアクセスするには、asType()
メソッドを使用して AdViewSpace
を作成します。これにより、型固有のメソッドを公開する Ad
の拡張バージョンにアクセスできます。
次のスニペットは、すべての拡張テキスト広告の説明を取得します。
const iterator = AdsApp.ads().withCondition("Type = EXPANDED_TEXT_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let expandedTextAd = ad.asType().expandedTextAd();
let description = expandedTextAd.getDescription();
}
条件 Type = EXPANDED_TEXT_AD
により、イテレータのすべての広告が拡張テキスト広告になります。タイプが正しくない広告を表示しようとすると、エラーが発生してスクリプトの実行が停止します。そのため、広告のタイプが判明している場合にのみ、タイプ固有のフィールドを表示することが重要です。
次のスニペットは、Ad.isType()
メソッドを使用して広告のタイプが正しいかどうかを判断する方法を示しています。
if (ad.isType().expandedTextAd()) {
let expandedTextAd = ad.asType().expandedTextAd();
let headlinePart1 = expandedTextAd.getHeadlinePart1();
let headlinePart2 = expandedTextAd.getHeadlinePart2();
}
レポート
ad_group_ad
ビューを使用すると、通常の統計情報(ad_group_ad.expanded_text_ad.headline_part1
など)に加えて、タイプ固有の広告フィールドをクエリすることもできます。次のスニペットは、ヘッドライン 1 に「割引セール」を含むすべての広告表示オプションの統計情報を取得する方法を示しています。
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.id, " +
"ad_group_ad.expanded_text_ad.headline_part1, " +
"ad_group_ad.expanded_text_ad.headline_part2, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost" +
"FROM ad_group_ad " +
"WHERE ad_group_ad.expanded_text_ad.headline_part1 = 'Discount Sales' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let headlinePart1 = row.adGroupAd.expandedTextAd.headlinePart1;
let headlinePart2 = row.adGroupAd.expandedTextAd.headlinePart2;
...
}
スクリプトでのレポートについて詳しくは、レポート ガイドをご覧ください。