如果搜尋廣告活動已啟用 AI Max 搜尋廣告活動,並連結至飯店等垂直動態饋給,即可使用垂直廣告的專屬功能。您可以在廣告群組層級控管放送的直向廣告格式,並使用直向廣告項目群組規則,控管指定目標的動態饋給實體。
總覽
本指南將介紹管理垂直廣告的兩項主要功能:
- 格式控制選項:在廣告群組層級選擇加入或選擇不採用特定廣告格式 (文字廣告、預訂連結和垂直宣傳廣告)。
- 管理直向廣告項目:使用規則型系統 (包含
SharedSet和SharedCriterion),從已連結的直向 (舊稱「旅遊」) 動態饋給中篩選及指定特定廣告空間。
必要條件
導入這些功能前,請確認廣告活動符合下列規定:
- 廣告活動類型:必須是搜尋廣告活動。
- 垂直動態饋給:必須在客戶或廣告活動層級連結有效的垂直資料動態饋給。如要在廣告活動層級連結動態饋給,請參閱這篇文章。連結垂直資料動態饋給會啟用搜尋廣告旅遊動態饋給 (TFSA),並為廣告活動啟用垂直廣告控制選項。
- AI Max 搜尋廣告活動:必須在廣告活動中啟用 AI Max 搜尋廣告活動設定。
在廣告活動層級連結垂直資料動態饋給
如要啟用搜尋廣告旅遊動態饋給 (TFSA),並在廣告活動中啟用垂直廣告控制項,請按照下列步驟,在廣告活動層級連結垂直資料動態饋給素材資源組合。如要為帳戶中的所有廣告活動啟用這些功能,也可以按照「搜尋廣告旅遊動態饋給」指南中的客戶層級連結操作說明,在客戶層級連結動態饋給。
- 建立
CampaignAssetSet物件,將asset_set設為垂直動態饋給素材資源組合的資源名稱,並將campaign設為廣告活動的資源名稱。 - 建立
CampaignAssetSetOperation,並將create設為CampaignAssetSet。 - 使用
CampaignAssetSetService.MutateCampaignAssetSets提交作業。
如要進一步瞭解如何大規模管理旅遊動態饋給,請參閱「搜尋廣告旅遊動態饋給」文件。
廣告群組格式控制項
您可以設定特定廣告群組要啟用哪些直向廣告格式。這項設定是透過「AdGroup」資源的「vertical_ads_format_setting」(VerticalAdsFormatSetting) 欄位管理。
可用格式
- 文字廣告 (
disable_text_ads):預設為啟用。可停用。 - 預訂連結 (
enable_booking_links): 必須啟用。僅支援HOTELS和THINGS_TO_DO直向動態饋給。 - 產業宣傳廣告
(
enable_vertical_promotion_ads): 必須選擇加入。
驗證規則
- 您無法同時為單一廣告群組停用這三種格式。
- 只有在廣告活動的有效垂直動態饋給為
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 星飯店」),請務必使用產業廣告商品群組規則。
資料模型的運作方式
資料模型採用共用條件做法:
SharedSet:建立SharedSet,類型為VERTICAL_ADS_ITEM_GROUP_RULE_LIST。SharedCriterion:為這個規則集新增規則 (條件)。每條規則都會指定維度 (例如城市或飯店等級) 和值。 你也可以建立排除條件來排除項目。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 方法,擷取直向廣告的成效指標。
直向廣告區隔
segments.vertical_ads_hotel_class:整數值 (1 到 5 星),指定飯店資訊的星級。segments.vertical_ads_listing:特定垂直廣告刊登的 ID。segments.vertical_ads_listing_brand:與垂直廣告刊登相關聯的品牌。segments.vertical_ads_listing_city:與商家資訊相關聯的城市。segments.vertical_ads_listing_country:與商家資訊相關聯的國家/地區。segments.vertical_ads_listing_region:與商家資訊相關聯的區域。segments.vertical_ads_partner_account:合作夥伴中心 (例如 Hotel Center) 內的合作夥伴帳戶,提供商品目錄動態饋給資料。segments.vertical_ads_vertical:垂直類型,例如飯店或租車。segments.vertical_ads_event_participant_display_names:活動清單中參與者的顯示名稱,例如表演者、講者或團隊。segments.vertical_ads_listing_user_rating(自v24起):整數值 (1 到 5),指定垂直廣告刊登的評分。segments.vertical_ads_listing_venue(自v24起):直式廣告刊登的場地名稱 (例如演唱會場地)。segments.vertical_ads_price_tier(自v25起):飯店資訊的相對價格競爭力區間。segments.vertical_ads_rate_rule_id(自v25起):與套用至出價或曝光的私有或條件式費率規則相應的字串 ID。segments.vertical_ads_rate_type(自v25起):公開、不公開或條件式費率類型的分類。
行程維度區隔
自 v25起,如果垂直廣告連結至旅遊和住宿動態饋給,您可以使用行程維度區隔成效報表:
segments.advance_booking_window:行程的提前預訂期 (以天為單位)。segments.length_of_booking:行程的預訂天數。segments.start_date:預訂的開始日期,格式為yyyy-MM-dd。segments.start_day_of_week:預訂的開始日 (星期幾)。segments.user_set_dates:指出是否已選取使用者指定的日期 (USER_SELECTED或DEFAULT_SELECTION)。
直向廣告指標
自 v25起,您可以擷取下列產業廣告指標:
metrics.vertical_ads_potential_impressions: 代表查詢內容中可用的總計符合資格曝光次數 (設有上限)。metrics.vertical_ads_average_booking_value_micros:以微元為單位,根據點擊次數加權計算的平均每日房價,包含稅金和相關費用,計算範圍為總入住天數。metrics.vertical_ads_price_difference_percentage: 比較廣告主提供的價格與相同房源的最低競爭價格,計算出的百分比差異。
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 維度符合直式類型。 |