Za pomocą interfejsu Google Ads API możesz tworzyć zapytania, aby uzyskiwać potrzebne raporty dotyczące reklam hoteli. Możesz potem uwzględnić te zapytania w aplikacjach klienckich.
Wymagania wstępne
- Dowiedz się, jak ogólnie działają raportowanie i zapytania.
- Dowiedz się, jak wysyłać zapytania o różne zasoby.
Podstawowe zapytania dotyczące reklam hoteli
Zapoznaj się z tymi przykładowymi zapytaniami, aby dowiedzieć się, jak używać interfejsu Google Ads API do generowania raportów dotyczących reklam hoteli.
Dane o kliknięciach
Poniższe przykładowe zapytanie zwraca liczbę kliknięć z widoku skuteczności hotelu.
SELECT metrics.clicks
FROM hotel_performance_view
Wyniki zapytania są podobne do tej odpowiedzi JSON:
{
"results": [
{
"metrics": {
"clicks": "78090"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
}
}
],
"totalResultsCount": "1",
"fieldMask": "metrics.clicks"
}
Pobieranie danych o grupach reklam
Przykładowe zapytanie dotyczące grup reklam pobiera dane o wyświetleniach i kliknięciach z ostatnich 30 dni podzielone na segmenty według daty.
SELECT
campaign.name,
campaign.status,
ad_group.name,
segments.date,
metrics.impressions,
metrics.clicks
FROM ad_group
WHERE ad_group.type = HOTEL_ADS
AND segments.date DURING LAST_30_DAYS
Wyniki zapytania są podobne do tej odpowiedzi JSON. Odpowiedź jest filtrowana tylko pod kątem danych spełniających warunki klauzuli WHERE. Ponieważ wybrano segments.date, zapytanie zwraca po 1 wierszu na dzień w 30-dniowym oknie.
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"name": "test campaign",
"status": "ENABLED"
},
"adGroup": {
"resourceName": "customers/1234567890/adGroups/11111111",
"name": "test adgroup"
},
"metrics": {
"clicks": "91",
"impressions": "5145"
},
"segments": {
"date": "2020-05-10"
}
}
]
}
Pobieranie reklam z włączonej grupy reklam
Przykładowe zapytanie dotyczące reklam w grupie reklam pobiera grupy reklam, które będą wyświetlać reklamy. Aby grupa reklam mogła wyświetlać reklamy, reklama w grupie reklam, grupa reklam i kampania muszą być włączone.
SELECT
ad_group.id,
ad_group.name,
ad_group.status,
campaign.name,
campaign.status,
ad_group_ad.status
FROM ad_group_ad
WHERE ad_group_ad.status = ENABLED
AND campaign.status = ENABLED
AND ad_group.status = ENABLED
Wyniki zapytania są podobne do tej odpowiedzi JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"name": "test campaign",
"status": "ENABLED"
},
"adGroup": {
"resourceName": "customers/1234567890/adGroups/11111111",
"id": "11111111",
"name": "test adgroup",
"status": "ENABLED"
},
"adGroupAd": {
"resourceName": "customers/1234567890/adGroupAds/11111111~33333333",
"status": "ENABLED",
"ad": {
"resourceName": "customers/1234567890/ads/77777777"
}
}
}
]
}
Przydatne widoki raportów dotyczących reklam hoteli
W poprzednich interfejsach API do raportów dotyczących reklam hoteli można było pobrać konkretny raport, np. raport skuteczności. W interfejsie Google Ads API tego rodzaju dane są reprezentowane w oddzielnych zasobach *_view, takich jak hotel_performance_view i hotel_group_view. W tej sekcji opisujemy zasoby *_view, które są przydatne w raportach dotyczących reklam hoteli, oraz podajemy przykładowe zapytania.
Widok grupy hoteli
Widok grupy hoteli to widok kryteriów, więc przydaje się do pobierania danych dotyczących określonego typu kryteriów grupy hoteli.
Poniższy przykład zapytania dotyczącego widoków grup hoteli pobiera kliknięcia dla każdego hotelu w grupie informacji o produktach w całym drzewie grup informacji o hotelach, w tym w węźle głównym („Wszystkie hotele”).
SELECT
metrics.clicks,
ad_group_criterion.listing_group.case_value.hotel_id.value
FROM hotel_group_view
Wyniki zapytania wyglądają podobnie do tej odpowiedzi JSON. Ponieważ case_value nie jest zdefiniowany dla węzła głównego („Wszystkie hotele”), pierwszy wiersz reprezentuje dane dla grupy informacji o produktach „Wszystkie hotele”, a drugi wiersz reprezentuje dane dla podrzędnej grupy informacji o produktach „Inne”.
{
"results": [
{
"metrics": {
"clicks": "5"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/2222222~1111111"
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/2222222~1111111"
}
},
{
"metrics": {
"clicks": "0"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/2222222~1111112",
"listingGroup": {
"caseValue": {
"hotelId": {}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/2222222~1111112"
}
},
{
"metrics": {
"clicks": "3"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/2222222~1111113",
"listingGroup": {
"caseValue": {
"hotelId": {
"value": "11111111111111111"
}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/2222222~1111113"
}
},
{
"metrics": {
"clicks": "2"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/2222222~1111114",
"listingGroup": {
"caseValue": {
"hotelId": {
"value": "11111111111111112"
}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/2222222~1111114"
}
}
]
}
Widok skuteczności hotelu
Widok skuteczności hotelu jest przydatny, jeśli chcesz pobrać dane o skuteczności hotelu, korzystając z danych, które nie pochodzą z grupy hoteli, nawet jeśli masz podział na podstawie identyfikatora hotelu.
Poniższe przykładowe zapytanie dotyczące widoków skuteczności hotelu pobiera kliknięcia i segmentuje wyniki według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania są podobne do tej odpowiedzi JSON. Kliknięcia są podzielone na segmenty według partner_hotel_id (partnerHotelId w REST JSON), więc dla tego samego hotel_performance_view mogą zostać zwrócone co najmniej 2 obiekty.
{
"results": [
{
"metrics": {
"clicks": "7055"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"partnerHotelId": "1111"
}
},
{
"metrics": {
"clicks": "3047"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"partnerHotelId": "1112"
}
}
]
}
Widok odbiorców grupy reklam
Widok odbiorców grupy reklam jest przydatny, jeśli chcesz pobrać dane o skuteczności dotyczące odbiorców dołączonych na poziomie grupy reklam.
To zapytanie zwraca po 1 wierszu na ad_group_criterion.user_list.user_list.
SELECT
ad_group.id,
campaign.id,
ad_group_criterion.user_list.user_list,
segments.device,
segments.hotel_date_selection_type,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.all_conversions_value
FROM ad_group_audience_view
Wyniki zapytania są podobne do tej odpowiedzi JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0",
"costMicros": "0",
"impressions": "3",
"allConversionsValue": "0"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/23456789~789456",
"userList": {
"userList": "customers/1234567890/userLists/456789"
}
},
"adGroupAudienceView": {
"resourceName":
"customers/1234567890/adGroupAudienceViews/23456789~789456"
},
"segments": {
"device": "TABLET",
"hotelDateSelectionType": "USER_SELECTED"
}
}
]
}
Widok odbiorców kampanii
Widok odbiorców kampanii jest przydatny, gdy chcesz pobrać wskaźniki skuteczności dotyczące odbiorców dołączonych na poziomie kampanii.
To zapytanie zwraca po 1 wierszu na campaign_criterion.user_list.user_list.
SELECT
campaign.id,
campaign_criterion.user_list.user_list,
segments.device,
segments.hotel_date_selection_type,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.all_conversions_value
FROM campaign_audience_view
Wyniki zapytania są podobne do tej odpowiedzi JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0",
"costMicros": "0",
"impressions": "3",
"allConversionsValue": "0"
},
"campaignCriterion": {
"resourceName": "customers/1234567890/campaignCriteria/23456789~789456",
"userList": {
"userList": "customers/1234567890/userLists/456789"
}
},
"campaignAudienceView": {
"resourceName":
"customers/1234567890/campaignAudienceViews/23456789~789456"
},
"segments": {
"device": "TABLET",
"hotelDateSelectionType": "USER_SELECTED"
}
}
]
}
Przydatne raporty dotyczące reklam hoteli
Ta sekcja zawiera kilka przydatnych raportów przeznaczonych specjalnie do reklam hoteli.
Raporty skuteczności
Te zapytania korzystają z widoku skuteczności reklam hoteli, aby uzyskiwać dane o skuteczności.
hotel_performance_view umożliwia używanie zasobu campaign do segmentowania danych. Możesz na przykład użyć pola campaign.id, aby uzyskać dane o skuteczności według kampanii.
Wydajność
Przykładowe zapytanie:
SELECT
segments.hotel_center_id,
segments.device,
segments.partner_hotel_id,
segments.hotel_check_in_day_of_week,
segments.hotel_date_selection_type,
segments.hotel_length_of_stay,
segments.hotel_booking_window_days,
metrics.search_top_impression_share,
metrics.search_absolute_top_impression_share,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.all_conversions_value,
metrics.search_impression_share
FROM hotel_performance_view
Przykładowa odpowiedź JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0.0",
"costMicros": "0",
"impressions": "0",
"searchImpressionShare": "0.0999",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "0.0999",
"allConversionsValue": "1"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "3",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "MONDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "123"
}
},
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1",
"searchImpressionShare": "1.0",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "1.0",
"allConversionsValue": "1"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "3",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "MONDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "123"
}
}
]
}
Skuteczność według typu kliknięcia
Przykładowe zapytanie:
SELECT
segments.click_type,
segments.hotel_center_id,
segments.device,
segments.partner_hotel_id,
segments.hotel_check_in_day_of_week,
segments.hotel_date_selection_type,
segments.hotel_length_of_stay,
segments.hotel_booking_window_days,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.all_conversions_value
FROM hotel_performance_view
Przykładowa odpowiedź JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1",
"allConversionsValue": "0.0"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "0",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "TUESDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "123",
"clickType": "HOTEL_PRICE"
}
},
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789"
},
"metrics": {
"clicks": "1",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1",
"allConversionsValue": "0.0"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "0",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "TUESDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "12345",
"clickType": "HOTEL_PRICE"
}
}
]
}
Raport skuteczności cen warunkowych
To zapytanie pobiera wskaźniki skuteczności podzielone według:
campaignhotel_center_idhotel_countryhotel_rate_rule_idhotel_rate_typedevicepartner_hotel_id
Opisy typów znajdziesz w artykule HotelRateType.
W zapytaniu można uwzględnić wiele segmentów, ale liczba zwracanych wierszy może znacznie wzrosnąć wraz z dodatkowymi segmentami.
SELECT
campaign.id,
segments.hotel_center_id,
segments.hotel_country,
segments.hotel_rate_rule_id,
segments.hotel_rate_type,
segments.device,
segments.partner_hotel_id,
metrics.search_top_impression_share,
metrics.search_absolute_top_impression_share,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions
FROM hotel_performance_view
Wyniki zapytania są podobne do tej odpowiedzi JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "1",
"conversions": "0.0",
"costMicros": "0",
"impressions": "24",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "0.17073170731707318"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "TABLET",
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelRateRuleId": "desktop",
"hotelRateType": "PUBLIC_RATE"
}
},
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "107",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1668",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "0.3581201665675193"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"device": "TABLET",
"hotelCenterId": "1234",
"partnerHotelId": "1235",
"hotelRateRuleId": "desktop",
"hotelRateType": "PUBLIC_RATE"
}
}
]
}
Raport o konkurencyjności cenowej
Możesz uzyskać informacje o tym, jak Twoje ceny wypadają na tle cen konkurencji w przypadku tych samych planów podróży do hotelu.
Przykładowe zapytanie:
SELECT
segments.hotel_center_id,
segments.partner_hotel_id,
segments.hotel_price_bucket,
metrics.hotel_average_lead_value_micros,
metrics.hotel_price_difference_percentage
FROM hotel_performance_view
Przykładowa odpowiedź JSON:
{
"results": [
{
"metrics": {
"hotelAverageLeadValueMicros": "96416341.829268292",
"hotelPriceDifferencePercentage": "-0.014627310872986811"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raport dotyczący średniej ceny zarezerwowanej
Możesz uzyskać dane potrzebne do obliczenia średniej ceny rezerwacji (all_conversions_value podzielone przez conversions) w przypadku hoteli.
Przykładowe zapytanie:
SELECT
segments.hotel_center_id,
segments.partner_hotel_id,
segments.hotel_price_bucket,
metrics.all_conversions_value,
metrics.conversions
FROM hotel_performance_view
Przykładowa odpowiedź JSON:
{
"results": [
{
"metrics": {
"allConversionsValue": "123.5",
"conversions": "1"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raport skuteczności konwersji i kosztów
To zapytanie pobiera ogólne dane o konwersjach i kosztach reklam hoteli, co jest przydatne do oceny wyników finansowych i ROAS.
Przykładowe zapytanie:
SELECT
segments.date,
segments.partner_hotel_id,
metrics.all_conversions_value,
metrics.cost_micros,
metrics.conversions
FROM hotel_performance_view
WHERE segments.date DURING LAST_30_DAYS
Przykładowa odpowiedź JSON:
{
"results": [
{
"metrics": {
"allConversionsValue": "250.0",
"costMicros": "15000000",
"conversions": "2.0"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"date": "2026-03-24",
"partnerHotelId": "123"
}
}
]
}
Raporty z sekcji Odbiorcy
Raporty o odbiorcach pokazują skuteczność mnożników stawek na listach odbiorców Google Ads. Przykłady raportów dotyczących odbiorców znajdziesz w przykładowych zapytaniach w sekcjach Widok odbiorców grupy reklam i Widok odbiorców kampanii.