Method: accounts.participationReportViews.query

Permet d'interroger (obtenir, filtrer et segmenter) un rapport sur la participation pour un compte spécifique.

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 pour lequel la requête est effectuée. Il a le format suivant : accounts/{account_id}.

Paramètres de requête

Paramètres
filter

string

Conditions (champs et expressions) utilisées pour filtrer les métriques de participation du compte pour lequel la requête est effectuée. La syntaxe nécessite des espaces autour de l'opérateur in. Sinon, les espaces peuvent être omis. Vous pouvez joindre des conditions à l'aide de l'opérateur AND.

Important : La syntaxe correcte pour ajouter plusieurs conditions est la suivante : "?filter=<condition>=<value>%20AND%20<condition>=<value>..."

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

Voici des exemples de conditions valides :

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 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
  • 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 fournira 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 les suivants : date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate et occupancy. Les champs non spécifiés ne sont pas inclus dans ParticipationResult.

Important : L'utilisation du paramètre aggregateBy avec partnerHotelId ou plus de deux valeurs peut entraîner une erreur. Pour éviter les erreurs, vous pouvez filtrer les données avec partnerHotelId et date afin de réduire le nombre de lignes.

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-le 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

Message de réponse pour ParticipationReportService.QueryParticipationReport.

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

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 plus d'informations, consultez la OAuth 2.0 Overview.

ParticipationResult

Représente un résultat de requête pour les statistiques de participation d'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 d'instances 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 été autorisé à participer au processus d'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 pour lesquelles vous n'étiez pas éligible au processus d'enchères Google Ads. Les statistiques suivantes sont incluses :

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

object (MissedParticipationCountDetails)

Les raisons qui ont contribué au nombre de participations manquées (par exemple, aucune disponibilité) et le nombre total pour chaque raison.

partnerHotelDisplayName

string

Nom de l'hôtel du partenaire à afficher. 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 l'itinéraire.

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 pour le 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

Occupation totale de l'itinéraire.

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.

MissedParticipationCountDetails

Nombre de participations manquées, ventilé 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 ne remplissait pas les conditions pour se voir proposer les tarifs concernés. 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 suite à la suspension d'un ou de plusieurs de vos hôtels en raison d'un non-respect des règles relatives à 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 le détail des taxes et frais séparément.

noLandingPageCount

string (int64 format)

Aucune page de destination trouvée pour l'utilisateur.

noPriceCount
(deprecated)

string (int64 format)

Nombre total de participations manquées en raison de l'absence de prix proposé pour le séjour demandé.

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

Les raisons qui ont contribué au nombre de prix manquants (par exemple, prix en temps réel non disponible) et le nombre total pour chaque raison.

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 l'échec de la réponse à la requête de prix en temps réel. Les statistiques suivantes sont incluses :

  • 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 la requête de prix en temps réel
priceMissingCountDetails

object (PriceMissingCountDetails)

Motifs ayant contribué au nombre de prix 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. Les statistiques suivantes sont incluses :

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

object (PriceProblemCountDetails)

Motifs ayant contribué au nombre de problèmes de prix.

priceUnavailableCount

string (int64 format)

Nombre total de participations manquées en raison d'un prix marqué comme non disponible (-1) pour le séjour demandé. Les statistiques suivantes sont incluses :

  • Prix non disponible
  • Participation peu probable
  • Autre
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

Les raisons qui ont contribué au nombre de prix non disponibles.

NoPriceCountDetails

Les raisons qui ont contribué au nombre de produits sans prix et au nombre total pour chaque raison.

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 pour l'une des raisons suivantes :

  • Vous n'avez pas répondu assez rapidement et avez dépassé le délai maximal 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.
  • Vous n'avez pas de page de destination valide.
  • Les prix indiqués dans le cache étaient insuffisants.
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é la 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 pouvoir participer.

livePricingOtherReasonCount

string (int64 format)

Nombre de participations manquées en raison d'autres problèmes liés aux requêtes de prix en temps réel.

PriceMissingCountDetails

Les raisons qui ont contribué au nombre de prix manquants et au nombre total pour chaque raison.

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

string (int64 format)

Aucun prix n'apparaît dans le cache pour ce séjour. Une requête en direct n'a pas été effectuée en raison de contraintes de page.

itineraryBlockedCount

string (int64 format)

Le séjour ne correspondait pas à vos paramètres de base. Par conséquent, aucun prix n'a été extrait de la requête en temps réel ou du cache pour ce séjour.

livePricingNotSetupCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et la requête en temps réel 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ête en temps réel était épuisé.

livePricingTimeoutCount

string (int64 format)

Aucun prix n'a été mis en cache pour ce séjour, et la requête en temps réel envoyée à votre système a expiré.

livePricingErrorCount

string (int64 format)

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

PriceProblemCountDetails

Les raisons qui ont contribué au nombre de problèmes de prix et le nombre total pour chaque raison.

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

string (int64 format)

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

priceUnusuallyHighCount

string (int64 format)

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

priceUnusuallyLowCount

string (int64 format)

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

taxesAndFeesMissingCount

string (int64 format)

Les taxes et les frais n'étaient pas inclus dans le prix.

basePriceViolationsCount

string (int64 format)

Le prix de base est trop faible par rapport au prix total.

priceAccuracyIssueCount

string (int64 format)

Problème de précision des prix.

PriceUnavailableCountDetails

Les raisons qui ont contribué au nombre de prix indisponibles et le nombre total pour chaque raison.

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 indique généralement que l'hôtel n'est pas disponible ou qu'il est complet.