Za pomocą interfejsu Google Ads API możesz tworzyć zapytania, aby uzyskiwać potrzebne raporty dotyczące reklam hoteli. Następnie możesz zintegrować te zapytania z aplikacjami klienckimi.
Wymagania wstępne
- Dowiedz się, jak działają ogólnie raporty i zapytania.
- Dowiedz się, jak można wysyłać zapytania do różnych zasobów.
Podstawowe zapytania dotyczące reklam hoteli
Zapoznaj się z tymi przykładowymi zapytaniami, aby dowiedzieć się, jak używać interfejsu Google Ads API do tworzenia raportów dotyczących reklam hoteli.
Pobieranie danych o kliknięciach
To przykładowe zapytanie zwraca liczbę kliknięć z widoku skuteczności hotelu.
SELECT metrics.clicks
FROM hotel_performance_view
Wyniki zapytania powinny wyglądać mniej więcej tak:
{
"results": [
{
"metrics": {
"clicks": "78090"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
}
}
],
"totalResultsCount": "1",
"fieldMask": "metrics.clicks"
}
Pobieranie danych o grupach reklam
To przykładowe zapytanie dotyczące grup reklam pobiera wyświetlenia i kliknięcia 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 powinny wyglądać mniej więcej tak. Odpowiedź jest filtrowana tak, aby zawierała tylko dane spełniające warunki klauzuli WHERE. Ponieważ wybrano segments.date, zapytanie zwraca 1 wiersz na każdy dzień w 30-dniowym okresie.
{
"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 włączonych reklam w grupach reklam
To przykładowe zapytanie dotyczące reklam w grupach reklam pobiera grupy reklam, które będą wyświetlać reklamy. Aby grupa reklam mogła wyświetlać reklamy, musi być włączona reklama w grupie reklam, grupa reklam i kampania.
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 powinny wyglądać mniej więcej tak:
{
"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 w raportach dotyczących reklam hoteli
W poprzednich interfejsach API do tworzenia raportów dotyczących reklam hoteli można było pobrać konkretny raport, np. raport skuteczności. W interfejsie Google Ads API tego typu dane są reprezentowane w osobnych zasobach *_view, takich jak hotel_performance_view i hotel_group_view. W tej sekcji opisujemy zasoby *_view, które są przydatne w przypadku raportów dotyczących reklam hoteli, oraz przykładowe zapytania.
Widok grupy hoteli
Widok grupy hoteli to widok kryteriów, dlatego jest przydatny do pobierania danych dotyczących konkretnego typu kryteriów grupy hoteli.
To przykładowe zapytanie dotyczące widoków grup hoteli pobiera kliknięcia każdego hotelu w grupie informacji o produktach w całym drzewie grup informacji o produktach, 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 powinny wyglądać mniej więcej tak: Ponieważ w przypadku węzła głównego („Wszystkie hotele”) wartość case_value jest niezdefiniowana, pierwszy wiersz przedstawia dane dotyczące grupy informacji o produktach „Wszystkie hotele”, a drugi – dane dotyczące 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ć wskaźniki skuteczności dla hotelu na podstawie danych, które nie pochodzą z grupowania hoteli, nawet jeśli masz podział według identyfikatora hotelu.
To przykładowe zapytanie dotyczące widoków skuteczności hotelu pobiera kliknięcia i dzieli wyniki na segmenty według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania powinny wyglądać mniej więcej tak: Kliknięcia są podzielone na segmenty według partner_hotel_id (partnerHotelId w REST JSON), więc dla tego samego hotel_performance_view można zwrócić 2 lub więcej obiektów.
{
"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 odbiorców dołączonych na poziomie grupy reklam.
To zapytanie zwraca 1 wiersz na każdy 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 powinny wyglądać mniej więcej tak:
{
"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, jeśli chcesz pobrać wskaźniki skuteczności dla odbiorców dołączonych na poziomie kampanii.
To zapytanie zwraca 1 wiersz na każdy 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 powinny wyglądać mniej więcej tak:
{
"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
W tej sekcji znajdziesz kilka przydatnych raportów zaprojektowanych specjalnie na potrzeby reklam hoteli.
Raporty skuteczności
Te zapytania korzystają z widoku skuteczności hotelu, aby pobierać dane o skuteczności.
hotel_performance_view umożliwia dzielenie danych na segmenty za pomocą zasobu campaign. Możesz na przykład użyć pola campaign.id, aby pobrać 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 na segmenty według:
campaignhotel_center_idhotel_countryhotel_rate_rule_idhotel_rate_typedevicepartner_hotel_id
Opis typów znajdziesz w artykule HotelRateType.
W zapytaniu można uwzględnić wiele segmentów, ale liczba zwracanych wierszy może się znacznie zwiększyć 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 powinny wyglądać mniej więcej tak:
{
"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.
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 o średniej cenie rezerwacji
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 o skuteczności konwersji i kosztów
To zapytanie pobiera ogólne dane o skuteczności konwersji i kosztów w przypadku 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 z sekcji Odbiorcy pokazują skuteczność mnożników stawek na listach odbiorców Google Ads. Przykłady raportów z sekcji Odbiorcy znajdziesz w przykładowych zapytaniach w sekcjach Widok odbiorców grupy reklam i Widok odbiorców kampanii.