動画: 2019 ワークショップでのホテル広告のレポートに関するセッション
Google Ads API を使用すると、必要なホテル広告レポートを取得するクエリを作成できます。これらのクエリをクライアント アプリケーションに組み込みます。
Prerequisites
- 詳しくは、レポートとクエリの仕組みをご覧ください。
- さまざまなリソースをクエリする方法を確認します。
- クライアント アプリケーションでクエリを使用する方法については、こちらのホテル広告のパフォーマンスの例をご覧ください。
ホテル広告の基本的なクエリ
ホテル広告レポートで Google Ads API を使用する方法については、以下のサンプルクエリをご確認ください。
クリック数の指標を取得する
次のクエリ例は、ホテルのパフォーマンス ビューからクリック数を返します。
SELECT metrics.clicks
FROM hotel_performance_view
クエリの結果は次のようになります。
{
"results": [
{
"metrics": {
"clicks": "78090"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
}
}
],
"totalResultsCount": "1",
"fieldMask": "metrics.clicks"
}
クリックの分割指標を取得する
ホテルのパフォーマンス ビューの次のクエリ例は、クリックを取得し、結果をホテル ID で分割します。
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
クエリの結果は、次のような JSON 文字列のようになります。クリック数は partnerHotelID でセグメント化されるため、同じ HotelPerformanceView に対して 2 つ以上のオブジェクトを返すことができます。
{
"results": [
{
"metrics": {
"clicks": "7055"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"partnerHotelId": "1111"
}
},
{
"metrics": {
"clicks": "3047"
},
"hotelPerformanceView": {
"resourceName": "customers/1234567890/hotelPerformanceView"
},
"segments": {
"partnerHotelId": "1112"
}
},
...
]
}
広告グループの指標を取得する
次の広告グループへのクエリ例は、過去 30 日間のインプレッション数とクリック数を日付別に取得しています。
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 では、このようなデータは hotel_performance_view
や hotel_group_view
などの個別の *_view
リソースで表されます。このセクションでは、ホテル広告のレポートに役立つ *_view
リソースについて説明します。クエリ例も用意されています。
各 *_view
リソースには、特定のリソース フィールド、セグメント、指標があります。クエリを作成する前に、特定の *_view
リソースについて下記のドキュメントを参照してください。
ホテルグループ ビュー
ホテルグループ ビューは条件ビューであるため、ホテルグループの特定の条件タイプに関する指標を取得するのに役立ちます。
次のホテルグループ ビューのクエリの例では、ルートノード(「すべてのホテル」)を含む、ホテル リスティング グループ ツリー全体のリスティング グループに含まれる各ホテルのクリック数を取得します。
SELECT
metrics.clicks,
ad_group_criterion.listing_group.case_value.hotel_id.value
FROM hotel_group_view
クエリ結果は、下の JSON 文字列のようになります。ルートノード(すべてのホテル)に対して case_value
が定義されていない場合、最初の行は「すべてのホテル」リスティング グループの指標を表し、2 行目は「その他」を表す子リスティング グループの指標を表します。
{
"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 に基づく分割がある場合も同様です。
ホテルのパフォーマンス ビューの次のクエリ例は、クリックを取得し、結果をホテル ID で分割します。
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
クエリの結果は、次のような JSON 文字列のようになります。クリック数は partner_hotel_id
でセグメント化されるため、同じホテルのパフォーマンス ビューに対して 2 つ以上のオブジェクトを返すことができます。
{
"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
ごとに 1 行を返します。
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
ごとに 1 行を返します。
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"
}
}
]
}
ホテル広告に役立つレポート
このセクションでは、ホテル広告向けに設計された便利なレポートについて説明します。
パフォーマンス レポート
これらのクエリは、ホテルのパフォーマンス ビューを利用してパフォーマンス データを取得します。
パフォーマンス
クエリの例:
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
をご覧ください。
1 つのクエリに複数のセグメントを含めることもできますが、セグメントを追加すると、返される行数が大幅に増える可能性があります。
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_value
を conversions
で割ったもの)の計算に必要なデータを取得できます。
クエリの例:
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 広告オーディエンス リストの入札単価調整比が表示されます。オーディエンス レポートの例については、広告グループのオーディエンス ビューとキャンペーンのオーディエンス ビューのクエリ例をご覧ください。