Method: accounts.participationReportViews.query

Permet d'interroger (obtenir, filtrer et segmenter) un rapport de participation pour un compte particulier.

Requête HTTP

GET https://travelpartner.googleapis.com/v3/{name=accounts/*}/participationReportViews:query

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
name

string

Nom de ressource du compte interrogé. Il a le format suivant : accounts/{account_id}.

Paramètres de requête

Paramètres
filter

string

Les conditions (champs et expressions) utilisées pour filtrer les métriques de participation du compte concerné par la requête. La syntaxe nécessite des espaces autour de l'opérateur in. Sinon, vous pouvez omettre les espaces. Les conditions peuvent être jointes à l'aide de l'opérateur and.

Le champ date est obligatoire. Tous les autres sont facultatifs.

Voici des exemples de conditions valides:

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • advanceBookingWindow between 1 and 5
  • checkinDate = '2020-10-01'
  • checkinDate >= '2020-10-01'
  • checkinDate <= '2020-10-01'
  • checkinDate between '2020-10-01' and '2020-10-05'
  • date = '2020-02-04'
  • date between '2020-02-04' and '2020-02-09'
  • deviceType = 'TABLET'
  • deviceType in ('MOBILE', 'TABLET')
  • hotelRegionCode = 'US'
  • hotelRegionCode in ('US', 'CA')
  • lengthOfStayDays = 2
  • lengthOfStayDays >= 0
  • lengthOfStayDays <= 5
  • lengthOfStayDays between 1 and 5
  • occupancy = 2
  • occupancy >= 0
  • occupancy <= 5
  • occupancy between 1 and 5
  • partnerHotelId = 'AAA'
  • partnerHotelId in ('AAA', 'BBB')
  • userRegionCode = 'US'
  • userRegionCode in ('US', 'CA')
aggregateBy

string

Spécifie comment segmenter les métriques renvoyées par la requête. Par exemple, si userRegionCode est spécifié comme valeur aggregateBy, participationResult fournit des métriques agrégées par région de l'utilisateur.

La valeur de chaîne est une liste de champs séparés par une virgule. Les champs valides sont : date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate et occupancy. Les champs non spécifiés ne sont pas inclus dans ParticipationResult.

L'utilisation d'une spécification aggregateBy qui génère un grand nombre de lignes entraîne une erreur. C'est particulièrement vrai lorsque les données sont agrégées par partnerHotelId ou dans plus de deux champs. Pour réduire la probabilité d'une erreur, filtrez par partnerHotelId et date pour n'inclure qu'un certain nombre d'hôtels et de dates. Les comptes comportant un grand nombre d'hôtels doivent réduire davantage les données en filtrant davantage les données.

pageSize

integer

Nombre maximal de résultats de participation à renvoyer. Le service peut renvoyer un nombre inférieur à cette valeur. Si aucune valeur n'est spécifiée, 10 000 résultats au maximum sont renvoyés. La valeur maximale est 10 000. Les valeurs supérieures sont réduites à 10 000.

pageToken

string

Jeton de page, reçu d'une requête participationReportViews.query précédente. Fournissez-la pour recevoir la page suivante.

Lors de la pagination, tous les autres paramètres fournis à participationReportViews.query doivent correspondre à l'appel ayant fourni le jeton de page.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Message de réponse pour ParticipationReportService.QueryParticipationReport.

Représentation JSON
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
Champs
results[]

object (ParticipationResult)

Liste des résultats correspondant à la requête.

nextPageToken

string

Jeton de pagination utilisé pour récupérer la page de résultats suivante.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/travelpartner

Pour en savoir plus, consultez Présentation d'OAuth 2.0.

Résultat de participation

Représente le résultat d'une requête portant sur des statistiques de participation pour un compte.

Représentation JSON
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
Champs
key

object (Key)

Clé du résultat.

opportunityCount

string (int64 format)

Nombre total d'opportunités disponibles pour un hôtel spécifique. Les opportunités correspondent au nombre total de fois où une annonce d'hôtel aurait pu être diffusée auprès d'un utilisateur.

participationCount

string (int64 format)

Nombre total d'opportunités pour lesquelles vous avez pu participer à la mise aux enchères Google Ads.

participationPercent

number

Taux de participation (en %), où le nombre d'opportunités auxquelles vous avez participé est divisé par le nombre total d'opportunités. Par exemple, si un établissement remplit les conditions pour participer aux enchères Google Ads 90 fois sur 100 opportunités, son taux de participation est de 90%.

missedParticipationCount

string (int64 format)

Nombre total d'opportunités non éligibles au processus d'enchères Google Ads. Comprend les éléments suivants:

  • Page de destination manquante
  • Prix manquant
  • Problème de prix
  • Prix non disponible
  • Autre
missedParticipationCountDetails

object (MissedParticipationCountDetails)

Motifs de calcul du nombre de participations manquées (par exemple, absence de disponibilité) et nombre total pour chaque motif.

partnerHotelDisplayName

string

Nom à afficher pour l'hôtel du partenaire. Ce champ n'est renseigné que lorsque le résultat est agrégé par partnerHotelId.

Clé

Clé d'un résultat.

Représentation JSON
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
Champs
date

object (Date)

Date pour laquelle vous demandez des métriques.

Si date n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ date n'est pas renvoyé dans Key.

userRegionCode

string

Code de région ISO 3116 du pays/de la région de l'utilisateur.

Si userRegionCode n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ userRegionCode n'est pas renvoyé dans Key.

deviceType

enum (Device)

Type d'appareil de l'utilisateur.

Si deviceType n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ deviceType n'est pas renvoyé dans Key.

partnerHotelId

string

ID de l'hôtel du partenaire.

Si partnerHotelId n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ partnerHotelId n'est pas renvoyé dans Key.

hotelRegionCode

string

Code CLDR du pays ou de la région de l'hôtel.

Si hotelRegionCode n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ hotelRegionCode n'est pas renvoyé dans Key.

advanceBookingWindow

integer

Nombre de jours avant la date à laquelle l'utilisateur souhaite réserver le séjour.

Si advanceBookingWindow n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ advanceBookingWindow n'est pas renvoyé dans Key.

lengthOfStayDays

integer

Nombre de nuits du séjour.

Si lengthOfStayDays n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ lengthOfStayDays n'est pas renvoyé dans Key.

checkinDate

object (Date)

Date d'arrivée du séjour.

Si checkinDate n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ checkinDate n'est pas renvoyé dans Key.

occupancy

integer

Nombre total de personnes pour le séjour.

Si occupancy n'est pas une valeur du paramètre aggregateBy dans l'appel de requête, le champ occupancy n'est pas renvoyé dans Key.

Informations sur le nombre de participation manquées

Nombre de participations manquées, détaillé par motif.

Représentation JSON
{
  "noAvailabilityCount": string,
  "hotelSuspendedCount": string,
  "noTaxBreakdownCount": string,
  "noLandingPageCount": string,
  "noPriceCount": string,
  "noPriceCountDetails": {
    object (NoPriceCountDetails)
  },
  "otherReasonCount": string,
  "priceMissingCount": string,
  "priceMissingCountDetails": {
    object (PriceMissingCountDetails)
  },
  "priceProblemCount": string,
  "priceProblemCountDetails": {
    object (PriceProblemCountDetails)
  },
  "priceUnavailableCount": string,
  "priceUnavailableCountDetails": {
    object (PriceUnavailableCountDetails)
  }
}
Champs
noAvailabilityCount
(deprecated)

string (int64 format)

Nombre total de participations manquées en raison de l'indisponibilité de la combinaison hôtel/séjour, ou parce que le voyageur n'était pas éligible aux tarifs. Pour participer à ces enchères, vous devrez peut-être fournir davantage d'informations tarifaires.

hotelSuspendedCount
(deprecated)

string (int64 format)

Nombre total de participations manquées en raison de la suspension d'un ou plusieurs de vos hôtels pour non-respect de la précision des prix.

noTaxBreakdownCount
(deprecated)

string (int64 format)

Nombre total de participations manquées, car un ou plusieurs de vos hôtels n'indiquent pas séparément les taxes et les frais.

noLandingPageCount

string (int64 format)

Aucune page de destination ne correspond à l'utilisateur.

noPriceCount
(deprecated)

string (int64 format)

Nombre total de participations manquées en raison d'un prix non proposé pour le séjour demandé.

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

Motifs de la non-comptabilisation du prix (par exemple, requête de prix en temps réel non disponible) et nombre total de motifs.

otherReasonCount

string (int64 format)

L'hôtel n'a pas participé pour une raison inconnue.

priceMissingCount

string (int64 format)

Nombre total de participations manquées en raison de l'absence de prix dans le cache de Google ou de réponse à la requête de prix en temps réel. Comprend les éléments suivants:

  • Bande passante insuffisante
  • Taux de mise en cache manquant
  • Séjour bloqué
  • Requête de prix en temps réel non configurée
  • Expiration de la requête de prix en temps réel
  • Erreur de requête de prix en temps réel
priceMissingCountDetails

object (PriceMissingCountDetails)

Motifs de calcul du nombre d'articles manquants.

priceProblemCount

string (int64 format)

Nombre total de participations manquées en raison d'un problème de précision du prix fourni pour le séjour. Comprend les éléments suivants:

  • Hôtel suspendu
  • Prix inhabituellement élevé
  • Prix inhabituellement faible
  • Taxes et flux manquants
priceProblemCountDetails

object (PriceProblemCountDetails)

Motifs du problème de prix.

priceUnavailableCount

string (int64 format)

Nombre total de participations manquées en raison d'un prix indiqué comme non disponible (-1) pour le séjour demandé. Comprend les éléments suivants:

  • Prix non disponible
  • Participation peu probable
  • Autre
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

Motifs de calcul de l'indisponibilité du prix.

NoPriceCountDetails

Motifs de l'absence de prix et du nombre total pour chacun d'entre eux.

Représentation JSON
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
Champs
livePricingTechnicalIssueCount

string (int64 format)

Nombre total de participations manquées en raison de problèmes techniques liés aux requêtes de prix en temps réel dans les cas suivants:

  • Vous n'avez pas répondu assez rapidement et avez dépassé le délai de réponse (environ 4 000 millisecondes).
  • Vous avez renvoyé une erreur.
  • Votre réponse était incorrecte.
livePricingNotTriggeredCount

string (int64 format)

Nombre total de participations manquées, car la requête de prix en temps réel ne s'est pas déclenchée pour l'une des raisons suivantes:

  • Vous n'avez pas défini d'enchère.
  • Votre page de destination n'est pas valide.
  • Les prix indiqués dans le cache n'étaient pas suffisants.
livePricingConfigIssueCount

string (int64 format)

Nombre total de participations manquées, car la requête de prix en temps réel ne s'est pas déclenchée pour l'une des raisons suivantes:

  • Vous n'avez pas configuré de requête de prix en temps réel pour ces recherches.
  • Vous avez empêché Google d'accéder au séjour en question.
livePricingNotAvailableCount

string (int64 format)

Nombre total de participations manquées en raison de l'indisponibilité de la requête de prix en temps réel. La requête de prix en temps réel ne se déclenchera pas pour certains séjours ou interfaces utilisateur par défaut. Dans ce scénario, les partenaires doivent disposer d'un prix mis en cache pour participer.

livePricingOtherReasonCount

string (int64 format)

Nombre de participations manquées en raison d'autres problèmes liés à la requête de prix en temps réel

PriceMissingCountDetails

Motifs de calcul du nombre d'articles manquants et du nombre total.

Représentation JSON
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
Champs
cacheRateMissingCount

string (int64 format)

Aucun prix n'est indiqué dans le cache pour ce séjour. Aucune requête en direct n'a été effectuée en raison de contraintes de page.

itineraryBlockedCount

string (int64 format)

Le séjour n'était pas inclus dans vos paramètres de base. Par conséquent, aucun prix n'a été trouvé pour le séjour, que ce soit via la requête en temps réel ou le remplissage du cache.

livePricingNotSetupCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et la requête en direct n'a pas été configurée pour ce compte.

bandwidthDepletedCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et le quota de requêtes en temps réel est épuisé.

livePricingTimeoutCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et le délai d'attente d'une requête en temps réel envoyé à votre système a été dépassé.

livePricingErrorCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour. Votre requête n'a pas expiré, mais votre système a renvoyé une erreur.

PrixDétailDeProblème

Motifs de calcul du problème de prix et nombre total de chacun.

Représentation JSON
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string
}
Champs
hotelSuspendedCount

string (int64 format)

L'hôtel a été suspendu. Cela peut être dû à des problèmes persistants dans des domaines tels que les taxes et les frais incorrects.

priceUnusuallyHighCount

string (int64 format)

Le prix indiqué pour ce séjour semblait anormalement élevé par rapport aux tendances de la région.

priceUnusuallyLowCount

string (int64 format)

Le prix indiqué pour ce séjour semblait anormalement bas par rapport aux tendances de la région.

taxesAndFeesMissingCount

string (int64 format)

Les taxes et les frais ne figuraient pas dans les prix.

PriceUnavailableCountDétails

Motifs de calcul du nombre d'articles indisponibles pour chaque prix.

Représentation JSON
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
Champs
priceUnavailableCount

string (int64 format)

L'hôtel n'a pas participé, car il n'était pas disponible aux dates du séjour.

participationNotLikelyCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et aucune requête en temps réel n'a été effectuée, car votre serveur nous indique généralement que l'hôtel n'est pas disponible ou qu'il est complet.