直向廣告的控制選項和廣告空間篩選功能

如果搜尋廣告活動已啟用 AI Max 搜尋廣告活動,並連結至飯店等垂直動態饋給,即可使用垂直廣告的專屬功能。您可以在廣告群組層級控管放送的直向廣告格式,並使用直向廣告項目群組規則,控管指定目標的動態饋給實體。

總覽

本指南將介紹管理垂直廣告的兩項主要功能:

  1. 格式控制選項:在廣告群組層級選擇加入或選擇不採用特定廣告格式 (文字廣告、預訂連結和垂直宣傳廣告)。
  2. 管理直向廣告項目:使用規則型系統 (包含 SharedSet 和 SharedCriterion),從已連結的直向 (舊稱「旅遊」) 動態饋給中篩選及指定特定廣告空間。

必要條件

導入這些功能前,請確認廣告活動符合下列規定:

  • 廣告活動類型:必須是搜尋廣告活動。
  • 垂直動態饋給:必須在客戶或廣告活動層級連結有效的垂直資料動態饋給。如要在廣告活動層級連結動態饋給,請參閱這篇文章。連結垂直資料動態饋給會啟用搜尋廣告旅遊動態饋給 (TFSA),並為廣告活動啟用垂直廣告控制選項。
  • AI Max 搜尋廣告活動:必須在廣告活動中啟用 AI Max 搜尋廣告活動設定。

如要啟用搜尋廣告旅遊動態饋給 (TFSA),並在廣告活動中啟用垂直廣告控制項,請按照下列步驟,在廣告活動層級連結垂直資料動態饋給素材資源組合。如要為帳戶中的所有廣告活動啟用這些功能,也可以按照「搜尋廣告旅遊動態饋給」指南中的客戶層級連結操作說明,在客戶層級連結動態饋給。

  1. 建立 CampaignAssetSet 物件,將 asset_set 設為垂直動態饋給素材資源組合的資源名稱,並將 campaign 設為廣告活動的資源名稱。
  2. 建立 CampaignAssetSetOperation,並將 create 設為 CampaignAssetSet。
  3. 使用 CampaignAssetSetService.MutateCampaignAssetSets 提交作業。

如要進一步瞭解如何大規模管理旅遊動態饋給,請參閱「搜尋廣告旅遊動態饋給」文件。

廣告群組格式控制項

您可以設定特定廣告群組要啟用哪些直向廣告格式。這項設定是透過「AdGroup」資源的「vertical_ads_format_setting」(VerticalAdsFormatSetting) 欄位管理。

可用格式

驗證規則

  • 您無法同時為單一廣告群組停用這三種格式。
  • 只有在廣告活動的有效垂直動態饋給為 HOTELS 或 THINGS_TO_DO 時,才能將 enable_booking_links 設為 true。
  • 這些設定僅適用於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:建立 SharedSet,類型為 VERTICAL_ADS_ITEM_GROUP_RULE_LIST。
  2. SharedCriterion:為這個規則集新增規則 (條件)。每條規則都會指定維度 (例如城市或飯店等級) 和值。 你也可以建立排除條件來排除項目。
  3. AdGroupCriterion:使用 AdGroupCriterion (vertical_ads_item_group_rule_list) 將 SharedSet 連結至 AdGroup。

支援的維度

您可以在 SharedCriterion (VerticalAdsItemGroupRuleInfo) 中,根據下列維度篩選實體,視 SharedSet 的 vertical_ads_item_vertical_type 而定:

  • 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 Max 搜尋廣告活動並連結飯店動態饋給的搜尋廣告活動),您可以透過 EntityBid (ad_group_criterion.entity_bid) 條件搭配 CriterionType.VERTICAL_ADS_ITEM_BID 和 entity_bid.item_code,為個別飯店動態饋給項目設定手動單次點擊出價的覆寫出價 (cpc_bid_micros)。

VERTICAL_ADS_ITEM_BID 和ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT 不支援負面條件 (negative = true)、非搜尋廣告活動,以及自動或智慧出價策略。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 所有三種廣告格式 (文字、預訂連結、宣傳廣告) 同時遭到停用,或enable_booking_links已啟用,但所屬產業並非HOTELS或THINGS_TO_DO。 請確保在 VerticalAdsFormatSetting 中啟用至少一種格式,並只為 HOTELS 或 THINGS_TO_DO 動態饋給啟用預訂連結。
AdGroupError.VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX 廣告活動未啟用 AI Max 搜尋廣告活動。 在廣告活動設定中啟用 AI Max 搜尋廣告活動。
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。 參考已啟用的 SharedSet (屬於 VERTICAL_ADS_ITEM_GROUP_RULE_LIST 類型)。
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE 使用的條件維度不支援特定產業,例如租車服務的飯店等級。 確認 vertical_ads_item_group_rule 維度符合直式類型。