Dikey reklamlar için kontroller ve envanter filtreleme

Sektöre özel reklamlar, oteller gibi sektöre özel bir feed'e bağlı olan ve Arama Kampanyaları İçin Maksimum Yapay Zeka'nın etkinleştirildiği Arama Ağı kampanyaları için özel özellikler sunar. Reklam grubu düzeyinde hangi dikey reklam biçimlerinin yayınlanacağını ve dikey reklam öğe grubu kuralları kullanılarak hangi feed varlıklarının hedefleneceğini kontrol edebilirsiniz.

Genel Bakış

Bu kılavuzda, dikey reklamları yönetmek için iki ana özellik ele alınmaktadır:

  1. Biçim kontrolleri: Reklam grubu düzeyinde belirli reklam biçimlerini (metin reklamlar, rezervasyon bağlantıları ve dikey tanıtım reklamları) etkinleştirin veya devre dışı bırakın.
  2. Dikey reklam öğeleri yönetimi: SharedSet ve SharedCriterion içeren kural tabanlı bir sistem kullanarak, bağlı dikey feed'inizdeki (eski adıyla seyahat) belirli envanteri filtreleyin ve hedefleyin.

Ön koşullar

Bu özellikleri uygulamadan önce kampanyanızın aşağıdaki koşulları karşıladığından emin olun:

  • Kampanya türü: Arama Ağı kampanyası olmalıdır.
  • Dikey feed: Müşteri veya kampanya düzeyinde etkin bir dikey veri feed'i bağlı olmalıdır. Feed'i kampanya düzeyinde bağlamak için Dikey veri feed'lerini kampanya düzeyinde bağlama başlıklı makaleyi inceleyin. Bir dikey veri feed'inin bağlanması, arama ağı reklamlarındaki seyahat feed'lerini (TFSA) etkinleştirir ve kampanya için dikey reklam kontrollerini sağlar.
  • Arama Ağı Kampanyaları İçin AI Max: Kampanyada Arama Ağı Kampanyaları İçin AI Max ayarı etkinleştirilmelidir.

Arama ağı reklamlarındaki Seyahat feed'lerini (TFSA) etkinleştirmek ve kampanyanızda dikey reklam kontrollerini etkinleştirmek için aşağıdaki adımları uygulayarak dikey veri feed'i öğe kümenizi kampanya düzeyinde bağlayabilirsiniz. Alternatif olarak, bu özellikleri hesabınızdaki tüm kampanyalarda etkinleştirmek için arama ağı reklamlarındaki Seyahat feed'leri kılavuzundaki müşteri düzeyinde bağlama talimatlarını uygulayarak feed'i müşteri düzeyinde bağlayabilirsiniz.

  1. asset_set değerini sektör feed'i öğe kümenizin kaynak adına, campaign değerini ise kampanyanızın kaynak adına ayarlayarak bir CampaignAssetSet nesnesi oluşturun.
  2. create, CampaignAssetSet olarak ayarlanmış bir CampaignAssetSetOperation oluşturun.
  3. CampaignAssetSetService.MutateCampaignAssetSets yöntemini kullanarak işlemi gönderin.

Seyahat feed'lerini geniş ölçekte yönetme hakkında daha fazla bilgi için Arama ağı reklamlarındaki Seyahat feed'leri ile ilgili belgelere bakın.

Reklam grubu biçim kontrolleri

Belirli bir reklam grubu için hangi dikey reklam biçimlerinin etkin olduğunu yapılandırabilirsiniz. Bu, AdGroup kaynağındaki vertical_ads_format_setting (VerticalAdsFormatSetting) alanı üzerinden yönetilir.

Kullanılabilir biçimler

  • Metin reklamlar (disable_text_ads): Varsayılan olarak etkindir. Devre dışı bırakılabilir.
  • Rezervasyon bağlantıları (enable_booking_links): Etkinleştirme gerektirir. Yalnızca HOTELS ve THINGS_TO_DO dikey feed'leri için desteklenir.
  • Sektöre özel tanıtım reklamları (enable_vertical_promotion_ads): Etkinleştirme gerektirir.

Doğrulama kuralları

  • Tek bir reklam grubu için üç biçimi de aynı anda devre dışı bırakamazsınız.
  • enable_booking_links, yalnızca kampanyanın etkin dikey feed'i HOTELS veya THINGS_TO_DO olduğunda true olarak ayarlanabilir.
  • Bu ayarlar yalnızca SEARCH_STANDARD ve SEARCH_DYNAMIC_ADS reklam grubu türleri için geçerlidir.

Örnek: Biçim ayarlarını güncelleme

Aşağıdaki Java örneğinde, mevcut bir reklam grubu için metin reklamların nasıl devre dışı bırakılacağı ve dikey tanıtım reklamlarının nasıl etkinleştirileceği gösterilmektedir:

// 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...

Dikey reklam öğeleri yönetimi

Feed envanterinizin belirli bir alt kümesini (ör. "Boston'daki oteller" veya "1 yıldızlı otelleri hariç tut") hedeflemek için dikey reklam öğe grubu kurallarını kullanmanız gerekir.

Veri modelinin işleyiş şekli

Veri modeli, paylaşılan ölçüt yaklaşımını kullanır:

  1. SharedSet: VERTICAL_ADS_ITEM_GROUP_RULE_LIST türünde bir SharedSet oluşturun.
  2. SharedCriterion: Bu kümeye kural (ölçüt) ekleyin. Her kuralda Şehir veya Otel Sınıfı gibi bir boyut ve bir değer belirtilir. Öğeleri hariç tutmak için negatif ölçütler de oluşturabilirsiniz.
  3. AdGroupCriterion: AdGroupCriterion (vertical_ads_item_group_rule_list) kullanarak SharedSet ile AdGroup arasında bağlantı oluşturun.

Desteklenen detaylar

SharedSet'ın vertical_ads_item_vertical_type değerine bağlı olarak, SharedCriterion (VerticalAdsItemGroupRuleInfo) içindeki aşağıdaki boyutlara göre öğeleri filtreleyebilirsiniz:

  • item_code: Belirli liste kimliği (tüm sektör türleri için desteklenir).
  • city_criterion_id, region_criterion_id, country_criterion_id: Coğrafi hedef sabiti kaynak adları (geoTargetConstants/{id}; FLIGHTS hariç tüm sektör türleri için desteklenir).
  • hotel_class: 1 ile 5 arasında yıldız puanı (yalnızca HOTELS).
  • user_rating (v24'ten itibaren): 1 ile 5 arasında yuvarlanmış kullanıcı puanı (yalnızca THINGS_TO_DO).
  • venue, event_participant_display_name (v24 itibarıyla): Etkinlik mekanı ve katılımcı görünen adı filtreleri (yalnızca EVENTS).

Bu Python örneği, "Boston" veya "San Francisco"daki öğeleri dahil etmek ve "1 yıldızlı" ve "2 yıldızlı" otelleri hariç tutmak için bir kural oluşturur:

# 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...

Öğe başına manuel TBM teklifi verme

v25 tarihinden itibaren, manuel TBM (BiddingStrategyType.MANUAL_CPC) teklif stratejisini kullanan seyahat için arama ağı kampanyalarında (Arama Ağı kampanyaları için AI Max'in etkinleştirildiği ve bağlı bir otel feed'inin bulunduğu arama ağı kampanyaları) EntityBid (ad_group_criterion.entity_bid) ölçütünü kullanarak CriterionType.VERTICAL_ADS_ITEM_BID ve entity_bid.item_code ile birlikte tek tek otel feed'i öğeleri için manuel TBM teklif geçersiz kılmaları (cpc_bid_micros) ayarlayabilirsiniz.

Negatif ölçütler (negative = true), Arama Ağı dışındaki kampanyalar ve otomatik ya da Akıllı Teklif stratejileri, VERTICAL_ADS_ITEM_BID ve ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT için desteklenmez. Performans metrikleri, VERTICAL_ADS_ITEM_BID ölçütlerinde doldurulmaz. Tam şema ayrıntıları, GAQL sorguları ve mutasyon yükü örnekleri için arama ağı reklamlarındaki Seyahat feed'leri kılavuzunda Varlık başına manuel TBM teklifi verme bölümüne bakın.

Performans raporları

Dikey reklamlarla ilgili performans metriklerini GoogleAdsService.SearchStream veya GoogleAdsService.Search yöntemlerini kullanarak alabilirsiniz.

Dikey reklam segmentleri

Seyahat planı boyutu segmentleri

v25 itibarıyla, seyahat ve konaklama feed'lerine bağlı dikey reklamlar için seyahat planı boyutlarını kullanarak performans raporlarını segmentlere ayırabilirsiniz:

Dikey reklam metrikleri

v25 tarihinden itibaren aşağıdaki dikey reklam metriklerini alabilirsiniz:

Örnek GAQL sorguları

Bu sorgu, dikey reklamların rekabet ve rezervasyon metriklerini listeleme şehri, fiyat katmanı ve ücret türüne göre segmentlere ayrılmış olarak alır:

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

Bu sorgu, standart performans metriklerini seyahat planı rezervasyonu boyutlarına göre segmentlere ayırır:

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

Hata işleme

Dikey reklamları yapılandırırken karşılaşabileceğiniz yaygın hatalar şunlardır:

Hata kodu Neden Önerilen işlem
AdGroupError.INVALID_VERTICAL_ADS_FORMAT_SETTING Üç reklam biçiminin (metin, rezervasyon bağlantısı, tanıtım reklamları) üçü de aynı anda devre dışı bırakıldı veya enable_booking_links, HOTELS ya da THINGS_TO_DO dışındaki bir sektör için etkinleştirildi. VerticalAdsFormatSetting içinde en az bir biçimin etkinleştirildiğinden emin olun ve yalnızca HOTELS veya THINGS_TO_DO feed'leri için rezervasyon bağlantılarını etkinleştirin.
AdGroupError.VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX Kampanyada Arama Ağı Kampanyaları İçin AI Max etkin değil. Kampanya ayarlarında Arama Ağı Kampanyaları İçin AI Max'i etkinleştirin.
AdGroupError.VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED Kampanyada etkin bir dikey veri feed'i yok. Müşteri veya kampanya düzeyinde geçerli bir sektör feed'inin bağlı olduğundan emin olun.
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST AdGroupCriterion içinde sağlanan SharedSet kaynak adı mevcut değil veya VERTICAL_ADS_ITEM_GROUP_RULE_LIST türünde değil. shared_set kaynak adının, VERTICAL_ADS_ITEM_GROUP_RULE_LIST türünde mevcut bir SharedSet kaynağına referans verdiğini doğrulayın.
CriterionError.CANNOT_ADD_REMOVED_VERTICAL_ADS_ITEM_GROUP_RULE_LIST_SHARED_SET AdGroupCriterion içinde başvurulan SharedSet, REMOVED durumunda. VERTICAL_ADS_ITEM_GROUP_RULE_LIST türünde etkinleştirilmiş bir SharedSet referansı verin.
CriterionError.VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE Kullanılan ölçüt boyutu, belirli sektörler için desteklenmiyor (ör. araç kiralama için otel sınıfı). vertical_ads_item_group_rule boyutunun, sektör türünüzle eşleştiğinden emin olun.