Raporty reklam hoteli

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:

  • campaign
  • hotel_center_id
  • hotel_country
  • hotel_rate_rule_id
  • hotel_rate_type
  • device
  • partner_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.