Gdy połączysz pliki danych o hotelach, kwaterach wakacyjnych lub atrakcjach z kontem Google Ads, Google Ads automatycznie wzbogaci dotychczasowe kampanie w sieci wyszukiwania o ceny i zdjęcia pochodzące z tych plików danych. Ta funkcja jest znana jako pliki danych o miejscach noclegowych w reklamach w wyszukiwarce.
Jak ustawienia klienta i ustawienia kampanii wchodzą ze sobą w interakcje
Domyślnie kampanie dziedziczą linki do plików danych o podróżach (zestawy komponentów TRAVEL_FEED) z poziomu klienta za pomocą powiązań CustomerAssetSet. Aby zastąpić ustawienia na poziomie klienta w przypadku konkretnej kampanii, musisz dodać znak TRAVEL_FEED do pola excluded_parent_asset_set_types kampanii i zarządzać linkami na poziomie kampanii za pomocą parametru CampaignAssetSet.
- Dziedzicz pliki danych o klientach (domyślnie): zachowaj połączenie z plikami danych o klientach na poziomie klienta
CustomerAssetSeti upewnij się, żeCampaign.excluded_parent_asset_set_typesnie zawieraTRAVEL_FEED. - Rezygnacja na poziomie klienta: usuń powiązanie na poziomie klienta
CustomerAssetSeti nie łącz powiązania na poziomie kampaniiCampaignAssetSet. - Rezygnacja z konkretnej kampanii: dodaj
TRAVEL_FEEDdoCampaign.excluded_parent_asset_set_typesi usuń wszystkie powiązania na poziomie kampaniiCampaignAssetSet. - Włączanie tylko w przypadku konkretnej kampanii: usuń powiązanie na poziomie klienta
CustomerAssetSet, a następnie utwórz link na poziomie kampaniiCampaignAssetSetw przypadku tej kampanii. - Używaj plików danych na poziomie kampanii, podczas gdy inne kampanie nadal dziedziczą pliki danych: dodaj
TRAVEL_FEEDdoCampaign.excluded_parent_asset_set_typeskampanii i utwórz dla niego linkCampaignAssetSetna poziomie kampanii.
Rezygnacja z plików danych o miejscach noclegowych w reklamach w wyszukiwarce
Jeśli nie chcesz korzystać z tej funkcji, możesz zrezygnować z plików danych o miejscach noclegowych w reklamach w wyszukiwarce na poziomie klienta i kampanii za pomocą interfejsu Google Ads API.
Rezygnowanie na poziomie klienta
Aby zrezygnować z plików danych o miejscach noclegowych w reklamach w wyszukiwarce na poziomie klienta:
Pobierz zarówno
customer_asset_set.resource_name, jak iasset_set.resource_namedla wszystkich linkówCustomerAssetSet, których typ toTRAVEL_FEED, korzystając z raportucustomer_asset_set:SELECT customer_asset_set.resource_name, asset_set.resource_name, asset_set.name FROM customer_asset_set WHERE asset_set.type = 'TRAVEL_FEED'Dla każdego elementu
customer_asset_set.resource_nameutwórz elementCustomerAssetSetOperationi ustaw wartośćremovena wartośćcustomer_asset_set.resource_namepobraną w poprzednim kroku.Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSetsza pomocą utworzonych obiektówCustomerAssetSetOperation.
Jeśli chcesz ponownie włączyć tę funkcję na poziomie klienta:
- W przypadku każdego bazowego
AssetSet(asset_set.resource_name), z którym chcesz utworzyć połączenie, utwórz nowyCustomerAssetSetz parametremasset_setustawionym naasset_set.resource_namei parametremcustomerustawionym na nazwę zasobu klienta. - Dla każdego elementu
CustomerAssetSetutworzonego w poprzednim kroku utwórz elementCustomerAssetSetOperationz ustawionym naCustomerAssetSetelementemcreate. - Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSetsza pomocą utworzonych obiektówCustomerAssetSetOperation.
Rezygnowanie na poziomie kampanii
Aby zrezygnować z plików danych o podróżach w reklamach w sieci wyszukiwania na poziomie kampanii, musisz najpierw wykluczyć odziedziczony stan zgody na poziomie klienta:
Pobierz
excluded_parent_asset_set_typesza pomocą raportucampaign:SELECT campaign.excluded_parent_asset_set_types FROM campaign WHERE campaign.id = 'INSERT_YOUR_CAMPAIGN_ID'Utwórz nowy obiekt
Campaignz parametremexcluded_parent_asset_set_typesustawionym na poprzednie wartościTRAVEL_FEEDi parametremresource_nameustawionym na nazwę zasobu kampanii.Utwórz
CampaignOperationi ustawupdatena wcześniej utworzonyCampaignorazupdate_mask.Prześlij prośbę do
CampaignService.MutateCampaigns, korzystając zCampaignOperationutworzonego w poprzednim kroku.
Następnie usuń wszystkie powiązania pliku danych o podróżach na poziomie kampanii:
W przypadku kampanii, z której chcesz zrezygnować, pobierz zarówno
campaign_asset_set.resource_name, jak iasset_set.resource_namedla wszystkich linkówCampaignAssetSet, których typ toTRAVEL_FEED, korzystając z raportucampaign_asset_set: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'Dla każdego elementu
campaign_asset_set.resource_nameutwórz elementCampaignAssetSetOperationi ustaw wartośćremovena wartośćcampaign_asset_set.resource_namepobraną w poprzednim kroku.Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSetsza pomocą utworzonych obiektówCampaignAssetSetOperation.
Jeśli chcesz ponownie włączyć tę funkcję na poziomie kampanii:
- W przypadku każdego bazowego
AssetSet(asset_set.resource_name), z którego chcesz korzystać, utwórz nowyCampaignAssetSetz parametremasset_setustawionym naasset_set.resource_namei parametremcampaignustawionym na nazwę zasobu kampanii. - Dla każdego elementu
CampaignAssetSetutworzonego w poprzednim kroku utwórz elementCampaignAssetSetOperationz ustawionym naCampaignAssetSetelementemcreate. - Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSetsza pomocą utworzonych obiektówCampaignAssetSetOperation.
Przywracanie stanu zgody klienta na poziomie kampanii
Aby przywrócić dziedziczenie ustawienia na poziomie klienta w przypadku kampanii, wykonaj te czynności:
- Utwórz nowy obiekt
Campaignz parametremexcluded_parent_asset_set_typeswithoutTRAVEL_FEEDna liście i parametremresource_nameustawionym na nazwę zasobu kampanii. - Utwórz
CampaignOperationi ustawupdatena wcześniej utworzonyCampaignorazupdate_mask. - Prześlij prośbę do
CampaignService.MutateCampaigns, korzystając zCampaignOperationutworzonego w poprzednim kroku.
Samodzielne ustawianie stawek CPC za poszczególne elementy
Od wersji v25 interfejsu Google Ads API możesz konfigurować samodzielne ustawianie stawek CPC dla poszczególnych obiektów w kampaniach w sieci wyszukiwania dotyczących podróży za pomocą zasobu AdGroupCriterion z typem kryterium CriterionType.VERTICAL_ADS_ITEM_BID (ad_group_criterion.entity_bid).
Wymagania wstępne i wymagania dotyczące zgodności
Aby tworzyć kryteria VERTICAL_ADS_ITEM_BID i nimi zarządzać, musisz spełniać te warunki:
- Typ kampanii: kampanie w sieci wyszukiwania dotyczące podróży (kampanie w sieci wyszukiwania
AdvertisingChannelType.SEARCHz włączonymi funkcjami AI Max w kampaniach w sieci wyszukiwaniaCampaign.ai_max_setting.enable_ai_maxi powiązanym plikiem danych o hotelach [TRAVEL_FEEDzestaw komponentów]; obsługiwane są tylko pliki danych o hotelach). - Strategia ustalania stawek: tylko CPC ustawiany samodzielnie (
BiddingStrategyType.MANUAL_CPC).- Nie jest obsługiwana w przypadku strategii automatycznego określania stawek ani strategii inteligentnego określania stawek (takich jak Maksymalizacja liczby konwersji, Maksymalizacja wartości konwersji, Docelowy CPA czy Docelowy ROAS).
- Tylko kryteria pozytywne: parametr
negativemusi mieć wartośćfalse. Ujemne stawki za jednostki nie są obsługiwane. - Wymagany identyfikator i stawka za podmiot:
entity_bid.item_codeicpc_bid_microssą wymagane podczas tworzenia kryterium stawki za podmiot.
Schemat i definicje pól
- Zasób:
AdGroupCriterion(ad_group_criterion) - Format nazwy zasobu:
customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id} - Wyliczenie typu kryterium:
CriterionType.VERTICAL_ADS_ITEM_BID - Wiadomość:
EntityBid(ad_group_criterion.entity_bid)
| Pole | Typ | Zachowanie | Opis |
|---|---|---|---|
entity_bid |
EntityBid |
IMMUTABLE |
Kryterium reprezentujące ręczne zastąpienie stawki w przypadku pojedynczego elementu. |
entity_bid.item_code |
string |
IMMUTABLE, wymagane |
Identyfikator lub kod określający konkretny obiekt hotelowy (identyfikator wizytówki hotelu) pasujący do pliku danych o hotelach partnera (od 1 do 256 znaków, przycięty). |
cpc_bid_micros |
int64 |
Odczyt/zapis | Kwota stawki CPC ustawianej samodzielnie w mikro (np. 1000000 = $1.00). |
negative |
bool |
IMMUTABLE |
Musi to być false. |
Obsługiwane usługi i operacje
| Usługa | Metoda | Obsługiwane działania |
|---|---|---|
AdGroupCriterionService |
MutateAdGroupCriteria |
create, update
(cpc_bid_micros), remove |
GoogleAdsService |
Search
/ SearchStream |
Atrybuty kryteriów zapytania, kody produktów i wartości stawek |
Przykłady kodu i ładunku
Z przykładów poniżej dowiesz się, jak odczytywać, tworzyć, aktualizować i usuwać
VERTICAL_ADS_ITEM_BID kryteria.
Odczytywanie stawek za jednostkę za pomocą GAQL
Użyj symbolu GoogleAdsService.Search lub GoogleAdsService.SearchStream, aby wysłać zapytanie o kryteria 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'
Tworzenie stawki za encję
Wyślij operację create do:AdGroupCriterionService.MutateAdGroupCriteria
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"negative": false,
"cpcBidMicros": "1500000",
"entityBid": {
"itemCode": "hotel_nyc_12345"
}
}
}
]
}
Aktualizowanie dotychczasowej kwoty stawki za encję
Wyślij operację update z parametrem updateMask do:AdGroupCriterionService.MutateAdGroupCriteria
{
"customerId": "1234567890",
"operations": [
{
"updateMask": "cpcBidMicros",
"update": {
"resourceName": "customers/1234567890/adGroupCriteria/987654321~555444333",
"cpcBidMicros": "2000000"
}
}
]
}
Usuwanie stawki za encję
Wyślij operację remove do:AdGroupCriterionService.MutateAdGroupCriteria
{
"customerId": "1234567890",
"operations": [
{
"remove": "customers/1234567890/adGroupCriteria/987654321~555444333"
}
]
}
Reguły weryfikacji i obsługa błędów
| Scenariusz | Aktywator / warunek | Zwrócony kod błędu |
|---|---|---|
| Kampania z CPC ustawianym automatycznie | Próba utworzenia stawki za jednostkę w kampanii z automatycznym lub inteligentnym określaniem stawek. | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Nieprawidłowy typ kampanii | Dodawanie stawki za obiekt do kampanii innej niż w sieci wyszukiwania (np. kampanii w sieci reklamowej). | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Kryterium negatywne | Ustawiam negative = true dla
VERTICAL_ADS_ITEM_BID. |
ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Brak kodu produktu lub stawki | Próba utworzenia entity_bid bez podania item_code lub cpc_bid_micros. |
RequestError.REQUIRED_FIELD_MISSING
/ FieldError.REQUIRED |
| Zmiana kodu produktu | Próba zaktualizowania entity_bid.item_code w przypadku istniejącego kryterium. |
RequestError.IMMUTABLE_FIELD / FieldError.IMMUTABLE_FIELD |
Raporty skuteczności
Za pomocą ClickType.TRAVEL_ASSETS możesz identyfikować dane o skuteczności reklam wyświetlanych jako pliki danych o miejscach noclegowych w reklamach w wyszukiwarce, np. pobierać dane o skuteczności reklam we wszystkich kampaniach:
SELECT
campaign.name,
segments.click_type,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.click_type = 'TRAVEL_ASSETS'
Segmenty wymiaru planu podróży
Możesz też dzielić na segmenty raporty o skuteczności kampanii z połączonymi plikami danych o podróżach według wymiarów planu podróży:
segments.advance_booking_window: Okres rezerwacji z wyprzedzeniem dla planu podróży w dniach.segments.length_of_booking: długość rezerwacji planu podróży w dniach.segments.start_date: data rozpoczęcia rezerwacji w formacieyyyy-MM-dd.segments.start_day_of_week: dzień tygodnia rozpoczęcia rezerwacji.segments.user_set_dates: wskazuje, czy wybrano daty określone przez użytkownika (USER_SELECTEDlubDEFAULT_SELECTION).
Przykładowe zapytanie
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