竖屏广告的控制功能和广告资源过滤

垂直广告可为已启用 AI Max 搜索广告系列且与垂直 Feed(例如酒店)相关联的搜索广告系列提供专用功能。您可以在广告组一级控制投放哪些竖屏广告格式,还可以使用竖屏广告商品组规则控制定位哪些 Feed 实体。

概览

本指南介绍了用于管理竖屏广告的两项主要功能:

  1. 格式控制:在广告组一级选择启用或停用特定广告格式(文字广告、预订链接和竖屏宣传广告)。
  2. 竖屏广告商品管理:使用涉及 SharedSet 和 SharedCriterion 的基于规则的系统,从您已关联的竖屏(以前称为旅游)Feed 中过滤和定位特定广告资源。

前提条件

在实现这些功能之前,请确保您的广告系列符合以下要求:

  • 广告系列类型:必须是搜索广告系列。
  • 垂直 Feed:必须在客户或广告系列一级关联有效的垂直数据 Feed。如需在广告系列一级关联 Feed,请参阅在广告系列一级关联垂直行业数据 Feed。关联垂直行业数据 Feed 会启用搜索广告中的旅游 Feed (TFSA),并为相应广告系列启用垂直行业广告控件。
  • AI Max 搜索广告系列:必须在广告系列中启用“AI Max 搜索广告系列”设置。

如需在广告系列中启用搜索广告中的旅游 Feed (TFSA) 并启用垂直广告控件,您可以按照以下步骤操作,在广告系列级关联垂直数据 Feed 素材资源集。或者,如需为账号中的所有广告系列启用这些功能,您可以按照“搜索广告中的旅游 Feed”指南中的客户账号级关联说明,在客户账号级关联 Feed。

  1. 创建一个 CampaignAssetSet 对象,将 asset_set 设置为垂直 Feed 素材资源集的资源名称,并将 campaign 设置为广告系列的资源名称。
  2. 创建一个 CampaignAssetSetOperation,并将 create 设置为 CampaignAssetSet。
  3. 使用 CampaignAssetSetService.MutateCampaignAssetSets 提交操作。

如需详细了解如何大规模管理旅游 Feed,请参阅搜索广告中的旅游 Feed 文档。

广告组格式控件

您可以配置特定广告组中哪些竖屏广告格式处于有效状态。此功能通过 AdGroup 资源上的 vertical_ads_format_setting (VerticalAdsFormatSetting) 字段进行管理。

可用格式

验证规则

  • 您无法同时为单个广告组选择停用所有这三种格式。
  • 只有当广告系列的有效垂直 Feed 为 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...

竖屏广告商品管理

如需定位 Feed 广告资源中的特定子集,例如“波士顿的酒店”或“排除 1 星级酒店”,您必须使用垂直广告商品组规则。

数据模型的工作原理

数据模型采用共享标准方法:

  1. SharedSet:创建类型为 VERTICAL_ADS_ITEM_GROUP_RULE_LIST 的 SharedSet。
  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 搜索广告系列并关联酒店 Feed 的搜索广告系列),您可以使用 EntityBid(ad_group_criterion.entity_bid) 条件搭配 CriterionType.VERTICAL_ADS_ITEM_BID 和 entity_bid.item_code,为各个酒店 Feed 商品设置每次点击费用人工出价覆盖 (cpc_bid_micros)。

negative = true、非搜索广告系列以及自动出价或智能出价策略不支持 VERTICAL_ADS_ITEM_BID,并且会返回 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT。 效果指标不会填充到 VERTICAL_ADS_ITEM_BID 条件中。如需了解完整的架构详情、GAQL 查询和变异载荷示例,请参阅“搜索广告中的旅游 Feed”指南中的按实体每次点击费用人工出价。

效果报告

您可以使用 GoogleAdsService.SearchStream 或 GoogleAdsService.Search 方法检索竖屏广告的效果指标。

竖屏广告细分

行程维度细分

自 v25起,对于与旅游和住宿 Feed 相关联的竖屏广告,您可以使用行程维度细分效果报告:

竖屏广告指标

自 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 Feed 启用预订链接。
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 资源名称不存在或不具有 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 维度是否与您的垂直行业类型相符。