호텔, 공유숙박 또는 여행지 정보 제품 피드를 Google Ads 계정에 연결하면 Google Ads에서 피드에서 가져온 가격과 이미지를 사용하여 기존 검색 캠페인을 자동으로 보강합니다. 이 기능을 검색 광고의 여행 피드라고 합니다.
고객 설정과 캠페인 설정이 상호작용하는 방식
기본적으로 캠페인은 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에 요청을 제출합니다.
엔티티별 수동 CPC 입찰
Google Ads API v25부터 기준 유형 CriterionType.VERTICAL_ADS_ITEM_BID(ad_group_criterion.entity_bid)이 있는 AdGroupCriterion 리소스를 사용하여 여행용 검색 캠페인의 호텔에 대해 항목별 수동 CPC 입찰가 재정의를 구성할 수 있습니다.
기본 요건 및 호환성 요구사항
VERTICAL_ADS_ITEM_BID 기준을 만들고 관리하려면 다음 조건을 충족해야 합니다.
- 캠페인 유형: 여행용 검색 캠페인 (검색 캠페인,
AdvertisingChannelType.SEARCH, AI Max 검색 캠페인이 사용 설정되고Campaign.ai_max_setting.enable_ai_max연결된 호텔 피드[TRAVEL_FEED애셋 모음]가 있음. 호텔 피드만 지원됨) - 입찰 전략: 수동 CPC(
BiddingStrategyType.MANUAL_CPC)만 해당- 자동 또는 스마트 자동 입찰 전략 (예: 전환수 최대화, 전환 가치 극대화, 타겟 CPA, 타겟 ROAS)에서는 지원되지 않습니다.
- 긍정적 기준만 해당:
negative은false로 설정해야 합니다. 부정 항목 입찰가는 지원되지 않습니다. - 필수 항목 식별자 및 입찰가: 항목 입찰가 기준을 만들 때는
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 |
읽기/쓰기 | 수동 CPC 입찰가(마이크로 단위)(예: 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"
}
]
}
유효성 검사 규칙 및 오류 처리
| 시나리오 | 트리거 / 조건 | 반환된 오류 코드 |
|---|---|---|
| 수동 CPC 캠페인이 아닌 캠페인 | 자동 입찰 또는 스마트 자동 입찰이 사용 설정된 캠페인에서 엔티티 입찰을 만들려고 시도합니다. | 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