카테고리 광고는 호텔과 같은 카테고리 피드에 연결된 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): 선택이 필요합니다.
유효성 검사 규칙
- 단일 광고 그룹에 대해 세 가지 형식을 동시에 선택 해제할 수 없습니다.
enable_booking_links는 캠페인의 활성 카테고리 피드가HOTELS또는THINGS_TO_DO인 경우에만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만 해당)
코드 예시: 규칙 만들기 및 연결
이 Python 예시에서는 '보스턴' 또는 '샌프란시스코'의 항목을 포함하고 '1성급' 및 '2성급' 호텔을 제외하는 규칙을 만듭니다.
# 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)를 설정할 수 있습니다.
제외 기준 (negative = true), 검색 외 캠페인, 자동 또는 스마트 자동 입찰 전략은 VERTICAL_ADS_ITEM_BID에서 지원되지 않으며 ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT를 반환합니다.
VERTICAL_ADS_ITEM_BID 기준에 실적 측정항목이 채워지지 않습니다. 전체 스키마 세부정보, GAQL 쿼리, 변형 페이로드 예시는 검색 광고의 여행 피드 가이드에서 항목별 수동 CPC 입찰을 참고하세요. AdGroupBidModifier를 사용하여 호텔 광고의 여행 일정 측정기준에 따라 곱셈 광고 그룹 입찰가 조정을 설정하려면 입찰가 조정으로 입찰가 조정을 참고하세요.
실적 보고서
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 측정기준이 카테고리 유형과 일치하는지 확인합니다. |