產業廣告提供專屬功能,適用於已啟用 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:建立類型為VERTICAL_ADS_ITEM_GROUP_RULE_LIST的SharedSet。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 範例會建立規則,納入「Boston」或「San Francisco」的項目,並排除「1-star」和「2-star」飯店:
# 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起,如果旅遊搜尋廣告活動 (已啟用 AI Max 搜尋廣告活動,且連結飯店動態饋給) 採用手動單次點擊出價 (BiddingStrategyType.MANUAL_CPC) 策略,您可以使用 EntityBid (ad_group_criterion.entity_bid) 標準搭配 CriterionType.VERTICAL_ADS_ITEM_BID 和 entity_bid.item_code,為個別飯店動態饋給項目設定手動單次點擊覆寫出價 (cpc_bid_micros)。
VERTICAL_ADS_ITEM_BID 不支援排除條件 (negative = true)、非搜尋廣告活動,以及自動或智慧出價策略,並會傳回 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT。VERTICAL_ADS_ITEM_BID條件不會填入成效指標。如需完整的結構定義詳細資料、GAQL 查詢和變動酬載範例,請參閱「搜尋廣告旅遊動態饋給」指南中的「個別實體手動單次點擊出價」一節。如要使用 AdGroupBidModifier,為飯店廣告設定旅遊行程維度的廣告群組出價調整幅度,請參閱「使用出價調節係數調整出價」一文。
成效報表
您可以使用 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 |
同時停用三種廣告格式 (文字、預訂連結、宣傳廣告),或為 HOTELS 或 THINGS_TO_DO 以外的產業啟用 enable_booking_links。 |
請確認 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。 |
參照已啟用的 VERTICAL_ADS_ITEM_GROUP_RULE_LIST 類型 SharedSet。 |
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE |
所用的條件維度不支援特定產業,例如租車業的飯店等級。 | 確認 vertical_ads_item_group_rule 維度與您的產業類型相符。 |