動画: 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"
}
クリック数のセグメント化指標を取得する
ホテルのパフォーマンス ビューの次のクエリの例では、クリックを取得し、結果をホテル ID 別に分割します。
SELECT
segments.partner_hotel_id,
metrics.clicks
FROM hotel_performance_view
クエリの結果は、次の JSON 文字列のようになります。クリックは partnerHotelID
で分割されるため、同じ hotelPerformanceView に対して複数のオブジェクトが返される場合があります。
{
"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"
}
}
]
}
ホテル広告に役立つレポート
このセクションでは、ホテル広告専用に設計された便利なレポートをいくつか紹介します。
パフォーマンス レポート
これらのクエリは、ホテルのパフォーマンス ビューを使用してパフォーマンス データを取得します。
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_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 広告のオーディエンス リストの入札単価調整比のパフォーマンスが表示されます。オーディエンス レポートの例については、広告グループ オーディエンス ビューとキャンペーン オーディエンス ビューのクエリ例をご覧ください。
ホテルの調整レポート
ホテル調整レポートには、広告主様のレコードと調整する、ホテルの予約のコンバージョン情報が含まれています。一括アップロードを使用してデータをアップロードし、どの予約がキャンセルされ、どの予約が完了したかを Google にお知らせください。このレポートの主な列は次のとおりです。
UI 列 | API 列 | 説明 |
---|---|---|
予約金額 | metrics.value_per_conversions_by_conversion_date |
タグによって報告されたコンバージョン値 |
コンバージョンの日付 | segments.date |
予約日 |
コミッション率 | metrics.hotel_commission_rate_micros |
広告インプレッションに対して入札した予約額の割合 |
コミッション費用 |
|
ゲスト宿泊に対して実際に支払う金額、またはすでに支払った金額 |