Gdy połączysz z kontem Google Ads pliki danych o produktach z usług Hotele, Kwatery wakacyjne lub Atrakcje, Google Ads automatycznie wzbogaci dotychczasowe kampanie w sieci wyszukiwania o ceny i zdjęcia pobrane z plików danych. Ta funkcja nosi nazwę plików danych o miejscach noclegowych w reklamach w wyszukiwarce.
Jak ustawienia klienta i ustawienia kampanii współdziałają ze sobą
Domyślnie kampanie dziedziczą linki do pliku 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ć TRAVEL_FEED do pola excluded_parent_asset_set_types kampanii i zarządzać linkami na poziomie kampanii za pomocą CampaignAssetSet.
- Dziedzicz pliki danych klienta (domyślnie): zachowaj połączenie z
CustomerAssetSetna poziomie klienta i upewnij się, żeCampaign.excluded_parent_asset_set_typesnie zawieraTRAVEL_FEED. - Rezygnacja na poziomie klienta: usuń powiązanie
CustomerAssetSetna poziomie klienta i nie łączCampaignAssetSetna poziomie kampanii. - Zrezygnować z funkcji w konkretnej kampanii: dodaj
TRAVEL_FEEDdoCampaign.excluded_parent_asset_set_typesi usuń wszystkie powiązaniaCampaignAssetSetna poziomie kampanii. - Włączenie tylko w konkretnej kampanii: usuń powiązanie na poziomie klienta
CustomerAssetSet, a następnie utwórz połączenie na poziomie kampaniiCampaignAssetSetdla tej kampanii. - Używanie plików danych na poziomie kampanii, gdy inne kampanie nadal dziedziczą pliki danych: dodaj
TRAVEL_FEEDdoCampaign.excluded_parent_asset_set_typeskampanii i utwórz dla niej 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
customer_asset_set.resource_nameiasset_set.resource_namedla wszystkich linkówCustomerAssetSet, których typ toTRAVEL_FEED, za pomocą 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órzCustomerAssetSetOperationi ustawremovenacustomer_asset_set.resource_namepobrany w poprzednim kroku.Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSets, używając utworzonych obiektówCustomerAssetSetOperation.
Jeśli chcesz ponownie akceptować tę funkcję na poziomie klienta:
- Dla każdego bazowego elementu
AssetSet(asset_set.resource_name), który chcesz połączyć, utwórz nowy elementCustomerAssetSet, w którym poleasset_setjest ustawione naasset_set.resource_name, a polecustomerjest ustawione na nazwę zasobu klienta. - Dla każdego elementu
CustomerAssetSetutworzonego w poprzednim kroku utwórz elementCustomerAssetSetOperationz atrybutemcreateustawionym naCustomerAssetSet. - Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSets, używając utworzonych obiektówCustomerAssetSetOperation.
Rezygnowanie na poziomie kampanii
Aby zrezygnować z plików danych o miejscach noclegowych w reklamach w wyszukiwarce na poziomie kampanii, musisz najpierw wykluczyć odziedziczony stan akceptacji z poziomu 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
Campaign, w którymexcluded_parent_asset_set_typesma poprzednie wartości orazTRAVEL_FEED, aresource_namema nazwę zasobu kampanii.Utwórz
CampaignOperationi ustawupdatena utworzone wcześniejCampaigniupdate_mask.Prześlij żądanie do
CampaignService.MutateCampaigns, używającCampaignOperationutworzonego w poprzednim kroku.
Następnie usuń wszystkie powiązania z plikami danych dotyczących podróży na poziomie kampanii:
W przypadku kampanii, którą chcesz wyłączyć, pobierz
campaign_asset_set.resource_nameiasset_set.resource_namedla wszystkich linkówCampaignAssetSettypuTRAVEL_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órzCampaignAssetSetOperationi ustawremovenacampaign_asset_set.resource_namepobrany w poprzednim kroku.Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSets, używając utworzonych obiektówCampaignAssetSetOperation.
Jeśli chcesz ponownie wyrazić zgodę na tę funkcję na poziomie kampanii:
- Dla każdego elementu
AssetSet(asset_set.resource_name), który chcesz akceptować, utwórz nowy elementCampaignAssetSet, w którym parametrasset_setjest ustawiony naasset_set.resource_name, a parametrcampaignjest ustawiony na nazwę zasobu kampanii. - Dla każdego elementu
CampaignAssetSetutworzonego w poprzednim kroku utwórz elementCampaignAssetSetOperationz atrybutemcreateustawionym naCampaignAssetSet. - Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSets, używając utworzonych obiektówCampaignAssetSetOperation.
Przywracanie stanu akceptacji na poziomie klienta w przypadku kampanii
Aby ponownie ustawić stan akceptacji kampanii na dziedziczenie ustawienia na poziomie klienta:
- Utwórz nowy obiekt
Campaignzexcluded_parent_asset_set_typesbezTRAVEL_FEEDna liście i ustawresource_namena nazwę zasobu kampanii. - Utwórz
CampaignOperationi ustawupdatena utworzone wcześniejCampaigniupdate_mask. - Prześlij żądanie do
CampaignService.MutateCampaigns, używającCampaignOperationutworzonego w poprzednim kroku.
Samodzielne ustawianie stawek CPC na poziomie elementu
Od wersji v25 interfejsu Google Ads API możesz konfigurować zastępowanie samodzielnie ustawianych stawek CPC dla poszczególnych encji w przypadku hoteli w kampaniach w sieci wyszukiwania dotyczących podróży. Służy do tego zasób AdGroupCriterion z typem kryterium CriterionType.VERTICAL_ADS_ITEM_BID (ad_group_criterion.entity_bid). Aby ustawić mnożnikowe dostosowania stawek grupy reklam w wymiarach planu podróży za pomocą AdGroupBidModifier, zapoznaj się z artykułem Dostosowywanie stawek za pomocą modyfikatorów stawek.
Wymagania wstępne i 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.SEARCH, z funkcjami AI Max w kampaniach w sieci wyszukiwania włączonymi za pomocąCampaign.ai_max_setting.enable_ai_maxi powiązanym zestawem komponentów pliku danych o hotelachTRAVEL_FEED; 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 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 elementy nie są obsługiwane. - Wymagany identyfikator elementu i stawka: podczas tworzenia kryterium stawki elementu wymagane są parametry
entity_bid.item_codeicpc_bid_micros.
Definicje schematu i pól
- Zasób:
AdGroupCriterion(ad_group_criterion) - Format nazwy zasobu:
customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id} - Typ kryterium:
CriterionType.VERTICAL_ADS_ITEM_BID - Wiadomość:
EntityBid(ad_group_criterion.entity_bid)
| Pole | Typ | Zachowanie | Opis |
|---|---|---|---|
entity_bid |
EntityBid |
IMMUTABLE |
Kryterium reprezentujące zastąpienie samodzielnie ustawionej stawki w przypadku pojedynczego elementu. |
entity_bid.item_code |
string |
IMMUTABLE, wymagane |
Identyfikator lub kod określający konkretny hotel (identyfikator wizytówki hotelu) zgodny z plikiem danych o hotelach partnera (od 1 do 256 znaków, przycięty). |
cpc_bid_micros |
int64 |
Odczyt/zapis | Kwota stawki CPC ustawianej samodzielnie wyrażona w mikrowartościach (np. 1000000 to $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
Poniższe przykłady pokazują, jak odczytywać, tworzyć, aktualizować i usuwać kryteria VERTICAL_ADS_ITEM_BID.
Odczytywanie stawek za jednostkę za pomocą GAQL
Użyj 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 kwoty stawki dotychczasowego elementu
Wyślij operację update z updateMask do AdGroupCriterionService.MutateAdGroupCriteria:
{
"customerId": "1234567890",
"operations": [
{
"updateMask": "cpcBidMicros",
"update": {
"resourceName": "customers/1234567890/adGroupCriteria/987654321~555444333",
"cpcBidMicros": "2000000"
}
}
]
}
Usuwanie stawki elementu
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 element w kampanii z automatycznym lub inteligentnym określaniem stawek. | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Nieprawidłowy typ kampanii | Dodanie stawki elementu do kampanii innej niż kampania w sieci wyszukiwania (np. kampanii w sieci reklamowej). | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Kryterium wykluczające | 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 |
| Zmieniam kod produktu | Próba zaktualizowania pola entity_bid.item_code w istniejącym kryterium. |
RequestError.IMMUTABLE_FIELD / FieldError.IMMUTABLE_FIELD |
Raporty skuteczności
Możesz używać ClickType.TRAVEL_ASSETS do identyfikowania danych o skuteczności reklam wyświetlanych jako pliki danych o miejscach noclegowych w reklamach w wyszukiwarce, np. do pobierania danych 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
Raporty skuteczności kampanii z połączonymi plikami danych o podróżach możesz też dzielić na segmenty 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 w ramach 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