Gdy pliki danych o hotelach, kwaterach wakacyjnych lub atrakcjach są połączone z kontem Google Ads, Google Ads automatycznie wzbogaca dotychczasowe kampanie w sieci wyszukiwania o ceny i obrazy pochodzące z tych plików danych. Ta funkcja jest znana jako pliki danych o miejscach noclegowych w reklamach w wyszukiwarce.
Jak współdziałają ustawienia klienta i ustawienia kampanii
Domyślnie kampanie dziedziczą linki do plików danych o miejscach noclegowych (TRAVEL_FEED zestawy komponentów) z
poziomu klienta za pomocą CustomerAssetSet
powiązań. Aby zastąpić ustawienia na poziomie klienta w przypadku konkretnej kampanii, musisz dodać TRAVEL_FEED do pola kampanii
excluded_parent_asset_set_types i zarządzać
linkami na poziomie kampanii za pomocą CampaignAssetSet.
- Dziedziczenie plików danych klienta (domyślnie): pozostaw połączony element
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 łącz elementuCampaignAssetSetna poziomie kampanii. - Rezygnacja w przypadku konkretnej kampanii: dodaj
TRAVEL_FEEDdoCampaign.excluded_parent_asset_set_typesi usuń wszystkie powiązaniaCampaignAssetSetna poziomie kampanii. - Włączenie tylko w przypadku konkretnej kampanii: usuń powiązanie
CustomerAssetSetna poziomie klienta, a następnie utwórz linkCampaignAssetSetna poziomie kampanii. - Używanie plików danych na poziomie kampanii, podczas gdy inne kampanie nadal dziedziczą: 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.
Rezygnacja 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_nameiasset_set.resource_namedla wszystkichCustomerAssetSetlinków, których typ toTRAVEL_FEEDza pomocącustomer_asset_setraportu:SELECT customer_asset_set.resource_name, asset_set.resource_name, asset_set.name FROM customer_asset_set WHERE asset_set.type = 'TRAVEL_FEED'W przypadku każdego elementu
customer_asset_set.resource_nameutwórzCustomerAssetSetOperationi ustawremovenacustomer_asset_set.resource_namepobrany w poprzednim kroku.Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSetsza pomocą utworzonych obiektówCustomerAssetSetOperation.
Jeśli chcesz ponownie akceptować tę funkcję na poziomie klienta:
- W przypadku każdego powiązanego
AssetSet(asset_set.resource_name) który chcesz połączyć, utwórz nowyCustomerAssetSet, w którymasset_setjest ustawiony naasset_set.resource_name, acustomerna nazwę zasobu klienta. - W przypadku każdego elementu
CustomerAssetSetutworzonego w poprzednim kroku utwórzCustomerAssetSetOperation, w którymcreatejest ustawiony naCustomerAssetSet. - Prześlij żądanie do
CustomerAssetSetService.MutateCustomerAssetSetsza pomocą utworzonych obiektówCustomerAssetSetOperation.
Rezygnacja 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 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
Campaignobiekt, w którymexcluded_parent_asset_set_typesjest ustawiony na poprzednie wartości plusTRAVEL_FEED, aresource_namena nazwę zasobu kampanii.Utwórz
CampaignOperationi ustawupdatena wcześniej utworzonąCampaignorazupdate_maskodpowiednio.Prześlij żądanie do
CampaignService.MutateCampaignsza pomocąCampaignOperationutworzonego w poprzednim kroku.
Następnie usuń wszystkie powiązania plików danych o miejscach noclegowych na poziomie kampanii:
W przypadku kampanii, z której chcesz zrezygnować, pobierz zarówno
campaign_asset_set.resource_nameiasset_set.resource_namedla wszystkichCampaignAssetSetlinków, których typ toTRAVEL_FEEDza pomocą 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'W przypadku każdego elementu
campaign_asset_set.resource_nameutwórzCampaignAssetSetOperationi ustawremovenacampaign_asset_set.resource_namepobrany w poprzednim kroku.Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSetsza pomocą utworzonychCampaignAssetSetOperationobiektów.
Jeśli chcesz ponownie wyrazić zgodę na tę funkcję na poziomie kampanii:
- W przypadku każdego powiązanego elementu
AssetSet(asset_set.resource_name) który chcesz akceptować, utwórz nowyCampaignAssetSet, w którymasset_setjest ustawiony naasset_set.resource_name, acampaignna nazwę zasobu kampanii. - W przypadku każdego elementu
CampaignAssetSetutworzonego w poprzednim kroku utwórzCampaignAssetSetOperation, w którymcreatejest ustawiony naCampaignAssetSet. - Prześlij żądanie do
CampaignAssetSetService.MutateCampaignAssetSetsza pomocą utworzonychCampaignAssetSetOperationobiektów.
Przywracanie stanu włączenia na poziomie klienta w przypadku kampanii
Aby stan włączenia kampanii ponownie dziedziczył ustawienie na poziomie klienta:
- Utwórz nowy obiekt
Campaign, w którymexcluded_parent_asset_set_typesnie zawieraTRAVEL_FEEDna liście, aresource_namejest ustawiony na nazwę zasobu kampanii. - Utwórz
CampaignOperationi ustawupdatena wcześniej utworzonąCampaignorazupdate_maskodpowiednio. - Prześlij żądanie do
CampaignService.MutateCampaignsza pomocąCampaignOperationutworzonego w poprzednim kroku.
Samodzielne ustawianie stawek CPC na poziomie jednostki
Od wersji v25 interfejsu Google Ads API możesz konfigurować zastąpienia samodzielnie ustawianych stawek CPC
na poziomie jednostki w przypadku hoteli 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 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 włączoną funkcją 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 samodzielne ustawianie stawek CPC
(
BiddingStrategyType.MANUAL_CPC).- Nie jest obsługiwana w przypadku automatycznych strategii ustalania stawek ani strategii inteligentnego określania stawek (takich jak Maksymalizacja liczby konwersji, Maksymalizacja wartości konwersji, Docelowy CPA czy Docelowy ROAS).
- Tylko kryteria pozytywne:
negativemusi być ustawione nafalse. Wykluczające stawki za jednostkę nie są obsługiwane. - Wymagany identyfikator jednostki i stawka:
podczas tworzenia kryterium stawki za jednostkę wymagane są
entity_bid.item_codeicpc_bid_micros.
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 zastąpienie samodzielnie ustawianej stawki w przypadku pojedynczego elementu. |
entity_bid.item_code |
string |
IMMUTABLE, wymagane |
Identyfikator lub kod określający konkretny obiekt hotelowy (identyfikator oferty hotelowej) zgodny z plikiem danych o hotelach partnera (od 1 do 256 znaków, bez spacji na początku i końcu). |
cpc_bid_micros |
int64 |
Odczyt/zapis | Kwota samodzielnie ustawianej stawki CPC w mikrach (np.
1000000 odpowiada $1.00). |
negative |
bool |
IMMUTABLE |
Musi mieć wartość 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 |
Wysyłanie zapytań o atrybuty kryteriów, kody produktów i wartości stawek |
Przykłady kodu i ładunku
Z poniższych przykładów dowiesz się, jak odczytywać, tworzyć, aktualizować i usuwać kryteria VERTICAL_ADS_ITEM_BID.
Odczytywanie stawek za jednostkę za pomocą GAQL
Aby wysyłać zapytania o
VERTICAL_ADS_ITEM_BID kryteria, użyj GoogleAdsService.Search lub
GoogleAdsService.SearchStream:
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 jednostkę
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 dotychczasowej stawki za jednostkę
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 za jednostkę
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 samodzielnie | Próba utworzenia stawki za jednostkę w kampanii z automatycznym określaniem stawek lub inteligentnym określaniem stawek. | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Nieprawidłowy typ kampanii | Dodawanie stawki za jednostkę do kampanii innej niż w sieci wyszukiwania (np. kampanii displayowej ). | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Kryterium wykluczające | Ustawienie negative = true w przypadku
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 |
| Modyfikowanie kodu produktu | Próba zaktualizowania entity_bid.item_code w przypadku dotychczasowego
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ż segmentować raporty skuteczności kampanii z połączonymi plikami danych o miejscach noclegowych według wymiarów planu podróży:
segments.advance_booking_window: okres rezerwacji z wyprzedzeniem w planie podróży w dniach.segments.length_of_booking: długość rezerwacji w planie 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_SELECTEDczyDEFAULT_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