縦型広告のコントロールと広告枠のフィルタリング

バーティカル広告は、検索キャンペーン向け AI 最大化設定が有効で、バーティカル フィード(ホテルなど)にリンクされている検索キャンペーン向けの特別な機能を提供します。広告グループ単位で配信するバーティカル広告フォーマットを管理できます。また、バーティカル広告の商品アイテム グループのルールを使用して、ターゲットとするフィード エンティティを管理できます。

概要

このガイドでは、業種別広告の管理に関する 2 つの主な機能について説明します。

  1. フォーマットの管理: 広告グループ単位で、特定の広告フォーマット(テキスト広告、予約リンク、業種別プロモーション広告)を有効または無効にします。
  2. バーティカル広告アイテムの管理: SharedSet と SharedCriterion を含むルールベースのシステムを使用して、リンクされたバーティカル(旧称: 旅行)フィードから特定の広告枠をフィルタしてターゲットに設定します。

前提条件

これらの機能を実装する前に、キャンペーンが次の要件を満たしていることを確認してください。

  • キャンペーン タイプ: 検索キャンペーンである必要があります。
  • 業種別フィード: 有効な業種別データフィードが、顧客レベルまたはキャンペーン レベルでリンクされている必要があります。キャンペーン単位でフィードをリンクするには、キャンペーン単位で業種別データフィードをリンクするをご覧ください。業種別データフィードをリンクすると、検索広告の旅行フィード(TFSA)が有効になり、キャンペーンで業種別広告のコントロールが有効になります。
  • 検索キャンペーン向け AI 最大化設定: 検索キャンペーン向け AI 最大化設定がキャンペーンで有効になっている必要があります。

検索広告の旅行フィード(TFSA)を有効にして、キャンペーン内で業種別広告のコントロールを有効にするには、次の手順でキャンペーン単位で業種別データフィードのアセット セットをリンクします。また、アカウント内のすべてのキャンペーンでこれらの機能を有効にするには、検索広告の旅行フィード ガイドの顧客レベルのリンク手順に沿って、顧客レベルでフィードをリンクします。

  1. CampaignAssetSet オブジェクトを作成し、asset_set を業種別フィードのアセットセットのリソース名に、campaign をキャンペーンのリソース名に設定します。
  2. create を CampaignAssetSet に設定して CampaignAssetSetOperation を作成します。
  3. CampaignAssetSetService.MutateCampaignAssetSets を使用してオペレーションを送信します。

旅行フィードを大規模に管理する方法について詳しくは、検索広告の旅行フィードのドキュメントをご覧ください。

広告グループのフォーマット管理

特定の広告グループで有効にするバーティカル広告フォーマットを設定できます。これは、AdGroup リソースの vertical_ads_format_setting(VerticalAdsFormatSetting)フィールドで管理されます。

利用可能なフォーマット

  • テキスト広告(disable_text_ads): デフォルトで有効になっています。無効にできます。
  • 予約リンク(enable_booking_links): オプトインが必要です。HOTELS と THINGS_TO_DO の業種フィードでのみサポートされています。
  • 業種別プロモーション広告(enable_vertical_promotion_ads): オプトインが必要です。

検証規則

  • 1 つの広告グループで 3 つのフォーマットすべてを同時にオプトアウトすることはできません。
  • enable_booking_links を true に設定できるのは、キャンペーンのアクティブな業種別フィードが HOTELS または THINGS_TO_DO の場合のみです。
  • これらの設定は、SEARCH_STANDARD と SEARCH_DYNAMIC_ADS の広告グループ タイプにのみ適用されます。

例: 形式設定を更新する

次の Java の例は、既存の広告グループでテキスト広告を無効にし、業種別プロモーション広告を有効にする方法を示しています。

// Assuming 'adGroup' is an existing AdGroup object.
// Example resource name: "customers/{customer_id}/adGroups/{ad_group_id}"
AdGroup adGroupToUpdate = AdGroup.newBuilder()
    .setResourceName(adGroup.getResourceName())
    .setVerticalAdsFormatSetting(
        AdGroup.VerticalAdsFormatSetting.newBuilder()
            .setDisableTextAds(true)
            .setEnableBookingLinks(false)
            .setEnableVerticalPromotionAds(true)
    )
    .build();

AdGroupOperation operation = AdGroupOperation.newBuilder()
    .setUpdate(adGroupToUpdate)
    .setUpdateMask(FieldMasks.allSetFieldsOf(adGroupToUpdate))
    .build();

// Submit the operation using AdGroupService...

縦長広告アイテムの管理

「ボストンのホテル」や「1 つ星ホテルを除外」など、フィード在庫の特定のサブセットをターゲットに設定するには、バーティカル広告の商品アイテム グループのルールを使用する必要があります。

データモデルの仕組み

データモデルでは、共有条件アプローチを使用します。

  1. SharedSet: タイプ VERTICAL_ADS_ITEM_GROUP_RULE_LIST の SharedSet を作成します。
  2. SharedCriterion: このセットにルール(条件)を追加します。各ルールでは、ディメンション(市区町村、ホテルクラスなど)と値を指定します。除外条件を作成してアイテムを除外することもできます。
  3. AdGroupCriterion: AdGroupCriterion(vertical_ads_item_group_rule_list)を使用して、SharedSet を AdGroup にリンクします。

サポートされているディメンション

SharedSet の vertical_ads_item_vertical_type に応じて、SharedCriterion(VerticalAdsItemGroupRuleInfo)の次のディメンションに基づいてエンティティをフィルタできます。

  • item_code: 特定のリスティング ID(すべての業種タイプでサポート)。
  • city_criterion_id、region_criterion_id、country_criterion_id: 地域ターゲティング定数リソース名(geoTargetConstants/{id}。FLIGHTS を除くすべての業種タイプでサポートされています)。
  • hotel_class: 1 ~ 5 の星評価(HOTELS のみ)。
  • user_rating(v24 以降): 1 ~ 5 の範囲で切り捨てられたユーザー評価(THINGS_TO_DO のみ)。
  • venue、event_participant_display_name(v24 以降): イベント会場と参加者の表示名フィルタ(EVENTS のみ)。

この Python の例では、「ボストン」または「サンフランシスコ」のアイテムを含め、「1 つ星」と「2 つ星」のホテルを除外するルールを作成します。

# 1. Create the SharedSet
shared_set_operation = client.get_type("SharedSetOperation")
shared_set = shared_set_operation.create
shared_set.name = "Boston/SF Premium Hotels"
shared_set.type_ = (
    client.enums.SharedSetTypeEnum.VERTICAL_ADS_ITEM_GROUP_RULE_LIST
)
shared_set.vertical_ads_item_vertical_type = (
    client.enums.VerticalAdsItemVerticalTypeEnum.HOTELS
)
shared_set_service = client.get_service("SharedSetService")
shared_set_response = shared_set_service.mutate_shared_sets(
    customer_id=customer_id, operations=[shared_set_operation]
)
shared_set_resource_name = shared_set_response.results[0].resource_name

# 2. Add Criteria (Rules) to the SharedSet
shared_criteria_operations = []

# Rule A: Include Boston and SF
geo_target_constant_service = client.get_service("GeoTargetConstantService")
included_city_ids = [1006543, 1014221]  # Geo Target Constant IDs
for city_id in included_city_ids:
  op = client.get_type("SharedCriterionOperation")
  criterion = op.create
  criterion.shared_set = shared_set_resource_name
  criterion.vertical_ads_item_group_rule.city_criterion_id = (
      geo_target_constant_service.geo_target_constant_path(city_id)
  )
  shared_criteria_operations.append(op)

# Rule B: Exclude 1 and 2 Star Hotels
excluded_stars = [1, 2]
for star_rating in excluded_stars:
  op = client.get_type("SharedCriterionOperation")
  criterion = op.create
  criterion.shared_set = shared_set_resource_name
  criterion.vertical_ads_item_group_rule.hotel_class = star_rating
  criterion.negative = True  # Mark as exclusion
  shared_criteria_operations.append(op)

# Submit SharedCriterionOperations...

# 3. Link to AdGroup
ad_group_service = client.get_service("AdGroupService")
ad_group_resource_name = ad_group_service.ad_group_path(
    customer_id, ad_group_id
)
agc_operation = client.get_type("AdGroupCriterionOperation")
agc = agc_operation.create
agc.ad_group = ad_group_resource_name
agc.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
agc.vertical_ads_item_group_rule_list.shared_set = shared_set_resource_name

# Submit AdGroupCriterionOperation...

エンティティごとの個別クリック単価に基づく入札

v25 より、個別クリック単価(BiddingStrategyType.MANUAL_CPC)入札戦略を使用する旅行向け検索キャンペーン(検索キャンペーン向け AI 最大化設定が有効で、ホテルフィードがリンクされている検索キャンペーン)では、CriterionType.VERTICAL_ADS_ITEM_BID と entity_bid.item_code を使用して、EntityBid(ad_group_criterion.entity_bid)条件で個々のホテルフィード アイテムの個別クリック単価による入札単価の上書き(cpc_bid_micros)を設定できます。

除外条件(negative = true)、検索キャンペーン以外のキャンペーン、自動入札戦略またはスマート自動入札戦略は VERTICAL_ADS_ITEM_BID でサポートされておらず、ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT が返されます。パフォーマンス指標は VERTICAL_ADS_ITEM_BID 条件に入力されません。スキーマの詳細、GAQL クエリ、ミューテート ペイロードの例については、検索広告の旅行フィード ガイドのエンティティごとの個別クリック単価に基づく入札をご覧ください。

パフォーマンス レポート

業種別広告のパフォーマンス指標は、GoogleAdsService.SearchStream メソッドまたは GoogleAdsService.Search メソッドを使用して取得できます。

縦長広告セグメント

旅行プランのディメンション セグメント

v25 以降、旅行と宿泊施設のフィードにリンクされた業種別広告では、旅程ディメンションを使用してパフォーマンス レポートを分割できます。

縦長広告の指標

v25 以降、次の業種別広告の指標を取得できます。

GAQL クエリの例

このクエリは、リスティングの都市、価格帯、料金タイプでセグメント化された、垂直広告の競合と予約の指標を取得します。

SELECT
  campaign.id,
  ad_group.id,
  segments.vertical_ads_listing_city,
  segments.vertical_ads_price_tier,
  segments.vertical_ads_rate_type,
  metrics.vertical_ads_potential_impressions,
  metrics.vertical_ads_average_booking_value_micros,
  metrics.vertical_ads_price_difference_percentage
FROM
  ad_group
WHERE
  segments.date DURING LAST_30_DAYS

このクエリは、標準のパフォーマンス指標を宿泊プランの予約ディメンションでセグメント化します。

SELECT
  campaign.id,
  ad_group.id,
  segments.vertical_ads_listing_city,
  segments.advance_booking_window,
  segments.length_of_booking,
  segments.start_date,
  metrics.impressions,
  metrics.clicks,
  metrics.all_conversions_value
FROM
  ad_group
WHERE
  segments.date DURING LAST_30_DAYS

エラー処理

縦長広告を設定する際によくあるエラーは次のとおりです。

エラーコード 原因 推奨される対処方法
AdGroupError.INVALID_VERTICAL_ADS_FORMAT_SETTING 3 つの広告フォーマット(テキスト、予約リンク、プロモーション広告)がすべて同時に無効になっているか、HOTELS または THINGS_TO_DO 以外の業種で enable_booking_links が有効になっています。 VerticalAdsFormatSetting で少なくとも 1 つの形式が有効になっていることを確認し、HOTELS フィードまたは THINGS_TO_DO フィードの予約リンクのみを有効にします。
AdGroupError.VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX キャンペーンで検索キャンペーン向け AI 最大化設定が有効になっていない。 キャンペーン設定で検索キャンペーン向け AI 最大化設定を有効にします。
AdGroupError.VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED キャンペーンに有効な業種別データフィードがありません。 お客様単位またはキャンペーン単位で有効な業種別フィードがリンクされていることを確認します。
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST AdGroupCriterion で指定された SharedSet リソース名が存在しないか、タイプが VERTICAL_ADS_ITEM_GROUP_RULE_LIST ではありません。 shared_set リソース名が、タイプ VERTICAL_ADS_ITEM_GROUP_RULE_LIST の既存の SharedSet を参照していることを確認します。
CriterionError.CANNOT_ADD_REMOVED_VERTICAL_ADS_ITEM_GROUP_RULE_LIST_SHARED_SET AdGroupCriterion で参照されている SharedSet のステータスが REMOVED です。 タイプ VERTICAL_ADS_ITEM_GROUP_RULE_LIST の有効な SharedSet を参照します。
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE 使用されている条件ディメンションが、特定の業種(レンタカーのホテルクラスなど)でサポートされていません。 vertical_ads_item_group_rule ディメンションが業種と一致していることを確認します。