Film: informacje o raportach Reklam hoteli z warsztatów w 2019 r.
Za pomocą interfejsu Google Ads API możesz tworzyć zapytania, aby uzyskiwać potrzebne raporty Reklam hoteli. Następnie możesz zintegrować te zapytania z aplikacjami klienckimi.
Wymagania wstępne
- Dowiedz się, jak działają raporty i zapytania.
- Dowiedz się, jak można wysyłać zapytania dotyczące różnych zasobów.
Podstawowe zapytania dotyczące Reklam hoteli
Zapoznaj się z tymi przykładowymi zapytaniami, aby dowiedzieć się, jak korzystać z interfejsu Google Ads API do tworzenia raportów 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 kliknięciach podzielonych na segmenty
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 jak ten ciąg JSON.
Kliknięcia są podzielone na segmenty według partnerHotelID, dlatego w przypadku tego samego widoku skuteczności hotelu można zwrócić 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"
}
},
...
]
}
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 jak ten ciąg JSON.
Odpowiedź jest filtrowana tak, aby zawierała tylko dane spełniające warunki klauzuli WHERE. Pole daty jest wypełniane ostatnią datą z 30-dniowego okresu.
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"name": "test campaign",
"status": "ENABLED"
},
"adGroup": {
"resourceName": "customers/123456789/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 zarówno ona, jak i reklama w grupie reklam oraz 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 jak ten ciąg JSON.
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"name": "test campaign",
"status": "ENABLED"
},
"adGroup": {
"resourceName": "customers/123456789/adGroups/111111111111",
"id": "106121857411",
"name": "test adgroup",
"status": "ENABLED"
},
"adGroupAd": {
"resourceName": "customers/123456789/adGroupAds/111111111111~33333333333",
"status": "ENABLED",
"ad": {
"resourceName": "customers/123456789/ads/77777777777"
}
}
}
]
}
Przydatne widoki do raportowania Reklam hoteli
W poprzednich interfejsach API do raportowania Reklam hoteli można było pobrać konkretny raport, np. 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 do raportowania Reklam hoteli. Podajemy też przykładowe zapytania.
Pamiętaj, że każdy zasób *_view ma określone pola zasobu, segmenty i dane. Zanim utworzysz zapytanie, zapoznaj się z dokumentacją dotyczącą konkretnego zasobu *_view.
Widok grupy hoteli
Widok grupy hoteli to widok kryteriów, dlatego jest przydatny do pobierania danych dotyczących konkretnego typu kryterium 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 hoteli, 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 jak ten ciąg JSON.
Ponieważ w przypadku węzła głównego („Wszystkie hotele”) wartość case_value jest nieokreślona, widać, że pierwszy wiersz przedstawia dane grupy informacji o produktach „Wszystkie hotele”, a drugi – dane podrzędnej grupy informacji o produktach „Inne”.
{
"results": [
{
"metrics": {
"clicks": "5"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111111"
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111111"
}
},
{
"metrics": {
"clicks": "0"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111112"
"listingGroup": {
"caseValue": {
"hotelId": {
}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111112"
}
},
{
"metrics": {
"clicks": "3"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111113"
"listingGroup": {
"caseValue": {
"hotelId": {
"value": "11111111111111111"
}
}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111113"
}
},
{
"metrics": {
"clicks": "2"
},
"adGroupCriterion": {
"resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111114"
"listingGroup": {
"caseValue": {
"hotelId": {
"value": "11111111111111112"
}
}
}
}
},
"hotelGroupView": {
"resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111114"
}
},
]
}
Widok skuteczności hotelu
Widok skuteczności hotelu jest przydatny, jeśli chcesz pobrać dane o skuteczności hotelu, 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 jak ten ciąg JSON.
Kliknięcia są podzielone na segmenty według partner_hotel_id, dlatego w przypadku tego samego widoku skuteczności hotelu można zwrócić 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 w grupie reklam
Pamiętaj, że jest to widok ogólny dla różnych typów kampanii, a nie tylko kampanii reklam hoteli. Ten widok umożliwia też dzielenie wyników na segmenty według hotel_date_selection_type, co pozwala określić, czy data hotelu została wybrana przez użytkownika, czy była domyślną datą wyszukiwania ustawioną przez Google. Jeśli podzielisz wyniki na segmenty według hotel_date_selection_type, zostaną zwrócone tylko wyniki kampanii reklam hoteli.
To zapytanie zwraca 1 wiersz na każdy element 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 jak ten ciąg JSON.
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0",
"costMicros": "0",
"impressions": "3",
"allConversionsValue": "0"
},
"adGroupCriterion": {
"resourceName": "customers/123456789/adGroupCriteria/23456789~789456",
"userList": {
"userList": "customers/123456789/userLists/456789"
}
},
"adGroupAudienceView": {
"resourceName": "customers/8005193609/adGroupAudienceViews/23456789~789456"
},
"segments": {
"device": "TABLET",
"hotelDateSelectionType": "USER_SELECTED"
}
}
]
}
Widok odbiorców w kampanii
Widok odbiorców w kampanii jest przydatny, jeśli chcesz pobrać dane o skuteczności odbiorców powiązanych z kampanią.
Pamiętaj, że jest to widok ogólny dla różnych typów kampanii, a nie tylko kampanii reklam hoteli. Ten widok umożliwia też dzielenie wyników na segmenty według hotel_date_selection_type, co pozwala określić, czy data hotelu została wybrana przez użytkownika, czy była domyślną datą wyszukiwania ustawioną przez Google. Jeśli podzielisz wyniki na segmenty według hotel_date_selection_type, zostaną zwrócone tylko wyniki kampanii reklam hoteli.
To zapytanie zwraca 1 wiersz na każdy element 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 jak ten ciąg JSON.
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0",
"costMicros": "0",
"impressions": "3",
"allConversionsValue": "0"
},
"campaignCriterion": {
"resourceName": "customers/123456789/campaignCriteria/23456789~789456",
"userList": {
"userList": "customers/123456789/userLists/456789"
}
},
"campaignAudienceView": {
"resourceName": "customers/8005193609/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.
Element hotel_performance_view umożliwia dzielenie danych na segmenty według zasobu campaign. Możesz na przykład użyć pola campaign.id, aby pobrać dane o skuteczności według kampanii.
Skuteczność
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ź w formacie JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/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/123456789/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "3",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "MONDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "123"
}
},
{
"campaign": {
"resourceName": "customers/123456789/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/123456789/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ź w formacie JSON:
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789"
},
"metrics": {
"clicks": "0",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1",
"allConversionsValue": "0.0"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "0",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "TUESDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "123",
"clickType": "HOTEL_PRICE"
}
},
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789"
},
"metrics": {
"clicks": "1",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1",
"allConversionsValue": "0.0"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/hotelPerformanceView"
},
"segments": {
"device": "DESKTOP",
"hotelBookingWindowDays": "0",
"hotelCenterId": "1234",
"hotelCheckInDayOfWeek": "TUESDAY",
"hotelDateSelectionType": "USER_SELECTED",
"hotelLengthOfStay": "4",
"partnerHotelId": "12345",
"clickType": "HOTEL_PRICE"
}
}
]
}
Raport skuteczności stawek warunkowych
To zapytanie pobiera dane o 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ć, jeśli dodasz kolejne segmenty.
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 jak ten ciąg JSON.
{
"results": [
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "1",
"conversions": "0.0",
"costMicros": "0",
"impressions": "24",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "0.17073170731707318"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/hotelPerformanceView"
},
"segments": {
"device": "TABLET",
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelRateRuleId": "desktop",
"hotelRateType": "PUBLIC_RATE"
}
},
{
"campaign": {
"resourceName": "customers/123456789/campaigns/23456789",
"id": "23456789"
},
"metrics": {
"clicks": "107",
"conversions": "0.0",
"costMicros": "0",
"impressions": "1668",
"searchAbsoluteTopImpressionShare": "0.0999",
"searchTopImpressionShare": "0.3581201665675193"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/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ź w formacie JSON:
{
"results": [
{
"metrics": {
"hotelAverageLeadValueMicros": "96416341.829268292",
"hotelPriceDifferencePercentage": "-0.014627310872986811"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raport o średniej cenie rezerwacji
Możesz pobrać 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ź w formacie JSON:
{
"results": [
{
"metrics": {
"allConversionsValue": "123.5",
"conversions": "1"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raport 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 skuteczności finansowej i zwrotu z nakładów na reklamę.
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ź w formacie JSON:
{
"results": [
{
"metrics": {
"allConversionsValue": "250.0",
"costMicros": "15000000",
"conversions": "2.0"
},
"hotelPerformanceView": {
"resourceName": "customers/123456789/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 w grupie reklam i Widok odbiorców w kampanii.