업종 광고는 호텔과 같은 업종 피드에 연결된 AI Max 검색 캠페인이 사용 설정된 검색 캠페인을 위한 전문 기능을 제공합니다. 광고 그룹 수준에서 게재되는 업종 광고 형식을 관리할 수 있으며, 업종 광고 항목 그룹 규칙을 사용하여 타겟팅되는 피드 항목을 관리할 수 있습니다.
개요
이 가이드에서는 다음과 같은 두 가지 주요 업종 광고 관리 기능을 다룹니다.
- 형식 관리: 광고 그룹 수준에서 특정 광고 형식 (텍스트 광고, 예약 링크, 업종 프로모션 광고)을 선택하거나 선택 해제합니다.
- 세로형 광고 항목 관리:
SharedSet및SharedCriterion이 포함된 규칙 기반 시스템을 사용하여 연결된 세로형 (이전 명칭: 여행) 피드에서 특정 인벤토리를 필터링하고 타겟팅합니다.
기본 요건
이러한 기능을 구현하기 전에 캠페인이 다음 요구사항을 충족하는지 확인하세요.
- 캠페인 유형: 검색 캠페인이어야 합니다.
- 업종 피드: 활성 업종 데이터 피드가 고객 또는 캠페인 수준에서 연결되어 있어야 합니다. 캠페인 수준에서 피드를 연결하려면 캠페인 수준에서 업종 데이터 피드 연결을 참고하세요. 업종 데이터 피드를 연결하면 검색 광고의 여행 피드(TFSA)가 활성화되고 캠페인에 대한 업종 광고 컨트롤이 사용 설정됩니다.
- AI Max 검색 캠페인: 캠페인에서 AI Max 검색 캠페인 설정을 사용 설정해야 합니다.
캠페인 수준에서 업종 데이터 피드 연결
검색 광고의 여행 피드 (TFSA)를 활성화하고 캠페인 내에서 업종 광고 관리를 사용 설정하려면 다음 단계에 따라 캠페인 수준에서 업종 데이터 피드 확장 소재 세트를 연결하세요. 또는 계정의 모든 캠페인에 이러한 기능을 사용 설정하려면 검색 광고의 여행 피드 가이드에 있는 고객 수준 연결 안내에 따라 고객 수준에서 피드를 연결하면 됩니다.
CampaignAssetSet객체를 만들어asset_set을 세로 피드 애셋 모음의 리소스 이름으로,campaign을 캠페인의 리소스 이름으로 설정합니다.create이CampaignAssetSet로 설정된CampaignAssetSetOperation를 만듭니다.CampaignAssetSetService.MutateCampaignAssetSets를 사용하여 작업을 제출합니다.
여행 피드를 대규모로 관리하는 방법에 대한 자세한 내용은 검색 광고의 여행 피드 문서를 참고하세요.
광고 그룹 형식 관리
특정 광고 그룹에 대해 활성화할 업종 광고 형식을 구성할 수 있습니다. 이는 AdGroup 리소스의 vertical_ads_format_setting(VerticalAdsFormatSetting) 필드를 통해 관리됩니다.
사용 가능한 형식
- 텍스트 광고 (
disable_text_ads): 기본적으로 사용 설정됩니다. 사용 중지할 수 있습니다. - 예약 링크 (
enable_booking_links): 선택이 필요합니다.HOTELS및THINGS_TO_DO카테고리 피드에서만 지원됩니다. - 카테고리 프로모션 광고(
enable_vertical_promotion_ads): 선택이 필요합니다.
유효성 검사 규칙
- 단일 광고 그룹에 대해 세 가지 형식을 동시에 선택 해제할 수는 없습니다.
- 캠페인의 활성 업종 피드가
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...
카테고리 광고 항목 관리
'보스턴의 호텔' 또는 '1성 호텔 제외'과 같은 피드 인벤토리의 특정 하위 집합을 타겟팅하려면 카테고리 광고 항목 그룹 규칙을 사용해야 합니다.
데이터 모델의 작동 방식
데이터 모델은 공유 기준 접근 방식을 사용합니다.
SharedSet: 유형이VERTICAL_ADS_ITEM_GROUP_RULE_LIST인SharedSet을 만듭니다.SharedCriterion: 이 세트에 규칙 (기준)을 추가합니다. 각 규칙은 도시 또는 호텔 등급과 같은 측정기준과 값을 지정합니다. 제외할 항목을 지정하는 부정 기준을 만들 수도 있습니다.AdGroupCriterion:AdGroupCriterion(vertical_ads_item_group_rule_list)을 사용하여SharedSet을AdGroup에 연결합니다.
지원되는 측정기준
SharedSet의 vertical_ads_item_vertical_type에 따라 SharedCriterion(VerticalAdsItemGroupRuleInfo)에서 다음 측정기준을 기준으로 항목을 필터링할 수 있습니다.
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만 해당).
코드 예: 규칙 만들기 및 연결
다음은 'Boston' 또는 'San Francisco'의 상품을 포함하고 '1-star' 및 '2-star' 호텔을 제외하는 규칙을 만드는 Python 예입니다.
# 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...
엔티티별 수동 CPC 입찰
v25부터 수동 CPC (BiddingStrategyType.MANUAL_CPC) 입찰 전략을 사용하는 여행용 검색 캠페인(AI Max 검색 캠페인이 사용 설정되고 연결된 호텔 피드가 있는 검색 캠페인)의 경우 EntityBid (ad_group_criterion.entity_bid) 기준과 CriterionType.VERTICAL_ADS_ITEM_BID 및 entity_bid.item_code을 사용하여 개별 호텔 피드 항목에 대한 수동 CPC 입찰가 재정의(cpc_bid_micros)를 설정할 수 있습니다.
VERTICAL_ADS_ITEM_BID의 경우 부정 기준 (negative = true), 검색 이외 캠페인, 자동 또는 스마트 자동 입찰 전략이 지원되지 않으며 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT이 반환됩니다.
VERTICAL_ADS_ITEM_BID 기준에는 실적 측정항목이 채워지지 않습니다. 전체 스키마 세부정보, GAQL 쿼리, 변이 페이로드 예시는 검색 광고의 여행 피드 가이드에 있는 엔티티별 수동 CPC 입찰을 참고하세요.
실적 보고서
GoogleAdsService.SearchStream 또는 GoogleAdsService.Search 메서드를 사용하여 업종 광고의 실적 측정항목을 가져올 수 있습니다.
카테고리 광고 세그먼트
segments.vertical_ads_hotel_class: 호텔 등록정보의 등급을 지정하는 정수 값 (1~5개 별)입니다.segments.vertical_ads_listing: 특정 업종 광고 등록정보의 식별자입니다.segments.vertical_ads_listing_brand: 세로 광고 등록정보와 연결된 브랜드입니다.segments.vertical_ads_listing_city: 등록정보와 연결된 도시입니다.segments.vertical_ads_listing_country: 등록정보와 연결된 국가입니다.segments.vertical_ads_listing_region: 등록정보와 연결된 지역입니다.segments.vertical_ads_partner_account: 인벤토리 피드 데이터를 제공하는 파트너 센터 (예: Hotel Center) 내의 파트너 계정입니다.segments.vertical_ads_vertical: 업종 유형(예: 호텔 또는 렌터카)입니다.segments.vertical_ads_event_participant_display_names: 공연자, 연사, 팀 등 이벤트 등록정보에 참여하는 사용자의 표시 이름입니다.segments.vertical_ads_listing_user_rating(v24부터 시작): 세로 광고 등록정보의 사용자 평점을 지정하는 정수 값 (1~5)입니다.segments.vertical_ads_listing_venue(v24부터 시작): 세로 광고 등록정보의 장소 이름입니다(예: 콘서트 장소).segments.vertical_ads_price_tier(v25부터): 호텔 등록정보의 상대적 가격 경쟁력 버킷입니다.segments.vertical_ads_rate_rule_id(v25부터 시작): 입찰가 또는 노출에 적용된 비공개 또는 조건부 요금 규칙에 해당하는 문자열 식별자입니다.segments.vertical_ads_rate_type(v25부터 시작): 공개, 비공개 또는 조건부 요금 유형의 분류입니다.
숙박 일정 측정기준 세그먼트
v25부터 여행 및 숙박 피드에 연결된 카테고리 광고의 경우 여정 측정기준을 사용하여 실적 보고서를 분류할 수 있습니다.
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).
카테고리 광고 측정항목
v25부터 다음 카테고리 광고 측정항목을 가져올 수 있습니다.
metrics.vertical_ads_potential_impressions: 쿼리 컨텍스트에서 사용할 수 있는 총 조회수 제한이 적용된 발생 가능 노출수를 나타내는 잠재 노출수입니다.metrics.vertical_ads_average_booking_value_micros: 총 숙박 기간에 걸쳐 세금과 수수료를 포함한 클릭 가중 평균 일일 요금(마이크로 단위)입니다.metrics.vertical_ads_price_difference_percentage: 광고주가 제시한 가격과 동일한 숙박 시설의 최저 경쟁 가격을 비교한 백분율 차이입니다.
샘플 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 |
세 가지 광고 형식 (텍스트, 예약 링크, 프로모션 광고)이 동시에 사용 중지되었거나 HOTELS 또는 THINGS_TO_DO 이외의 업종에 대해 enable_booking_links이 사용 설정되었습니다. |
VerticalAdsFormatSetting에서 하나 이상의 형식이 사용 설정되어 있는지 확인하고 HOTELS 또는 THINGS_TO_DO 피드의 예약 링크만 사용 설정합니다. |
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 |
캠페인에 활성 업종 데이터 피드가 없습니다. | 유효한 업종 피드가 고객 또는 캠페인 수준에서 연결되어 있는지 확인합니다. |
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 측정기준이 업종 유형과 일치하는지 확인합니다. |