Raportowanie

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 status == RECONCILED lub CANCELED, tę wartość można obliczyć według wzoru: metrics.hotel_commission_rate_micros * hotel_reconciliation.reconciled_value_micros. We wszystkich innych przypadkach tę wartość można uzyskać z kolumny metrics.hotel_expected_commission_cost lub obliczyć według wzoru: metrics.hotel_commission_rate_micros * metrics.value_per_conversions_by_conversion_date

Kwota, jaką zamierzasz zapłacić lub zapłacono za pobyt gościa.