ホテル、民泊、おすすめスポットのプロダクト フィードを 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 を使用して、検索広告の旅行用フィードを顧客レベルとキャンペーン レベルでオプトアウトできます。
お客様単位で無効にする場合
顧客単位で検索広告の旅行フィードをオプトアウトするには、次の操作を行います。
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'customer_asset_set.resource_nameごとにCustomerAssetSetOperationを作成し、removeを前の手順で取得したcustomer_asset_set.resource_nameに設定します。作成した
CustomerAssetSetOperationオブジェクトを使用して、CustomerAssetSetService.MutateCustomerAssetSetsにリクエストを送信します。
この機能を顧客レベルで再度有効にするには:
- リンクする基盤となる
AssetSet(asset_set.resource_name)ごとに、asset_setをasset_set.resource_nameに設定し、customerを顧客のリソース名に設定して、新しいCustomerAssetSetを作成します。 - 前の手順で作成した
CustomerAssetSetごとに、createがCustomerAssetSetに設定されたCustomerAssetSetOperationを作成します。 - 作成した
CustomerAssetSetOperationオブジェクトを使用して、CustomerAssetSetService.MutateCustomerAssetSetsにリクエストを送信します。
キャンペーン単位でオプトアウトする
キャンペーン単位で検索広告の旅行フィードをオプトアウトするには、まず、顧客単位で継承されたオプトイン ステータスを除外する必要があります。
campaignレポートを使用してexcluded_parent_asset_set_typesを取得します。SELECT campaign.excluded_parent_asset_set_types FROM campaign WHERE campaign.id = 'INSERT_YOUR_CAMPAIGN_ID'excluded_parent_asset_set_typesを前の値 プラスTRAVEL_FEEDに設定し、resource_nameをキャンペーンのリソース名に設定して、新しいCampaignオブジェクトを作成します。CampaignOperationを作成し、updateを以前に作成したCampaignとupdate_maskに設定します。前の手順で作成した
CampaignOperationを使用して、CampaignService.MutateCampaignsにリクエストを送信します。
次に、キャンペーン単位の旅行用フィードの関連付けを削除します。
オプトアウトするキャンペーンについて、
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'campaign_asset_set.resource_nameごとにCampaignAssetSetOperationを作成し、removeを前の手順で取得したcampaign_asset_set.resource_nameに設定します。作成した
CampaignAssetSetOperationオブジェクトを使用して、CampaignAssetSetService.MutateCampaignAssetSetsにリクエストを送信します。
キャンペーン単位でこの機能を再び有効にするには:
- オプトインする基盤となる
AssetSet(asset_set.resource_name)ごとに、asset_setをasset_set.resource_nameに設定し、campaignをキャンペーンのリソース名に設定した新しいCampaignAssetSetを作成します。 - 前の手順で作成した
CampaignAssetSetごとに、createがCampaignAssetSetに設定されたCampaignAssetSetOperationを作成します。 - 作成した
CampaignAssetSetOperationオブジェクトを使用して、CampaignAssetSetService.MutateCampaignAssetSetsにリクエストを送信します。
キャンペーンの顧客単位のオプトイン ステータスを復元する
キャンペーンのオプトイン ステータスを顧客レベルの設定に再度継承するには、次の手順を行います。
- リストに
excluded_parent_asset_set_typesなしTRAVEL_FEEDを含み、resource_nameがキャンペーンのリソース名に設定された新しいCampaignオブジェクトを作成します。 CampaignOperationを作成し、updateを以前に作成したCampaignとupdate_maskに設定します。- 前の手順で作成した
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が必要です。
スキーマとフィールドの定義
- リソース:
AdGroupCriterion(ad_group_criterion) - リソース名の形式:
customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id} - 条件タイプの列挙型:
CriterionType.VERTICAL_ADS_ITEM_BID - メッセージ:
EntityBid(ad_group_criterion.entity_bid)
| フィールド | タイプ | 動作 | 説明 |
|---|---|---|---|
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'
宿泊プラン ディメンション セグメント
リンクされた旅行フィードを含むキャンペーンのパフォーマンス レポートを、旅程のディメンションで分割することもできます。
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)。
クエリの例
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