搜索广告中的旅游 Feed

如果您的酒店、民宿或旅游体验产品 Feed 已与 Google Ads 账号相关联,Google Ads 会自动从您的 Feed 中提取价格和图片,以丰富现有的搜索广告系列。此功能称为 搜索广告中的旅游 Feed。

客户设置和广告系列设置的互动方式

默认情况下,广告系列会通过 CustomerAssetSet 关联从 客户级继承旅游 Feed 关联(TRAVEL_FEED 素材资源集)。如需替换特定广告系列的客户级设置,您 必须将 TRAVEL_FEED 添加到广告系列的 excluded_parent_asset_set_types 字段,并使用 CampaignAssetSet 管理广告系列专属的关联。

  • 继承客户 Feed(默认): 保持客户级 CustomerAssetSet 处于关联状态,并确保 Campaign.excluded_parent_asset_set_types 不包含 TRAVEL_FEED。
  • 在客户级选择停用: 移除客户级 CustomerAssetSet 关联,并且不关联广告系列级 CampaignAssetSet。
  • 选择停用特定广告系列: 将 TRAVEL_FEED 添加到 Campaign.excluded_parent_asset_set_types,并移除所有广告系列级 CampaignAssetSet 关联。
  • 仅选择启用特定广告系列: 移除客户级 CustomerAssetSet 关联,然后为该广告系列创建广告系列级 CampaignAssetSet 关联。
  • 使用广告系列专属 Feed,同时其他广告系列继续继承: 将 TRAVEL_FEED 添加到广告系列的 Campaign.excluded_parent_asset_set_types,并为其创建广告系列级 CampaignAssetSet 关联。

选择停用搜索广告中的旅游 Feed

如果您不想使用此功能,可以使用 Google Ads API 在客户级和广告系列级选择停用搜索广告中的旅游 Feed。

在客户级选择停用

如需在客户级选择停用搜索广告中的旅游 Feed,请执行以下操作:

  1. 使用 customer_asset_set报告检索类型为TRAVEL_FEED的所有CustomerAssetSet 关联的customer_asset_set.resource_name和 asset_set.resource_name:

    SELECT
      customer_asset_set.resource_name,
      asset_set.resource_name,
      asset_set.name
    FROM customer_asset_set
    WHERE asset_set.type = 'TRAVEL_FEED'
    
  2. 针对每个 customer_asset_set.resource_name,创建一个 CustomerAssetSetOperation,并将 remove设置为在上一步中检索到的 customer_asset_set.resource_name。

  3. 使用创建的 CustomerAssetSetOperation 对象向 CustomerAssetSetService.MutateCustomerAssetSets 提交请求。

如果您想在客户级再次选择启用此功能,请执行以下操作:

  1. 针对您要关联的每个底层 AssetSet (asset_set.resource_name) ,创建一个新的 CustomerAssetSet,并将 asset_set 设置为 asset_set.resource_name,并将 customer 设置为客户的资源名称。
  2. 针对在上一步中创建的每个 CustomerAssetSet,创建一个 CustomerAssetSetOperation,并将 create 设置为 CustomerAssetSet。
  3. 使用创建的 CustomerAssetSetOperation 对象向 CustomerAssetSetService.MutateCustomerAssetSets 提交请求。

在广告系列级选择停用

如需在广告系列级选择停用搜索广告中的旅游 Feed,您必须先从客户级排除继承的选择启用状态:

  1. 使用 campaign 报告检索 excluded_parent_asset_set_types:

    SELECT
      campaign.excluded_parent_asset_set_types
    FROM campaign
    WHERE campaign.id = 'INSERT_YOUR_CAMPAIGN_ID'
    
  2. 创建一个新的 Campaign 对象,并将 excluded_parent_asset_set_types 设置为 之前的值 加上 TRAVEL_FEED,并将 resource_name 设置为广告系列的资源名称。

  3. 创建一个 CampaignOperation,并相应地将 update 设置为之前创建的 Campaign,并将 update_mask 设置为之前创建的 。

  4. 使用在上一步中创建的 CampaignOperation 向 CampaignService.MutateCampaigns 提交请求。

然后,移除所有广告系列级旅游 Feed 关联:

  1. 针对您要选择停用的广告系列,使用 campaign_asset_set报告检索类型为 TRAVEL_FEED的所有 CampaignAssetSet关联的 campaign_asset_set.resource_name和asset_set.resource_name:

    SELECT
      campaign_asset_set.resource_name,
      asset_set.resource_name,
      asset_set.name
    FROM campaign_asset_set
    WHERE campaign_asset_set.campaign =
        'INSERT_YOUR_CAMPAIGN_RESOURCE_NAME'
      AND asset_set.type = 'TRAVEL_FEED'
    
  2. 针对每个 campaign_asset_set.resource_name,创建一个 CampaignAssetSetOperation,并将 remove设置为在上一步中检索到的 campaign_asset_set.resource_name。

  3. 使用创建的 CampaignAssetSetOperation 对象向 CampaignAssetSetService.MutateCampaignAssetSets 提交请求。

如果您想在广告系列级再次选择启用此功能,请执行以下操作:

  1. 针对您要选择启用的每个底层 AssetSet (asset_set.resource_name) ,创建一个新的 CampaignAssetSet,并将 asset_set 设置为 asset_set.resource_name,并将 campaign 设置为广告系列的资源名称。
  2. 针对在上一步中创建的每个 CampaignAssetSet,创建一个 CampaignAssetSetOperation,并将 create 设置为 CampaignAssetSet。
  3. 使用创建的 CampaignAssetSetOperation 对象向 CampaignAssetSetService.MutateCampaignAssetSets 提交请求。

为广告系列恢复客户级选择启用状态

如需使广告系列的选择启用状态再次继承客户级设置,请按以下步骤操作:

  1. 创建一个新的 Campaign 对象,并将 excluded_parent_asset_set_types 设置为不包含 TRAVEL_FEED 的列表,并将 resource_name 设置为 您的广告系列的资源名称。
  2. 创建一个 CampaignOperation,并相应地将 update 设置为之前创建的 Campaign,并将 update_mask 设置为之前创建的 。
  3. 使用在上一步中创建的 CampaignOperation 向 CampaignService.MutateCampaigns 提交请求。

按实体每次点击费用人工出价

从 Google Ads API v25 开始,您可以使用 AdGroupCriterion 资源(条件类型为 CriterionType.VERTICAL_ADS_ITEM_BID (ad_group_criterion.entity_bid))为旅游搜索广告系列中的酒店配置按实体每次点击费用人工出价 替换。

前提条件和兼容性要求

如需创建和管理 VERTICAL_ADS_ITEM_BID 条件,必须满足以下条件:

  • 广告系列类型: 旅游搜索广告系列(搜索广告系列, AdvertisingChannelType.SEARCH,且启用了搜索广告系列的 AI Max Campaign.ai_max_setting.enable_ai_max,并关联了酒店 Feed [TRAVEL_FEED 素材资源集];仅支持酒店 Feed)。
  • 出价策略: 仅限每次点击费用人工出价 (BiddingStrategyType.MANUAL_CPC)。
    • 不支持自动出价策略或智能出价策略(例如“尽可能提高转化次数”“尽可能提高转化价值”“目标每次转化费用”或“目标广告支出回报率”)。
  • 仅限正条件: negative 必须设置为 false。不支持负实体出价。
  • 必需的实体标识符和出价: 创建实体 出价条件时,必须提供entity_bid.item_code和 cpc_bid_micros。

架构和字段定义

字段 类型 行为 说明
entity_bid EntityBid IMMUTABLE 表示单个商品的人工出价覆盖的条件。
entity_bid.item_code string IMMUTABLE,必填 用于指定与合作酒店 Feed 匹配的特定酒店实体(酒店房源 ID)的 ID 或代码(1 到 256 个字符,已修剪)。
cpc_bid_micros int64 读写 每次点击费用人工出价金额,以微单位表示(例如, 1000000 等于 $1.00)。
negative bool IMMUTABLE 必须为 false。

支持的服务和操作

服务 方法 支持的操作
AdGroupCriterionService MutateAdGroupCriteria create、update (cpc_bid_micros)、remove
GoogleAdsService Search / SearchStream 查询条件属性、商品代码和出价值

代码和载荷示例

以下示例展示了如何读取、创建、更新和移除 VERTICAL_ADS_ITEM_BID 条件。

使用 GAQL 读取实体出价

使用 GoogleAdsService.Search 或 GoogleAdsService.SearchStream 查询 VERTICAL_ADS_ITEM_BID 条件:

SELECT
  ad_group_criterion.resource_name,
  ad_group_criterion.ad_group,
  ad_group_criterion.criterion_id,
  ad_group_criterion.type,
  ad_group_criterion.cpc_bid_micros,
  ad_group_criterion.entity_bid.item_code
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'VERTICAL_ADS_ITEM_BID'

创建实体出价

向 AdGroupCriterionService.MutateAdGroupCriteria发送create操作:

{
  "customerId": "1234567890",
  "operations": [
    {
      "create": {
        "adGroup": "customers/1234567890/adGroups/987654321",
        "negative": false,
        "cpcBidMicros": "1500000",
        "entityBid": {
          "itemCode": "hotel_nyc_12345"
        }
      }
    }
  ]
}

更新现有实体出价金额

向 AdGroupCriterionService.MutateAdGroupCriteria发送包含updateMask的update操作:

{
  "customerId": "1234567890",
  "operations": [
    {
      "updateMask": "cpcBidMicros",
      "update": {
        "resourceName": "customers/1234567890/adGroupCriteria/987654321~555444333",
        "cpcBidMicros": "2000000"
      }
    }
  ]
}

移除实体出价

向 AdGroupCriterionService.MutateAdGroupCriteria发送remove操作:

{
  "customerId": "1234567890",
  "operations": [
    {
      "remove": "customers/1234567890/adGroupCriteria/987654321~555444333"
    }
  ]
}

验证规则和错误处理

场景 触发条件 / 条件 返回的错误代码
非每次点击费用人工出价广告系列 尝试在采用自动出价或 智能出价的广告系列中创建实体出价。 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT
广告系列类型无效 向非搜索广告系列(例如展示广告系列 )添加实体出价。 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT
不可出价的标准(否) 为 设置negative = trueVERTICAL_ADS_ITEM_BID。 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT
缺少商品代码或出价 尝试创建 entity_bid,但未提供 item_code 或 cpc_bid_micros。 RequestError.REQUIRED_FIELD_MISSING / FieldError.REQUIRED
更改商品代码 尝试更新现有条件中的 entity_bid.item_code。 RequestError.IMMUTABLE_FIELD / FieldError.IMMUTABLE_FIELD

效果报告

您可以使用 ClickType.TRAVEL_ASSETS 来识别 以 搜索广告中的旅游 Feed 形式投放的广告的效果数据,例如提取所有广告系列中广告的效果 数据:

SELECT
  campaign.name,
  segments.click_type,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.click_type = 'TRAVEL_ASSETS'

行程维度细分

您还可以按行程维度细分关联了旅游 Feed 的广告系列的效果报告:

示例查询

SELECT
  campaign.name,
  segments.advance_booking_window,
  segments.length_of_booking,
  segments.start_date,
  segments.start_day_of_week,
  segments.user_set_dates,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS