Film: zapoznaj się z prezentacją z warsztatów na temat Reklam hoteli z 2019 r.
Za pomocą interfejsu Google Ads API możesz tworzyć zapytania pozwalające generować potrzebne raporty o Reklamach hoteli. Możesz następnie włączyć te zapytania do swoich aplikacji klienckich.
Wymagania wstępne
- Dowiedz się, jak działają raportowanie i zapytania.
- Dowiedz się, jak wysyłać zapytania dotyczące różnych zasobów.
- Dowiedz się, jak używać zapytania w aplikacji klienckiej zgodnie z tym przykładem skuteczności reklam hoteli.
Podstawowe zapytania w przypadku Reklam hoteli
Przejrzyj te przykładowe zapytania, aby dowiedzieć się, jak korzystać z interfejsu Google Ads API w przypadku Reklam hoteli.
Pobierz dane o kliknięciach
Podane niżej przykładowe zapytanie zwraca liczbę kliknięć z widoku wyników reklam hoteli.
SELECT metrics.clicks
FROM hotel_performance_view
Wyniki zapytania mogą wyglądać mniej więcej tak:
{
"results": [
{
"metrics": {
"clicks": "78090"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
}
}
],
"totalResultsCount": "1",
"fieldMask": "metrics.clicks"
}
Pobierz segmentowane dane o kliknięciach
Podane niżej przykładowe zapytanie dotyczące widoków danych o skuteczności hoteli generuje kliknięcia i segmentuje wyniki według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania wyglądają podobnie do ciągu JSON pokazanego poniżej. Kliknięcia są segmentowane według parametru partnerHotelID, więc dla tego samego obiektu hotelPerformanceView mogą być zwracane 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"
}
},
...
]
}
Pobierz dane o grupie reklam
Podane niżej przykładowe zapytanie dotyczące grup reklam uzyskuje wyświetlenia i kliknięcia z ostatnich 30 dni, podzielone 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 wyglądają podobnie do ciągu JSON pokazanego poniżej. Odpowiedź jest filtrowana tylko pod kątem wskaźników spełniających warunki klauzuli WHERE. W polu daty pojawia się ostatnia data z okresu 30 dni.
{
"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"
}
}
]
}
Włącz reklamy w grupie reklam
Podane niżej przykładowe zapytanie dotyczące reklam w grupach reklam pobiera grupy reklam, które zostaną wyświetlone. Aby można było wyświetlić dowolną grupę reklam, reklama z grupy 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 wyglądają podobnie do ciągu JSON pokazanego poniżej.
{
"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"
}
}
}
]
}
Widoki danych przydatne w raportach Reklam hoteli
W poprzednich interfejsach API do raportowania Reklam hoteli można było pobierać konkretny raport, na przykład raport skuteczności. W interfejsie Google Ads API dane te są prezentowane w oddzielnych zasobach *_view
, takich jak hotel_performance_view
i hotel_group_view
. W tej sekcji znajdziesz zasoby związane z usługą *_view
przydatne w raportach Reklam hoteli. Dostępne są też przykładowe zapytania.
Pamiętaj, że każdy zasób *_view
ma określone pola zasobów, segmenty i wskaźniki. Zanim utworzysz zapytanie, zapoznaj się z dokumentacją wymienioną poniżej dotyczącą konkretnego zasobu *_view
.
Widok grupy hoteli
Widok grupy hoteli jest widokiem kryteriów, więc przydaje się do pobierania danych według określonego typu kryteriów grupy hoteli.
Podane niżej przykładowe zapytanie dotyczące widoków grup hoteli uzyskuje kliknięcia dla każdego hotelu w grupie informacji o produktach w całym drzewie grupy informacji o hotelach, w tym do węzła głównego („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 tego ciągu JSON.
Biorąc pod uwagę, że w węźle głównym („Wszystkie hotele”) właściwość case_value
jest nieokreślona, widać, że pierwszy wiersz zawiera dane z grupy informacji o produktach „Wszystkie hotele”, a drugi – dane dotyczące podrzędnej grupy informacji o produktach przedstawiającej „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, gdy chcesz pobrać dane o skuteczności hotelu za pomocą danych, które nie pochodzą z grupowania hoteli, nawet jeśli stosujesz podgrupy na podstawie identyfikatora hotelu.
Podane niżej przykładowe zapytanie dotyczące widoków danych o skuteczności hoteli generuje kliknięcia i segmentuje wyniki według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania wyglądają podobnie do ciągu JSON pokazanego poniżej. Kliknięcia są podzielone na segmenty według atrybutu partner_hotel_id
, dzięki czemu w tym samym widoku skuteczności hotelu 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 Odbiorcy grupy reklam przydaje się, gdy chcesz pobierać dane o skuteczności dotyczące odbiorców dołączonych na poziomie grupy reklam.
Pamiętaj, że jest to ogólny widok dla różnych typów kampanii, nie tylko kampanii reklam hoteli. Ten widok umożliwia też segmentowanie wyników według wymiaru hotel_date_selection_type
. Dzięki temu możesz określić, czy data pobytu w hotelu została wybrana przez użytkownika, czy jest to domyślna data w przypadku wyszukiwania ustawionego przez Google. Jeśli posegmentujesz dane według wymiaru hotel_date_selection_type
, zwrócone zostaną tylko wyniki kampanii reklam hoteli.
Poniżej znajdziesz przykładowe zapytanie. Zapytanie zwróci 1 wiersz 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 wyglądają podobnie do ciągu JSON pokazanego poniżej.
{
"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 kampanii
Widok Odbiorcy kampanii przydaje się, gdy chcesz pobierać dane o skuteczności dotyczące list odbiorców dołączonych na poziomie kampanii.
Pamiętaj, że jest to ogólny widok dla różnych typów kampanii, nie tylko kampanii reklam hoteli. Ten widok umożliwia też segmentowanie wyników według wymiaru hotel_date_selection_type
. Dzięki temu możesz określić, czy data pobytu w hotelu została wybrana przez użytkownika, czy jest to domyślna data w przypadku wyszukiwania ustawionego przez Google. Jeśli posegmentujesz dane według wymiaru hotel_date_selection_type
, zwrócone zostaną tylko wyniki kampanii reklam hoteli.
Poniżej znajdziesz przykładowe zapytanie. Zapytanie zwróci 1 wiersz 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 wyglądają podobnie do ciągu JSON pokazanego poniżej.
{
"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"
}
}
]
}
Raporty przydatne w Reklamach hoteli
W tej sekcji znajdziesz kilka przydatnych raportów zaprojektowanych specjalnie z myślą o Reklamach hoteli.
Raporty skuteczności
Zapytania te korzystają z widoku skuteczności hotelu do uzyskiwania danych o skuteczności.
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/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ź 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 dotyczący współczynników warunkowych
Zapytanie o raport widoczne poniżej uzyskuje dane o skuteczności podzielone na segmenty według:
campaign
hotel_center_id
hotel_country
hotel_rate_rule_id
hotel_rate_type
device
partner_hotel_id
Opisy poszczególnych typów znajdziesz w sekcji HotelRateType
.
Zapytanie może zawierać wiele segmentów, ale liczba zwróconych wierszy może się znacznie zwiększyć po utworzeniu dodatkowych segmentów.
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 wyglądają podobnie do ciągu JSON pokazanego poniżej.
{
"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 sprawdzić, jak Twoje ceny wypadają w porównaniu z cenami konkurencji w przypadku tych samych planów podróży do hoteli.
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/123456789/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raport średniej zarezerwowanej ceny
Możesz uzyskać dane potrzebne do obliczenia średniej ceny rezerwacji hotelu (all_conversions_value
podzielonej przez conversions
).
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/123456789/hotelPerformanceView"
},
"segments": {
"hotelCenterId": "1234",
"partnerHotelId": "123",
"hotelPriceBucket": "LOWEST_TIED"
}
}
]
}
Raporty z sekcji Odbiorcy
Raporty o odbiorcach pokazują skuteczność mnożników stawek na listach odbiorców Google Ads. Przykłady raportów o odbiorcach znajdziesz w przykładowych zapytaniach w sekcjach Widok odbiorców grupy reklam i Widok odbiorców kampanii.