検索広告の旅行フィード

ホテル、民泊、おすすめスポットのプロダクト フィードを Google 広告アカウントにリンクすると、Google 広告はフィードから取得した料金や画像で既存の検索キャンペーンを自動的に拡充します。この機能は、検索広告の旅行フィードと呼ばれます。

顧客設定とキャンペーン設定の関係

デフォルトでは、キャンペーンは CustomerAssetSet 関連付けを通じて、顧客レベルから旅行フィード リンク(TRAVEL_FEED アセットセット)を継承します。特定のキャンペーンで顧客レベルの設定をオーバーライドするには、キャンペーンの excluded_parent_asset_set_types フィールドに TRAVEL_FEED を追加し、CampaignAssetSet を使用してキャンペーン固有のリンクを管理する必要があります。

  • 顧客フィードを継承する(デフォルト): 顧客レベルの CustomerAssetSet をリンクしたままにし、Campaign.excluded_parent_asset_set_types に TRAVEL_FEED が含まれないようにします。
  • 顧客レベルでオプトアウトする: 顧客レベルの CustomerAssetSet 関連付けを削除し、キャンペーン単位の CampaignAssetSet をリンクしないようにします。
  • 特定のキャンペーンをオプトアウトする: Campaign.excluded_parent_asset_set_types に TRAVEL_FEED を追加し、キャンペーン単位の CampaignAssetSet の関連付けをすべて削除します。
  • 特定のキャンペーンのみを有効にする: 顧客レベルの CustomerAssetSet 関連付けを削除し、そのキャンペーンのキャンペーン単位の CampaignAssetSet リンクを作成します。
  • 他のキャンペーンは継承を継続しつつ、キャンペーン固有のフィードを使用する: キャンペーンの Campaign.excluded_parent_asset_set_types に TRAVEL_FEED を追加し、キャンペーン単位の CampaignAssetSet リンクを作成します。

検索広告の旅行フィードをオプトアウトする

この機能を使用しない場合は、Google Ads API を使用して、検索広告の旅行用フィードを顧客レベルとキャンペーン レベルでオプトアウトできます。

お客様単位で無効にする場合

顧客単位で検索広告の旅行フィードをオプトアウトするには、次の操作を行います。

  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)ごとに、asset_set を asset_set.resource_name に設定し、customer を顧客のリソース名に設定して、新しい CustomerAssetSet を作成します。
  2. 前の手順で作成した CustomerAssetSet ごとに、create が CustomerAssetSet に設定された CustomerAssetSetOperation を作成します。
  3. 作成した CustomerAssetSetOperation オブジェクトを使用して、CustomerAssetSetService.MutateCustomerAssetSets にリクエストを送信します。

キャンペーン単位でオプトアウトする

キャンペーン単位で検索広告の旅行フィードをオプトアウトするには、まず、顧客単位で継承されたオプトイン ステータスを除外する必要があります。

  1. campaign レポートを使用して excluded_parent_asset_set_types を取得します。

    SELECT
      campaign.excluded_parent_asset_set_types
    FROM campaign
    WHERE campaign.id = 'INSERT_YOUR_CAMPAIGN_ID'
    
  2. excluded_parent_asset_set_types を前の値 プラス TRAVEL_FEED に設定し、resource_name をキャンペーンのリソース名に設定して、新しい Campaign オブジェクトを作成します。

  3. CampaignOperation を作成し、update を以前に作成した Campaign と update_mask に設定します。

  4. 前の手順で作成した CampaignOperation を使用して、CampaignService.MutateCampaigns にリクエストを送信します。

次に、キャンペーン単位の旅行用フィードの関連付けを削除します。

  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)ごとに、asset_set を asset_set.resource_name に設定し、campaign をキャンペーンのリソース名に設定した新しい CampaignAssetSet を作成します。
  2. 前の手順で作成した CampaignAssetSet ごとに、create が CampaignAssetSet に設定された CampaignAssetSetOperation を作成します。
  3. 作成した CampaignAssetSetOperation オブジェクトを使用して、CampaignAssetSetService.MutateCampaignAssetSets にリクエストを送信します。

キャンペーンの顧客単位のオプトイン ステータスを復元する

キャンペーンのオプトイン ステータスを顧客レベルの設定に再度継承するには、次の手順を行います。

  1. リストに excluded_parent_asset_set_types なし TRAVEL_FEED を含み、resource_name がキャンペーンのリソース名に設定された新しい Campaign オブジェクトを作成します。
  2. CampaignOperation を作成し、update を以前に作成した Campaign と update_mask に設定します。
  3. 前の手順で作成した CampaignOperation を使用して、CampaignService.MutateCampaigns にリクエストを送信します。

エンティティごとの個別クリック単価入札

Google Ads API v25 以降では、CriterionType.VERTICAL_ADS_ITEM_BID(ad_group_criterion.entity_bid)の条件タイプで AdGroupCriterion リソースを使用して、旅行向け検索キャンペーンのホテルごとにエンティティ単位の個別クリック単価入札戦略の上書きを設定できます。

前提条件と互換性要件

VERTICAL_ADS_ITEM_BID 条件を作成して管理するには、次の条件を満たす必要があります。

  • キャンペーン タイプ: 旅行向け検索キャンペーン(検索キャンペーン、AdvertisingChannelType.SEARCH、検索キャンペーン向け AI 最大化設定が有効になっている Campaign.ai_max_setting.enable_ai_max、関連付けられたホテルフィード [TRAVEL_FEED アセット セット]、ホテルフィードのみがサポートされています)。
  • 入札戦略: 個別クリック単価(BiddingStrategyType.MANUAL_CPC)のみ。
    • 自動入札戦略やスマート自動入札戦略(「コンバージョン数の最大化」、「コンバージョン値の最大化」、「目標アクション単価」、「目標広告費用対効果」など)ではサポートされていません。
  • 正の条件のみの場合: negative は false に設定する必要があります。エンティティのマイナス入札単価はサポートされていません。
  • 必須のエンティティ ID と入札単価: エンティティ入札単価条件を作成する場合は、entity_bid.item_code と cpc_bid_micros が必要です。

スキーマとフィールドの定義

フィールド タイプ 動作 説明
entity_bid EntityBid IMMUTABLE 単一アイテムの個別単価設定の入札オーバーライドを表す条件。
entity_bid.item_code string IMMUTABLE(必須) パートナー ホテルフィードと一致する特定のホテル エンティティ(ホテル リスティング 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"
        }
      }
    }
  ]
}

既存のエンティティの入札額を更新する

updateMask を含む update オペレーションを AdGroupCriterionService.MutateAdGroupCriteria に送信します。

{
  "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
否定条件 VERTICAL_ADS_ITEM_BID の negative = true を設定します。 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT
商品コードまたは入札単価がない item_code または cpc_bid_micros を指定せずに entity_bid を作成しようとしています。 RequestError.REQUIRED_FIELD_MISSING / FieldError.REQUIRED
アイテムコードの変更 既存の条件で entity_bid.item_code を更新しようとしています。 RequestError.IMMUTABLE_FIELD/FieldError.IMMUTABLE_FIELD

パフォーマンス レポート

ClickType.TRAVEL_ASSETS を使用すると、検索広告の旅行フィードとして配信された広告のパフォーマンス データを特定できます。たとえば、すべてのキャンペーンの広告のパフォーマンス データを取得できます。

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

宿泊プラン ディメンション セグメント

リンクされた旅行フィードを含むキャンペーンのパフォーマンス レポートを、旅程のディメンションで分割することもできます。

クエリの例

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