보고

동영상: 2019년 워크숍의 호텔 광고 보고 강연 확인하기

Google Ads API를 사용하면 필요한 호텔 광고 보고서를 얻기 위한 쿼리를 설계할 수 있습니다. 그런 다음 이러한 쿼리를 클라이언트 애플리케이션에 통합할 수 있습니다.

기본 요건

  • 보고쿼리가 일반적으로 작동합니다.
  • 다양한 리소스를 쿼리하는 방법 알아보기

호텔 광고의 기본 쿼리

호텔용 Google Ads API 사용에 익숙해지려면 다음 쿼리 예시를 확인하세요. 광고 보고

클릭수 측정항목 가져오기

다음 예시 쿼리는 호텔의 클릭수를 반환합니다. 확인할 수 있습니다.

SELECT metrics.clicks
FROM hotel_performance_view

이 쿼리의 결과는 다음과 같습니다.

{
  "results": [
    {
      "metrics": {
        "clicks": "78090"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      }
    }
  ],
  "totalResultsCount": "1",
  "fieldMask": "metrics.clicks"
}

분류된 클릭수 측정항목 가져오기

호텔 실적 뷰에 대한 다음 쿼리 예시는 클릭 및 세그먼트를 가져옵니다. 결과를 필터링할 수 있습니다

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

쿼리의 결과는 다음 JSON 문자열과 유사합니다. 클릭수는 partnerHotelID로 분류되므로 두 개 이상의 객체가 호텔실적이 반환됩니다.

{
  "results": [
    {
      "metrics": {
        "clicks": "7055"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1111"
      }
    },
    {
      "metrics": {
        "clicks": "3047"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1112"
      }
    },
    ...
  ]
}

광고그룹 측정항목 가져오기

아래의 광고 그룹 쿼리 예는 전체 기간 동안 날짜별로 분류됩니다.

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

쿼리의 결과는 다음 JSON 문자열과 유사합니다. WHERE 절을 충족하는 측정항목에 대해서만 응답이 필터링됩니다. 조건일 수 있습니다 날짜 필드는 30일 안에 포함된 마지막 날짜로 채워집니다. 있습니다.

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

사용 설정된 광고그룹 광고 가져오기

다음은 광고 그룹 광고에 대한 쿼리 예시입니다. 게재될 광고 그룹을 가져옵니다. 광고 그룹이 게재되려면 광고 그룹 광고, 광고 그룹 및 캠페인이 다음 조건을 충족해야 합니다. 모두 사용 설정해야 합니다

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

쿼리의 결과는 다음 JSON 문자열과 유사합니다.

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

호텔 광고 보고서에 유용한 보기

이전의 호텔 광고 보고 API에서는 특정 보고서, 실적 보고서 등을 예로 들 수 있습니다 Google Ads API에서 이러한 종류의 데이터는 별도의 *_view 리소스로 표현됨(예: hotel_performance_viewhotel_group_view입니다. 이 섹션에서는 Google Cloud의 *_view 리소스에 대해 호텔 광고 보고에 유용합니다. 쿼리 예도 제공됩니다.

*_view 리소스에는 특정 리소스 필드, 세그먼트, 측정항목입니다. 먼저 특정 *_view 리소스에 관한 문서를 참고하세요. 살펴보겠습니다.

호텔 그룹 보기

호텔 그룹 뷰기준입니다. 뷰가 생성되므로 측정항목을 검색하고 를 사용합니다.

호텔 그룹 뷰에 대한 다음 쿼리 예시는 루트 노드를 포함한 전체 호텔 등록정보 그룹 트리의 등록정보 그룹 ('모든 호텔')

SELECT
  metrics.clicks,
  ad_group_criterion.listing_group.case_value.hotel_id.value
FROM hotel_group_view

쿼리의 결과는 다음 JSON 문자열과 유사합니다. case_value가 루트 노드('모든 호텔')에 정의되어 있지 않으면 다음과 같습니다. 첫 번째 행이 '모든 호텔' 또는 '모든 호텔' 예약에 대한 등록정보 두 번째 행은 하위 등록정보 그룹의 측정항목을 나타냅니다. '기타'를 나타냅니다.

{
  "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"
      }
    },
  ]
}

호텔 실적 보기

호텔 실적 보기는 다음과 같은 경우에 유용합니다. 제공되지 않는 데이터를 사용하여 호텔의 실적 측정항목을 검색하려는 경우 (호텔 ID를 기반으로 하는 하위 그룹이 있더라도 호텔 그룹에서 사용 가능)

호텔 실적 뷰에 대한 다음 쿼리 예시는 클릭 및 세그먼트를 가져옵니다. 결과를 필터링할 수 있습니다

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

쿼리의 결과는 다음 JSON 문자열과 유사합니다. 클릭수는 partner_hotel_id로 분류되므로 두 개 이상의 객체가 모두 반환됩니다.

{
  "results": [
    {
      "metrics": {
        "clicks": "7055"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1111"
      }
    },
    {
      "metrics": {
        "clicks": "3047"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1112"
      }
    },
    ...
  ]
}

광고그룹 잠재고객 보기

광고그룹 잠재고객 보기는 다음과 같은 경우에 유용합니다. 광고그룹에서 연결된 잠재고객의 실적 측정항목을 가져오려는 경우 있습니다.

이는 호텔뿐만 아니라 다양한 유형의 캠페인에 대한 일반적인 보기입니다. 있습니다. 또한 이 보기에서는 hotel_date_selection_type: 호텔 날짜 여부를 지정하는 데 사용할 수 있습니다. 은 사용자가 선택한 날짜 또는 Google에서 설정한 검색의 기본 날짜입니다. 만약 hotel_date_selection_type을(를) 기준으로 분류하면 호텔 캠페인의 검색 결과만 반환합니다.

다음 쿼리는 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

쿼리의 결과는 다음 JSON 문자열과 유사합니다.

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

캠페인 잠재고객 보기

캠페인 잠재고객 보기는 캠페인에 연결된 잠재고객의 실적 측정항목을 가져오려고 함 있습니다.

이는 호텔뿐만 아니라 다양한 유형의 캠페인에 대한 일반적인 보기입니다. 있습니다. 또한 이 보기에서는 hotel_date_selection_type: 호텔 날짜 여부를 지정하는 데 사용할 수 있습니다. 은 사용자가 선택한 날짜 또는 Google에서 설정한 검색의 기본 날짜입니다. 만약 hotel_date_selection_type을(를) 기준으로 분류하면 호텔 캠페인의 검색 결과만 반환합니다.

다음 쿼리는 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

쿼리의 결과는 다음 JSON 문자열과 유사합니다.

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

유용한 호텔 광고 보고서

이 섹션에서는 호텔을 위해 특별히 설계된 몇 가지 유용한 보고서를 제공합니다. 있습니다.

실적 보고서

이러한 쿼리는 호텔 실적 뷰를 활용하여 실적 데이터를 가져옵니다.

hotel_performance_view를 사용하면 campaign 리소스를 사용하여 측정항목입니다. 예를 들어 campaign.id 필드를 사용하여 성능을 확인할 수 있습니다. 확인할 수 있습니다.

성능

쿼리 예시:

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

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"
      }
    }
  ]
}

클릭 유형을 사용한 실적

쿼리 예시:

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

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"
      }
    }
  ]
}

조건부 요금 실적 보고서

다음 쿼리는 실적 측정항목을 다음과 같이 세분화하여 가져옵니다.

  • campaign
  • hotel_center_id
  • hotel_country
  • hotel_rate_rule_id
  • hotel_rate_type
  • device
  • partner_hotel_id

자세한 내용은 HotelRateType를 참고하세요. 유형 설명입니다.

하나의 검색어에 여러 세그먼트를 포함할 수 있습니다. 반환되는 세그먼트를 추가하면 행이 크게 증가할 수 있습니다.

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

쿼리의 결과는 다음 JSON 문자열과 유사합니다.

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

가격 경쟁력 보고서

내 가격을 경쟁업체와 비교해 볼 수 있습니다. 가격 정보: 동일한 호텔 숙박 일정을 예약할 수 있습니다.

쿼리 예시:

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

JSON 응답 예:

{
  "results": [
    {
      "metrics": {
        "hotelAverageLeadValueMicros": "96416341.829268292",
        "hotelPriceDifferencePercentage": "-0.014627310872986811"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "hotelCenterId": "1234",
        "partnerHotelId": "123",
        "hotelPriceBucket": "LOWEST_TIED"
      }
    }
  ]
}

평균 예약 가격 보고서

평균 예약 가격을 계산하는 데 필요한 데이터를 얻을 수 있습니다. 호텔의 경우 all_conversions_valueconversions(으)로 나눈 값입니다.

쿼리 예시:

SELECT
  segments.hotel_center_id,
  segments.partner_hotel_id,
  segments.hotel_price_bucket,
  metrics.all_conversions_value,
  metrics.conversions
FROM hotel_performance_view

JSON 응답 예:

{
  "results": [
    {
      "metrics": {
        "allConversionsValue": "123.5",
        "conversions": "1"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "hotelCenterId": "1234",
        "partnerHotelId": "123",
        "hotelPriceBucket": "LOWEST_TIED"
      }
    }
  ]
}

사용자 보고서

잠재고객 보고서에는 Google Ads 잠재고객에 대한 입찰 배율의 실적이 표시됩니다. 할 수 있습니다. 잠재고객 보고서의 예를 보려면 광고그룹의 검색어 예를 참조하세요. 잠재고객 보기캠페인 잠재고객 뷰를 참조하세요.

호텔 조정 보고서

호텔 조정 보고서에 다음이 포함됩니다. 광고주와 조정하도록 호텔 예약의 전환 정보를 있습니다. 일괄 업로드를 통해 데이터를 업로드하여 Google에 어떤 데이터를 업로드할지 Google에 알릴 수 있습니다. 예약이 취소되거나 완료되었습니다. 이 보고서의 주요 열은 다음과 같습니다. 다음과 같습니다.

UI 열 API 열 설명
예약 금액 metrics.value_per_conversions_by_conversion_date 태그에 의해 보고된 전환 가치입니다.
전환 날짜 segments.date 예약 날짜
수수료율 metrics.hotel_commission_rate_micros 광고 노출에 입찰하는 예약 금액의 비율입니다.
수수료 비용

status == RECONCILED 또는 CANCELED인 경우 값은 metrics.hotel_commission_rate_micros * hotel_reconciliation.reconciled_value_micros로 계산할 수 있습니다. 다른 모든 경우에는 이 값은 metrics.hotel_expected_commission_cost 열 또는 metrics.hotel_commission_rate_micros * metrics.value_per_conversions_by_conversion_date로 계산

숙박에 대해 지불해야 하거나 이미 지불한 금액입니다.