Film: Obejrzyj prezentację na temat raportowania reklam hoteli z warsztatów w 2019 r.
Za pomocą interfejsu Google Ads API możesz projektować zapytania, aby otrzymywać potrzebne raporty z Reklam hoteli. Możesz następnie włączyć te zapytania do aplikacji klienckich.
Wymagania wstępne
- Dowiedz się, jak działają raporty i zapytania.
- Dowiedz się, jak wysyłać zapytania dotyczące różnych zasobów.
Podstawowe zapytania w przypadku reklam hoteli
Zapoznaj się z tymi przykładowymi zapytaniami, aby dowiedzieć się, jak korzystać z interfejsu Google Ads API do raportowania Reklam hoteli.
Uzyskiwanie danych o kliknięciach
To przykładowe zapytanie zwraca liczbę kliknięć z widoku skuteczności reklam hoteli.
SELECT metrics.clicks
FROM hotel_performance_view
Wyniki zapytania będą wyglądały mniej więcej tak:
{
"results": [
{
"metrics": {
"clicks": "78090"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
}
}
],
"totalResultsCount": "1",
"fieldMask": "metrics.clicks"
}
Pobierz posegmentowane dane o kliknięciach
Podane niżej przykładowe zapytanie o widoki skuteczności hoteli uzyskuje kliknięcia i segmentuje wyniki według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania będą wyglądały mniej więcej tak:
Kliknięcia są podzielone według wartości partnerHotelID
, więc w przypadku tego samego obiektu „HotelPerformanceView” można zwracać 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 grupy reklam
Podane niżej przykładowe zapytanie dotyczące grup reklam uzyskało wyświetlenia i kliknięcia w ciągu 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 będą wyglądały mniej więcej tak:
Odpowiedź jest filtrowana tylko pod kątem wskaźników spełniających warunki klauzuli WHERE
. Pole daty jest zapełniane ostatnią datą podaną w okresie 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"
}
}
]
}
Pobierz włączone reklamy w grupie reklam
Podane niżej przykładowe zapytanie o reklamy w grupach reklam wskazuje grupy reklam, które zostaną wyświetlone. Aby reklama z grupy reklam mogła się wyświetlać, najpierw 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 będą wyglądały mniej więcej tak:
{
"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 przydatne w raportach Reklam hoteli
W poprzednich interfejsach API do raportowania Reklam hoteli można było pobrać konkretny raport, na przykład raport skuteczności. W interfejsie Google Ads API dane tego typu są przedstawione w osobnych zasobach *_view
, takich jak hotel_performance_view
i hotel_group_view
. W tej sekcji opisujemy zasoby *_view
, które przydają się podczas tworzenia raportów dotyczących Reklam hoteli. Dostępne są również przykładowe zapytania.
Pamiętaj, że każdy zasób *_view
ma określone pola zasobów, segmenty i dane. Zanim utworzysz zapytanie, zapoznaj się z dokumentacją konkretnego zasobu *_view
.
Widok grupy hoteli
Widok grupy hoteli to widok kryteriów, przydaje się więc do pobierania danych o określonym typie kryteriów w grupie hoteli.
Podane niżej przykładowe zapytanie o wyświetlenia grup hoteli generuje kliknięcia dotyczące każdego hotelu w grupie informacji o hotelach w ramach całego drzewa grup informacji o hotelach, w tym 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 będą wyglądały mniej więcej tak:
Biorąc pod uwagę, że w przypadku węzła głównego („Wszystkie hotele”) atrybut case_value
nie jest określony, pierwszy wiersz zawiera dane z grupy informacji o produktach „Wszystkie hotele”, a drugi – dane o podrzędnej grupie 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 hoteli przydaje się, gdy chcesz pobierać dane o skuteczności hotelu przy użyciu danych, które nie pochodzą z grupy hoteli, nawet jeśli masz podział na podstawie identyfikatora hotelu.
Podane niżej przykładowe zapytanie o widoki skuteczności hoteli uzyskuje kliknięcia i segmentuje wyniki według identyfikatora hotelu.
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
Wyniki zapytania będą wyglądały mniej więcej tak:
Kliknięcia są podzielone według kategorii partner_hotel_id
, więc w przypadku tego samego widoku skuteczności hoteli 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"
}
},
...
]
}
Widok odbiorców grupy reklam
Widok odbiorców grupy reklam przydaje się, gdy chcesz pobrać dane o skuteczności dotyczące odbiorców dodanych na poziomie grupy reklam.
Pamiętaj, że jest to ogólny widok różnych typów kampanii, a nie tylko kampanii reklam hoteli. Ten widok pozwala też dzielić wyniki na segmenty według parametru hotel_date_selection_type
, co pozwala określić, czy data hotelu została wybrana przez użytkownika czy była datą domyślną w przypadku wyszukiwania ustawionego przez Google. Jeśli posegmentujesz raport według wartości hotel_date_selection_type
, zwracane będą tylko wyniki z kampanii reklam hoteli.
To zapytanie zwraca 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 będą wyglądały mniej więcej tak:
{
"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 odbiorców dołączonych na poziomie kampanii.
Pamiętaj, że jest to ogólny widok różnych typów kampanii, a nie tylko kampanii reklam hoteli. Ten widok pozwala też dzielić wyniki na segmenty według parametru hotel_date_selection_type
, co pozwala określić, czy data hotelu została wybrana przez użytkownika czy była datą domyślną w przypadku wyszukiwania ustawionego przez Google. Jeśli posegmentujesz raport według wartości hotel_date_selection_type
, zwracane będą tylko wyniki z kampanii reklam hoteli.
To zapytanie zwraca 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 będą wyglądały mniej więcej tak:
{
"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 przygotowanych specjalnie pod kątem reklam hoteli.
Raporty skuteczności
Zapytania te korzystają z widoku Skuteczność hoteli do uzyskania danych o skuteczności.
hotel_performance_view
umożliwia używanie zasobu campaign
do podziału danych na segmenty. Możesz np. użyć pola campaign.id
, aby wyświetlić 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/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 cen warunkowych
To zapytanie umożliwia posegmentowanie danych o skuteczności według:
campaign
hotel_center_id
hotel_country
hotel_rate_rule_id
hotel_rate_type
device
partner_hotel_id
Opis tych typów znajdziesz na stronie HotelRateType
.
Zapytanie może zawierać wiele segmentów, ale użycie dodatkowych segmentów może znacznie zwiększyć liczbę zwróconych wierszy.
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 będą wyglądały mniej więcej tak:
{
"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
Dzięki temu możesz porównać swoje ceny 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 ceny zarezerwowanej ceny
Możesz uzyskać dane potrzebne do obliczenia średniej zarezerwowanej ceny (all_conversions_value
podzielonej przez conversions
) dla 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/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 sekcjach Widok odbiorców grupy reklam i Widok odbiorców kampanii.
Raport uzgodnień z hotelem
Raport uzgodnień z hotelami zawiera informacje o konwersjach z rezerwacji hoteli, aby uzgodnić je z rekordami reklamodawcy. Możesz przesyłać dane zbiorczo, aby poinformować Google, które rezerwacje zostały anulowane, a które zakończone. Główne kolumny w tym raporcie:
Kolumna interfejsu | Kolumna interfejsu API | Wyjaśnienie |
---|---|---|
Wartość rezerwacji | metrics.value_per_conversions_by_conversion_date |
Wartość konwersji raportowana przez tag. |
Data konwersji | segments.date |
datę rezerwacji; |
Stawka prowizji | metrics.hotel_commission_rate_micros |
Odsetek wartości rezerwacji, jaki ustalasz za wyświetlenie reklamy |
Koszt prowizji |
Jeśli |
Kwota, jaką zamierzasz zapłacić lub zapłacono za pobyt gościa. |