Raporty reklam hoteli

Za pomocą interfejsu Google Ads API możesz tworzyć zapytania, aby uzyskiwać potrzebne raporty o reklamach 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 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 używać interfejsu Google Ads API do generowania raportów o reklamach 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 wyglądają podobnie do tej odpowiedzi w formacie JSON:

{
  "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 są podobne do tej odpowiedzi JSON. Odpowiedź jest filtrowana tak, aby zawierała tylko dane spełniające warunki klauzuli WHERE. Ponieważ wybrano segments.date, zapytanie zwraca 1 wiersz na 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 reklam z włączonych grup reklam

Poniższe przykładowe zapytanie dotyczące reklam w grupach reklam zwraca grupy reklam, które będą wyświetlać reklamy. Aby grupa reklam mogła wyświetlać reklamy, muszą być włączone 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 wyglądają podobnie do tej odpowiedzi w formacie JSON:

{
  "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 raportów dotyczących reklam hoteli można było pobrać konkretny raport, np. raport skuteczności. W interfejsie Google Ads API tego rodzaju 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 Reklam hoteli, oraz przykładowe zapytania.

Widok grupy hoteli

Widok grupy hoteli to widok kryteriów, dlatego jest przydatny do pobierania danych o określonym typie kryteriów grupy hoteli.

To przykładowe zapytanie dotyczące wyświetleń grup hoteli pobiera kliknięcia każdego hotelu w grupie informacji o produktach w całym drzewie grupy 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 są podobne do tej odpowiedzi JSON. Wartość case_value jest nieokreślona w przypadku węzła głównego („Wszystkie hotele”), więc pierwszy wiersz zawiera dane o grupie plików „Wszystkie hotele”, a drugi wiersz zawiera dane o podrzędnej grupie plików reprezentującej „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ć dane o skuteczności hotelu, które nie pochodzą z grupowania hoteli, nawet jeśli masz podział na podstawie identyfikatora hotelu.

Poniższy przykład zapytania o widoki skuteczności hotelu pobiera kliknięcia i segmentuje wyniki według identyfikatora hotelu.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

Wyniki zapytania są podobne do tej odpowiedzi JSON. Kliknięcia są segmentowane według parametru partner_hotel_id (partnerHotelId w REST JSON), więc w przypadku tego samego parametru hotel_performance_view 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 grupy reklam

Widok odbiorców w grupie reklam jest przydatny, jeśli chcesz pobrać dane o skuteczności odbiorców dołączonych na poziomie grupy reklam.

To zapytanie zwraca jeden wiersz na każde 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 tej odpowiedzi w formacie JSON:

{
  "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 w kampanii jest przydatny, jeśli chcesz pobrać dane o skuteczności dotyczące list odbiorców dołączonych na poziomie kampanii.

To zapytanie zwraca jeden wiersz na każde 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 tej odpowiedzi w formacie JSON:

{
  "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

Ta sekcja zawiera kilka przydatnych raportów przeznaczonych specjalnie do reklam hoteli.

Raporty skuteczności

Te zapytania korzystają z widoku skuteczności hoteli, aby uzyskać dane o skuteczności.

hotel_performance_view umożliwia używanie zasobu campaign do segmentowania danych. Możesz na przykład użyć pola campaign.id, aby uzyskać 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 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 typów znajdziesz w sekcji HotelRateType.

Zapytanie może zawierać wiele segmentów, ale liczba zwracanych wierszy może znacznie wzrosnąć 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 wyglądają podobnie do tej odpowiedzi w formacie JSON:

{
  "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 średniej ceny 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 zwraca ogólną skuteczność reklam hoteli pod względem konwersji i kosztów, co jest przydatne do oceny wyników finansowych 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ź 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 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 w grupie reklam i Widok odbiorców w kampanii.