Vous pouvez suivre ce guide de démarrage rapide pour vous familiariser avec l'envoi de données d'événement.
Les données d'événement constituent une source de données supplémentaire pour les conversions de vos balises. Elles permettent de maximiser les signaux d'interaction avec les annonces, de renforcer vos données et d'améliorer vos performances globales.
Choisissez la version du guide que vous souhaitez consulter :
Dans ce guide de démarrage rapide, vous allez effectuer les étapes suivantes :
- Préparez un
Destination
pour recevoir les données d'événement. - Préparez les données d'événement à envoyer.
- Créez une requête
IngestionService
pour les événements. - Envoyez la requête avec Google APIs Explorer.
- Comprendre les réponses de réussite et d'échec
Préparer une destination
Avant de pouvoir envoyer des données, vous devez préparer la destination vers laquelle les envoyer. Voici un exemple de Destination
que vous pouvez utiliser :
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
- Définissez le
accountId
duoperatingAccount
sur l'ID du compte Google Ads qui recevra les données d'événement. Leproduct
deoperatingAccount
doit êtreGOOGLE_ADS
. Définissez
productDestinationId
sur l'ID de l'action de conversion pour les événements. L'action de conversion doit être une action de conversion Google Ads avectype
défini surWEBPAGE
.Ce guide explique comment créer une requête qui envoie chaque événement à la même action de conversion. Si vous souhaitez envoyer des événements pour plusieurs actions de conversion dans la même requête, consultez Plusieurs destinations.
Préparer les données d'événement
Prenons l'exemple des données d'événement suivantes. Chaque tableau correspond à un événement de conversion. Chaque événement de conversion est associé à un code temporel, une action de conversion et une valeur de conversion.
Chaque événement peut comporter des identifiants publicitaires, comme gclid
, ou des identifiants utilisateur, comme des adresses e-mail, des numéros de téléphone et des informations sur l'adresse.
Voici les données du premier événement :
Événement 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
John |
last_name |
Smith-Jones |
region_code |
us |
postal_code |
94045 |
Voici les données du deuxième événement :
Événement 2 | |
---|---|
conversion_time |
June 10, 2025 11:42:33PM America/New_York |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
eur |
gclid |
GCLID_2 |
emails |
|
given_name |
zoë |
last_name |
pérez |
region_code |
PT |
postal_code |
1229-076 |
Mettre en forme les données
Mettez en forme les champs comme indiqué dans le guide de mise en forme. Voici les données du premier événement après mise en forme :
Événement 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
john |
last_name |
smith-jones |
region_code |
US |
postal_code |
94045 |
Voici les données du deuxième événement après mise en forme :
Événement 2 | |
---|---|
conversion_time |
2025-06-10T23:42:33-05:00 |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
EUR |
gclid |
GCLID_2 |
emails |
|
given_name |
zoë |
last_name |
pérez |
region_code |
PT |
postal_code |
1229-076 |
Hacher et encoder les données
De plus, les adresses e-mail, les prénoms et les noms de famille mis en forme doivent être hachés à l'aide de l'algorithme SHA-256 et encodés à l'aide de l'encodage hexadécimal ou Base64. Voici les données du premier événement après mise en forme, hachage et encodage à l'aide de l'encodage hexadécimal :
Événement 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A |
last_name |
DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081 |
region_code |
US |
postal_code |
94045 |
Voici les données du deuxième événement après mise en forme, hachage et encodage à l'aide de l'encodage hexadécimal :
Événement 2 | |
---|---|
conversion_time |
2025-06-10T23:42:33-05:00 |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
EUR |
gclid |
GCLID_2 |
emails |
|
given_name |
2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450 |
last_name |
6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F |
region_code |
PT |
postal_code |
1229-076 |
Convertissez les données en Event
.
Convertissez les données mises en forme et hachées de chaque événement en Event
. Renseignez les champs obligatoires suivants :
timestamp
: heure à laquelle l'événement s'est produit.transaction_id
: identifiant unique de l'événement.event_source
: source de l'événement. Si elle est spécifiée, elle doit êtreEVENT_SOURCE_WEB
.ad_identifiers
ouuser_data
: l'événement doit comporter un identifiant publicitaire ou des données utilisateur. Envoyez les deux si vous les avez pour l'événement.
Consultez la documentation de référence sur Event
pour obtenir la liste complète des champs disponibles. Renseignez tous les champs pour lesquels vous disposez d'une valeur pour l'événement.
Voici un exemple de Event
pour les données mises en forme, hachées et encodées du deuxième événement :
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"timestamp": "2025-06-10T23:42:33-05:00",
"transactionId": "DEF999911111",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
]
}
}
Créer le corps de la requête
Combinez les Destination
et Events
pour le corps de la requête :
{
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
],
"encoding": "HEX",
"events": [
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"timestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"address": {
"givenName": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
"lastName": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
"regionCode": "US",
"postalCode": "94045"
}
}
]
}
},
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"timestamp": "2025-06-11T04:42:33Z",
"transactionId": "DEF999911111",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"lastName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
]
}
}
],
"validateOnly": true
}
- Remplacez les espaces réservés dans le corps, tels que
OPERATING_ACCOUNT_ID
etCONVERSION_ACTION_1_ID
, par les valeurs de votre compte et de votre destination. - Définissez
validateOnly
surtrue
pour valider la requête sans appliquer les modifications. Lorsque vous êtes prêt à appliquer les modifications, définissezvalidateOnly
surfalse
. - Notez que cette requête n'utilise pas le chiffrement.
Envoyer la requête
- Copiez le corps de la requête à l'aide du bouton de copie en haut à droite de l'exemple.
- Accédez à la page
events.ingest
. - Cliquez sur le bouton API à droite, puis sur le bouton Essayer dans la section développée.
- Collez le corps de la requête copié dans la zone Corps de la requête.
- Cliquez sur le bouton Exécuter, répondez aux invites d'autorisation et examinez la réponse.
Réponses de réussite
Une requête réussie renvoie une réponse avec un objet contenant un requestId
.
{
"requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}
Réponses d'échec
Une requête ayant échoué génère un code d'état de réponse d'erreur tel que 400 Bad
Request
, ainsi qu'une réponse contenant des informations sur l'erreur.
Par exemple, un email_address
contenant une chaîne de texte brut au lieu d'une valeur encodée en hexadécimal produit la réponse suivante :
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0].user_data.user_identifiers",
"description": "Email is not hex encoded.",
"reason": "INVALID_HEX_ENCODING"
}
]
}
]
}
}
Un email_address
non haché et uniquement encodé en hexadécimal produit la réponse suivante :
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0]",
"reason": "INVALID_SHA256_FORMAT"
}
]
}
]
}
}
Envoyer des événements pour plusieurs destinations
Si vos données contiennent des événements pour différentes destinations, vous pouvez les envoyer dans la même requête en utilisant des références de destination.
Par exemple, si vous avez un événement pour l'ID d'action de conversion 123456789
et un autre événement pour l'ID d'action de conversion 777111122
, envoyez les deux événements dans une seule requête en définissant le reference
de chaque Destination
. Le reference
est défini par l'utilisateur. La seule exigence est que chaque Destination
possède un reference
unique. Voici la liste destinations
modifiée pour la demande :
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "123456789"
"reference": "conversion_action_1"
},
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "777111122"
"reference": "conversion_action_2"
}
]
Définissez le destination_references
de chaque Event
pour l'envoyer à une ou plusieurs destinations spécifiques. Par exemple, voici un Event
qui ne concerne que le premier Destination
. Sa liste destination_references
ne contient donc que le reference
du premier Destination
:
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"timestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "EVENT_SOURCE_WEB",
"destinationReferences": [
"conversion_action_1"
]
}
Le champ destination_references
est une liste. Vous pouvez donc spécifier plusieurs destinations pour un événement. Si vous ne définissez pas le destination_references
d'un Event
, l'API Data Manager envoie l'événement à toutes les destinations de la requête.
Étapes suivantes
- Configurez l'authentification et votre environnement avec une bibliothèque cliente.
- Découvrez les exigences de mise en forme, de hachage et d'encodage pour chaque type de données.
- Découvrez comment chiffrer les données utilisateur.