広告の種類:

Google 広告では、テキスト広告、イメージ広告、モバイル広告など、さまざまな種類の広告がサポートされています。 このガイドでは、Google 広告スクリプトを使用して広告を作成、取得、レポートする方法について説明します。 Google 広告 で使用できるすべての広告の種類の概要については、 API ガイドをご覧ください。

作成

スクリプトでは、 AdGroup インスタンスの newAd() メソッドを使用して広告を作成できます。これにより、サポートされている広告タイプの AdBuilderSpace を作成する builders が返されます。

次のスニペットは、レスポンシブ検索広告を作成する方法を示しています。

let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
    .withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
    .withDescriptions(["Description 1", "Description 2"])
    .withFinalUrl("http://www.example.com")
    .withPath1("path1")
    .withPath2("path2")
    .build();

検査

すべての広告タイプに関連付けられている情報( 広告の ID や承認状況など)は、 Adからすぐに取得できます。また、どの広告でも一時停止、有効化、削除が可能です。

広告のタイプに固有のフィールド(レスポンシブ検索広告の見出しなど)にアクセスするには、 メソッドを使用して AdViewSpaceを作成します。asType()これにより、タイプ固有のメソッドを公開する Adの拡張バージョンにアクセスできます。

次のスニペットは、すべてのレスポンシブ検索広告の見出しを取得します。

const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
  let ad = iterator.next();
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
}

条件 Type = RESPONSIVE_SEARCH_AD により、イテレータのすべての広告がレスポンシブ検索広告であることが保証されます。タイプが正しくない広告を表示しようとすると、スクリプトの実行が停止するエラーが発生するため、広告のタイプがわかっている場合にのみタイプ固有のフィールドを表示することが重要です。

次のスニペットは、広告が正しいタイプかどうかを判断する方法を示しています 使用して Ad.isType() メソッド:

if (ad.isType().responsiveSearchAd()) {
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
  let descriptions = responsiveSearchAd.getDescriptions();
}

標準セレクタを使用して見出しテキストで広告をフィルタすることはできませんが、取得後に JavaScript でフィルタすることはできます。

const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
  let ad = iterator.next();
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
  // Filter for ads containing a specific headline.
  if (headlines.some(h => h.getText().includes("Special Offer"))) {
    console.log(`Found ad with ID ${ad.getId()}`);
  }
}

レポート

ad_group_ad ビューを使用すると、通常の統計情報に加えて広告フィールドをクエリできます。たとえば、 広告タイプでフィルタできます。 ad_group_ad.ad.type 次のスニペットは、すべてのレスポンシブ検索広告の統計情報を取得する方法を示しています。

const results = AdsApp.search(
  "SELECT ad_group_ad.ad_group.id, " +
          "ad_group_ad.ad.id, " +
          "metrics.clicks, " +
          "metrics.impressions, " +
          "metrics.cost " +
  "FROM ad_group_ad " +
  "WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
    "AND segments.date DURING LAST_7_DAYS");

while (results.hasNext()) {
  let row = results.next();
  let adId = row.adGroupAd.ad.id;
  let clicks = row.metrics.clicks;
  ...
}

アセットのコンテンツでフィルタする

レスポンシブ検索広告を見出しや 説明文のコンテンツで大規模にフィルタするには、 ad_group_ad_asset_view リソースを使用します。このビューでは、見出しと説明文がそれぞれ別の行として扱われるため、アセットのテキストでフィルタできます。

次のスニペットは、特定の見出しを含むすべてのレスポンシブ検索広告の統計情報を取得します。

const results = AdsApp.search(
  "SELECT ad_group_ad.ad.id, " +
          "asset.text_asset.text, " +
          "metrics.clicks, " +
          "metrics.impressions " +
  "FROM ad_group_ad_asset_view " +
  "WHERE asset.text_asset.text LIKE '%Special Offer%' " +
    "AND ad_group_ad_asset_view.field_type = 'HEADLINE'");

while (results.hasNext()) {
  let row = results.next();
  let adId = row.adGroupAd.ad.id;
  let text = row.asset.textAsset.text;
  let clicks = row.metrics.clicks;
  console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}

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