垂直广告可为已启用 AI Max 搜索广告系列且与垂直 Feed(例如酒店)相关联的搜索广告系列提供专用功能。您可以在广告组一级控制投放哪些竖屏广告格式,还可以使用竖屏广告商品组规则控制定位哪些 Feed 实体。
概览
本指南介绍了用于管理竖屏广告的两项主要功能:
- 格式控制:在广告组一级选择启用或停用特定广告格式(文字广告、预订链接和竖屏宣传广告)。
- 竖屏广告商品管理:使用基于规则的系统(涉及
SharedSet和SharedCriterion)过滤和定位已关联的竖屏(以前称为旅游)Feed 中的特定广告资源。
前提条件
在实施这些功能之前,请确保您的广告系列符合以下要求:
- 广告系列类型:必须是搜索广告系列。
- 垂直 Feed:必须在客户或广告系列一级关联有效的垂直数据 Feed。如需在广告系列一级关联 Feed,请参阅在广告系列一级关联垂直行业数据 Feed。 关联垂直行业数据 Feed 会启用搜索广告中的旅游 Feed (TFSA),并为相应广告系列启用垂直行业广告控件。
- AI Max 搜索广告系列:必须在广告系列中启用“AI Max 搜索广告系列”设置。
在广告系列一级关联垂直行业数据 Feed
如需在广告系列中启用搜索广告中的旅游 Feed (TFSA) 并启用垂直广告控件,您可以按照以下步骤操作,在广告系列级关联垂直数据 Feed 素材资源集。或者,如需为账号中的所有广告系列启用这些功能,您可以按照“搜索广告中的旅游 Feed”指南中的客户账号级关联说明,在客户账号级关联 Feed。
- 创建一个
CampaignAssetSet对象,将asset_set设置为垂直 Feed 素材资源组的资源名称,并将campaign设置为广告系列的资源名称。 - 创建一个
CampaignAssetSetOperation,并将create设置为CampaignAssetSet。 - 使用
CampaignAssetSetService.MutateCampaignAssetSets提交操作。
如需详细了解如何大规模管理旅游 Feed,请参阅搜索广告中的旅游 Feed 文档。
广告组格式控件
您可以配置特定广告组中哪些竖屏广告格式处于有效状态。此功能通过 AdGroup 资源上的 vertical_ads_format_setting (VerticalAdsFormatSetting) 字段进行管理。
可用格式
- 文字广告 (
disable_text_ads):默认处于启用状态。可以停用。 - 预订链接 (
enable_booking_links): 需要选择启用。 - 纵向宣传广告 (
enable_vertical_promotion_ads): 需要选择启用。
验证规则
- 您无法同时为单个广告组选择停用所有这三种格式。
- 这些设置仅适用于
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(
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...
竖屏广告商品管理
如需定位 Feed 商品目录中的特定子集,例如“波士顿的酒店”或“排除 1 星级酒店”,您必须使用垂直广告商品组规则。
数据模型的工作方式
数据模型采用共享标准方法:
SharedSet:创建类型为VERTICAL_ADS_ITEM_GROUP_RULE_LIST的SharedSet。SharedCriterion:向此组添加规则(条件)。 每条规则都指定一个维度(例如“城市”或“酒店星级”)和一个值。您还可以创建否定条件来排除商品。AdGroupCriterion:使用AdGroupCriterion(vertical_ads_item_group_rule_list) 将SharedSet关联到AdGroup。
支持的维度
您可以在 SharedCriterion (VerticalAdsItemGroupRuleInfo) 中根据以下维度过滤实体:
item_code:特定房源 ID。city_criterion_id、region_criterion_id、country_criterion_id:地理位置目标常量资源名称 (geoTargetConstants/{id})。hotel_class:星级评分(1-5)。user_rating、venue、event_participant_display_name(自v24起):活动和竖屏列表评分、场馆和参与者名称过滤条件。
代码示例:创建和关联规则
以下 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...
效果报告
您可以使用 GoogleAdsService.SearchStream 或 GoogleAdsService.Search 方法检索竖屏广告的效果指标。
竖屏广告细分
segments.vertical_ads_hotel_class:整数值(1 到 5 星),用于指定酒店房源的星级。segments.vertical_ads_listing:特定类别广告商品详情的标识符。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)内提供房源 Feed 数据的合作伙伴账号。segments.vertical_ads_vertical:类别,例如酒店或租车。segments.vertical_ads_event_participant_display_names(从v24开始):活动列表中的参与者的显示名称,例如表演者、演讲者或团队。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开始):与应用于出价或展示的私有价格规则或条件式价格规则对应的字符串标识符。segments.vertical_ads_rate_type(从v25开始):公开费率、私人费率或条件式价格类型的分类。
行程维度细分
自 v25起,对于与旅游和住宿 Feed 相关联的垂直广告,您可以使用行程维度细分效果报告:
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.advance_booking_window,
segments.length_of_booking,
segments.start_date,
metrics.impressions,
metrics.vertical_ads_potential_impressions,
metrics.clicks,
metrics.all_conversions_value,
metrics.vertical_ads_average_booking_value_micros,
metrics.vertical_ads_price_difference_percentage
FROM
ad_group
WHERE
segments.date DURING LAST_30_DAYS
错误处理
下面列出了您在配置竖屏广告时可能会遇到的常见错误:
| 错误代码 | 原因 | 建议采取的操作 |
|---|---|---|
AdGroupError.INVALID_VERTICAL_ADS_FORMAT_SETTING |
所有三种广告格式(文字广告、预订链接广告、宣传广告)同时被停用。 | 确保在 VerticalAdsFormatSetting 中至少启用了一种格式。 |
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 |
相应广告系列缺少有效的垂直行业数据 Feed。 | 确保在客户或广告系列层级关联了有效的垂直 Feed。 |
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST |
AdGroupCriterion 中提供的 SharedSet 资源名称不存在。 |
验证 shared_set 资源名称是否与已创建的集合匹配。 |
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE |
所用的条件维度不受特定垂直行业支持,例如租车的酒店等级。 | 检查 vertical_ads_item_group_rule 维度是否与您的竖屏广告类型相符。 |