Rapports Hotel Ads

L'API Google Ads vous permet de concevoir des requêtes pour obtenir les rapports Hotel Ads dont vous avez besoin. Vous pouvez ensuite intégrer ces requêtes dans vos applications clientes.

Prérequis

Requêtes de base pour Hotel Ads

Consultez ces exemples de requêtes pour vous familiariser avec l'utilisation de l'API Google Ads pour les rapports sur les annonces d'hôtel.

Obtenir des métriques sur les clics

L'exemple de requête suivant renvoie le nombre de clics à partir de la vue "Performances des hôtels".

SELECT metrics.clicks
FROM hotel_performance_view

Les résultats de la requête ressemblent à la réponse JSON suivante :

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

Obtenir des métriques de groupe d'annonces

L'exemple de requête suivant pour les groupes d'annonces obtient les impressions et les clics au cours des 30 derniers jours, segmentés par date.

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

Les résultats de la requête ressemblent à la réponse JSON suivante. La réponse est filtrée pour n'inclure que les métriques répondant aux conditions de la clause WHERE. Comme segments.date est sélectionné, la requête renvoie une ligne par jour pour la période de 30 jours.

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

Récupérer les annonces d'un groupe d'annonces activé

L'exemple de requête suivant pour les annonces de groupe d'annonces récupère les groupes d'annonces qui seront diffusés. Pour qu'un groupe d'annonces soit diffusé, l'annonce, le groupe d'annonces et la campagne doivent tous être activés.

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

Les résultats de la requête ressemblent à la réponse JSON suivante :

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

Vues utiles pour les rapports Hotel Ads

Dans les anciennes API pour les rapports sur les annonces d'hôtel, vous pouviez récupérer un rapport spécifique, tel qu'un rapport sur les performances. Dans l'API Google Ads, ce type de données est représenté dans des ressources *_view distinctes, telles que hotel_performance_view et hotel_group_view. Cette section décrit les ressources *_view utiles pour les rapports Hotel Ads, ainsi que des exemples de requêtes.

Vue Groupe d'hôtels

La vue "Groupe d'hôtels" est une vue de critères. Elle est donc utile pour récupérer les métriques d'un type de critère spécifique d'un groupe d'hôtels.

L'exemple de requête suivant pour les vues de groupes d'hôtels obtient les clics pour chaque hôtel d'un groupe de fiches pour l'ensemble de l'arborescence du groupe de fiches d'hôtels, y compris le nœud racine ("Tous les hôtels").

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

Les résultats de la requête ressemblent à la réponse JSON suivante. Étant donné que case_value n'est pas défini pour le nœud racine ("Tous les hôtels"), la première ligne représente les métriques du groupe de fiches "Tous les hôtels", tandis que la deuxième ligne représente les métriques du groupe de fiches enfant "Autres".

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

Vue "Performances des hôtels"

La vue des performances des hôtels est utile si vous souhaitez récupérer les métriques de performances d'un hôtel à l'aide de données qui ne proviennent pas d'un regroupement d'hôtels, même si vous disposez d'une subdivision basée sur l'ID d'hôtel.

L'exemple de requête suivant pour les vues sur les performances des hôtels obtient les clics et segmente les résultats par ID d'hôtel.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

Les résultats de la requête ressemblent à la réponse JSON suivante. Les clics sont segmentés par partner_hotel_id (partnerHotelId dans REST JSON). Il est donc possible de renvoyer plusieurs objets pour le même hotel_performance_view.

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

Vue "Audience du groupe d'annonces"

La vue "Audience du groupe d'annonces" est utile si vous souhaitez récupérer les métriques de performances des audiences associées au niveau du groupe d'annonces.

La requête suivante renvoie une ligne par 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

Les résultats de la requête ressemblent à la réponse JSON suivante :

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

Vue "Audience de la campagne"

La vue "Audience de la campagne" est utile si vous souhaitez récupérer les métriques de performances des audiences associées au niveau de la campagne.

La requête suivante renvoie une ligne par 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

Les résultats de la requête ressemblent à la réponse JSON suivante :

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

Rapports utiles pour les annonces d'hôtel

Cette section fournit plusieurs rapports utiles conçus spécifiquement pour les annonces d'hôtel.

Rapports sur les performances

Ces requêtes utilisent la vue "Performances des hôtels" pour obtenir des données sur les performances.

Un hotel_performance_view vous permet d'utiliser la ressource campaign pour segmenter les métriques. Par exemple, vous pouvez utiliser le champ campaign.id pour obtenir des métriques de performances par campagne.

Performances

Exemple de requête :

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

Exemple de réponse 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"
      }
    }
  ]
}

Performances par type de clic

Exemple de requête :

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

Exemple de réponse 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"
      }
    }
  ]
}

Rapport sur les performances des tarifs sous conditions

La requête suivante récupère les métriques de performances segmentées par :

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

Pour obtenir une description des types, consultez HotelRateType.

Vous pouvez inclure plusieurs segments dans une requête. Toutefois, le nombre de lignes renvoyées peut augmenter considérablement avec des segments supplémentaires.

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

Les résultats de la requête ressemblent à la réponse JSON suivante :

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

Rapport "Compétitivité tarifaire"

Vous pouvez obtenir des insights sur la façon dont vos prix se comparent à ceux de vos concurrents pour les mêmes séjours d'hôtel.

Exemple de requête :

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

Exemple de réponse JSON :

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

Rapport sur le prix moyen réservé

Vous pouvez obtenir les données nécessaires pour calculer le prix moyen réservé (all_conversions_value divisé par conversions) pour les hôtels.

Exemple de requête :

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

Exemple de réponse JSON :

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

Rapport sur les performances des conversions et des coûts

La requête suivante permet d'obtenir les performances globales en termes de conversions et de coûts pour vos annonces d'hôtel. Elle est utile pour évaluer les performances financières et le ROAS.

Exemple de requête :

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

Exemple de réponse JSON :

{
  "results": [
    {
      "metrics": {
        "allConversionsValue": "250.0",
        "costMicros": "15000000",
        "conversions": "2.0"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "date": "2026-03-24",
        "partnerHotelId": "123"
      }
    }
  ]
}

Rapports "Type d'audience"

Les rapports sur l'audience indiquent les performances des multiplicateurs d'enchères sur les listes d'audience Google Ads. Pour obtenir des exemples de rapports sur l'audience, consultez les exemples de requêtes dans Vue "Audience du groupe d'annonces" et Vue "Audience de la campagne".