広告の種類:

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 に「Discount Sales」を含むすべての拡張テキスト広告の統計情報を取得する方法を示しています。

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;
  ...
}

スクリプトでのレポート作成について詳しくは、レポートに関するガイドをご覧ください。