Vous devez activer le suivi des conversions dans votre compte de conversion Google Ads pour enregistrer les conversions. Ce guide explique comment vérifier si le suivi des conversions est activé, l'activer s'il ne l'est pas déjà et récupérer des informations sur les actions de conversion existantes.
La plupart des actions de conversion nécessitent également des étapes supplémentaires de votre part pour être suivies. Pour en savoir plus sur les différents types d'actions de conversion et leurs exigences, consultez Catégories d'actions de conversion et Créer des actions de conversion.
Se préparer à donner son autorisation
Lorsque vous importez des conversions ou des données utilisateur, vous devez confirmer que vous êtes autorisé à partager les données de conversion avec Google. Pour effectuer cette opération, procédez de l'une des manières suivantes :
- Configurez les paramètres de consentement par défaut au niveau du compte. Dans l'interface utilisateur de Google Ads, cliquez sur Outils > Gestionnaire de données > Paramètres de consentement > Paramètres de consentement par défaut.
- Définissez le champ de consentement dans chaque charge utile de données utilisateur ou de conversion importées (par exemple,
ClickConversion.consent,CallConversion.consentouUserData.consent).
Configurer votre site Web pour suivre les conversions
Si vous suivez les conversions sur votre site Web ou si vous implémentez le suivi avancé des conversions pour les prospects, configurez d'abord le taggage de votre site Web. Suivez la procédure décrite dans Configurer la balise Google pour le suivi avancé des conversions pour les prospects ou utilisez Google Tag Manager en suivant les instructions de Configurer Google Tag Manager pour le suivi avancé des conversions pour les prospects.
Activer le suivi des conversions dans votre compte de conversion Google Ads
Suivez ces étapes pour vérifier la configuration du suivi des conversions de votre compte et créer ou récupérer des actions de conversion.
Activer le suivi des conversions
Récupérer des informations sur la configuration du suivi des conversions
Vous pouvez vérifier la configuration du suivi des conversions de votre compte et confirmer que le suivi des conversions est activé en interrogeant la ressource Customer pour ConversionTrackingSetting.
Exécutez la requête suivante avec GoogleAdsService.SearchStream :
SELECT
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer
Le champ google_ads_conversion_customer indique le compte Google Ads qui crée et gère les conversions pour ce client. Pour les clients qui utilisent le suivi des conversions multicomptes, il s'agit de l'ID d'un compte administrateur. Le numéro client de conversion Google Ads doit être fourni en tant que customer_id dans les requêtes de l'API Google Ads pour créer et gérer les conversions. Notez que ce champ est renseigné même si le suivi des conversions n'est pas activé.
Le champ conversion_tracking_status indique si le suivi des conversions est activé et si le compte utilise le suivi des conversions multicomptes.
Créez une action de conversion sous le client de conversion Google Ads.
Si la valeur conversion_tracking_status est NOT_CONVERSION_TRACKED, le suivi des conversions n'est pas activé pour le compte. Activez le suivi des conversions en créant au moins une ConversionAction dans le compte de conversion Google Ads, comme dans l'exemple suivant. Vous pouvez également créer une action de conversion dans l'UI en suivant les instructions de l'article du centre d'aide Google Ads sur la configuration du suivi des conversions pour le type de conversion que vous souhaitez activer.
Notez que le suivi avancé des conversions est activé automatiquement lorsqu'il est envoyé via l'API Google Ads, mais qu'il peut être désactivé via l'UI Google Ads.
Exemple de code
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { // Creates a ConversionAction. ConversionAction conversionAction = ConversionAction.newBuilder() // Note that conversion action names must be unique. If a conversion action already // exists with the specified conversion_action_name the create operation will fail with // a ConversionActionError.DUPLICATE_NAME error. .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime()) .setCategory(ConversionActionCategory.DEFAULT) .setType(ConversionActionType.WEBPAGE) .setStatus(ConversionActionStatus.ENABLED) .setViewThroughLookbackWindowDays(15L) .setValueSettings( ValueSettings.newBuilder() .setDefaultValue(23.41) .setAlwaysUseDefaultValue(true) .build()) .build(); // Creates the operation. ConversionActionOperation operation = ConversionActionOperation.newBuilder().setCreate(conversionAction).build(); try (ConversionActionServiceClient conversionActionServiceClient = googleAdsClient.getLatestVersion().createConversionActionServiceClient()) { MutateConversionActionsResponse response = conversionActionServiceClient.mutateConversionActions( Long.toString(customerId), Collections.singletonList(operation)); System.out.printf("Added %d conversion actions:%n", response.getResultsCount()); for (MutateConversionActionResult result : response.getResultsList()) { System.out.printf( "New conversion action added with resource name: '%s'%n", result.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V26.ConversionActionService); // Note that conversion action names must be unique. // If a conversion action already exists with the specified name the create operation // will fail with a ConversionAction.DUPLICATE_NAME error. string ConversionActionName = "Earth to Mars Cruises Conversion #" + ExampleUtilities.GetRandomString(); // Add a conversion action. ConversionAction conversionAction = new ConversionAction() { Name = ConversionActionName, Category = ConversionActionCategory.Default, Type = ConversionActionType.Webpage, Status = ConversionActionStatus.Enabled, ViewThroughLookbackWindowDays = 15, ValueSettings = new ConversionAction.Types.ValueSettings() { DefaultValue = 23.41, AlwaysUseDefaultValue = true } }; // Create the operation. ConversionActionOperation operation = new ConversionActionOperation() { Create = conversionAction }; try { // Create the conversion action. MutateConversionActionsResponse response = conversionActionService.MutateConversionActions(customerId.ToString(), new ConversionActionOperation[] { operation }); // Display the results. foreach (MutateConversionActionResult newConversionAction in response.Results) { Console.WriteLine($"New conversion action with resource name = " + $"'{newConversionAction.ResourceName}' was added."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a conversion action. $conversionAction = new ConversionAction( [ // Note that conversion action names must be unique. // If a conversion action already exists with the specified conversion_action_name // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error. 'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(), 'category' => ConversionActionCategory::PBDEFAULT, 'type' => ConversionActionType::WEBPAGE, 'status' => ConversionActionStatus::ENABLED, 'view_through_lookback_window_days' => 15, 'value_settings' => new ValueSettings( [ 'default_value' => 23.41, 'always_use_default_value' => true ] ) ] ); // Creates a conversion action operation. $conversionActionOperation = new ConversionActionOperation(); $conversionActionOperation->setCreate($conversionAction); // Issues a mutate request to add the conversion action. $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient(); $response = $conversionActionServiceClient->mutateConversionActions( MutateConversionActionsRequest::build($customerId, [$conversionActionOperation]) ); printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedConversionAction) { /** * @var ConversionAction $addedConversionAction */ printf( "New conversion action added with resource name: '%s'%s", $addedConversionAction->getResourceName(), PHP_EOL ); } }
Python
def main(client: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = conversion_action_operation.create # Note that conversion action names must be unique. If a conversion action # already exists with the specified conversion_action_name, the create # operation will fail with a ConversionActionError.DUPLICATE_NAME error. conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}" conversion_action.type_ = ( client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS ) conversion_action.category = ( client.enums.ConversionActionCategoryEnum.DEFAULT ) conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED conversion_action.view_through_lookback_window_days = 15 # Create a value settings object. value_settings: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( conversion_action_service.mutate_conversion_actions( customer_id=customer_id, operations=[conversion_action_operation], ) ) print( "Created conversion action " f'"{conversion_action_response.results[0].resource_name}".' )
Ruby
def add_conversion_action(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Add a conversion action. conversion_action = client.resource.conversion_action do |ca| ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}" ca.type = :UPLOAD_CLICKS ca.category = :DEFAULT ca.status = :ENABLED ca.view_through_lookback_window_days = 15 # Create a value settings object. ca.value_settings = client.resource.value_settings do |vs| vs.default_value = 15 vs.always_use_default_value = true end end # Create the operation. conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action) # Add the ad group ad. response = client.service.conversion_action.mutate_conversion_actions( customer_id: customer_id, operations: [conversion_action_operation], ) puts "New conversion action with resource name = #{response.results.first.resource_name}." end
Perl
sub add_conversion_action { my ($api_client, $customer_id) = @_; # Note that conversion action names must be unique. # If a conversion action already exists with the specified conversion_action_name, # the create operation fails with error ConversionActionError.DUPLICATE_NAME. my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid(); # Create a conversion action. my $conversion_action = Google::Ads::GoogleAds::V26::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V26::Services::ConversionActionService::ConversionActionOperation ->new({create => $conversion_action}); # Add the conversion action. my $conversion_actions_response = $api_client->ConversionActionService()->mutate({ customerId => $customer_id, operations => [$conversion_action_operation]}); printf "New conversion action added with resource name: '%s'.\n", $conversion_actions_response->{results}[0]{resourceName}; return 1; }
curl
Assurez-vous que type est défini sur la valeur ConversionActionType appropriée. Pour obtenir plus d'informations sur la création d'actions de conversion dans l'API Google Ads, consultez Créer des actions de conversion.
Récupérer une action de conversion existante
Vous pouvez récupérer les détails d'une action de conversion existante en exécutant la requête suivante. Assurez-vous que le numéro client de la demande est défini sur le client de conversion Google Ads que vous avez identifié précédemment, et que le type d'action de conversion est défini sur la valeur ConversionActionType appropriée.
SELECT
conversion_action.id,
conversion_action.resource_name,
conversion_action.name,
conversion_action.type,
conversion_action.category,
conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'
Suivi des conversions multicomptes
Le suivi des conversions multicomptes permet aux comptes Google Ads d'importer des conversions au nom d'autres comptes, qui ont peut-être diffusé les annonces ayant généré des conversions. Cela peut vous aider à simplifier votre intégration en vous permettant de regrouper les comptes qui effectuent des demandes d'importation.
Activer le suivi des conversions multicomptes dans l'API Google Ads
Vous pouvez utiliser l'API Google Ads pour activer le suivi des conversions multicompte lorsque vous créez ou mettez à jour des comptes client.
Sur une ressource Customer, définissez le champ conversion_tracking_setting.google_ads_conversion_customer sur le nom de ressource du compte administrateur qui doit gérer les actions de conversion au nom du compte client.
Les requêtes qui modifient le client de conversion d'un compte client doivent être envoyées par le compte administrateur qui devient le nouveau client de conversion pour le client.
Pour ce faire, définissez login-customer-id sur l'ID du compte administrateur.
Lorsque vous optez pour le suivi des conversions multicomptes ou que vous changez d'administrateur de suivi des conversions pour un compte client existant, les mêmes mises en garde s'appliquent que si vous effectuiez cette modification dans l'interface utilisateur. Plus spécifiquement :
- Le compte client adoptera les règles de valeur de conversion par défaut et les objectifs de cycle de vie client par défaut de son nouveau gestionnaire de suivi des conversions.
- Les campagnes ciblant une action de conversion spécifique utiliseront alors les objectifs de conversion par défaut du compte administrateur de conversions. Si vous continuez à cibler une action de conversion spécifique, cela peut générer des problèmes de cohérence, car le compte administrateur n'a peut-être pas les mêmes objectifs que le compte client. Assurez-vous que vos campagnes sont optimisées pour les bons objectifs.
- Si un compte appartient à plusieurs comptes administrateur, il ne peut utiliser les actions de conversion que d'un seul compte. Si aucun compte de suivi des conversions n'est spécifié, le compte utilisera par défaut son propre compte comme compte de suivi des conversions.
Importer des conversions dans plusieurs comptes
Lorsque le suivi multicompte est activé, les comptes client et administrateur peuvent importer des conversions au nom du compte de diffusion. Cela vous permet de simplifier votre logique d'importation. Vous n'avez pas besoin de déterminer le compte de diffusion pour chaque conversion au moment de l'importation. Il vous suffit de choisir un compte dans l'arborescence de votre compte pour importer toutes les conversions.
Pour importer une conversion, le compte d'importation doit avoir accès à l'action de conversion. Dans une hiérarchie de suivi multicompte, le compte d'importation a accès à l'action s'il est un parent (administrateur) ou un descendant du propriétaire de l'action de conversion dans l'arborescence des comptes.
Le diagramme suivant illustre la structure d'autorisation pour l'importation de conversions. Ici, C1 est le compte client qui a diffusé l'annonce ayant généré la conversion, et M2 est le propriétaire de l'action de conversion et le parent du suivi des conversions de C1. Les comptes mis en évidence en vert sont autorisés à importer des conversions pour C1, tandis que ceux mis en évidence en rouge ne le sont pas.

Créer des actions de conversion
Pour mesurer les conversions, configurez une ConversionAction pour la type de l'action de conversion que vous souhaitez suivre.
Par exemple, un achat en ligne et un appel téléphonique nécessitent des actions de conversion différentes.
La meilleure façon de configurer de nouvelles actions de conversion dans l'API est d'utiliser l'exemple de code "Ajouter une action de conversion". L'exemple gère toutes les tâches d'authentification en arrière-plan pour vous et vous guide dans la création d'un ConversionAction.
La plupart des actions de conversion nécessitent également des étapes supplémentaires de votre part pour être suivies. Par exemple, pour suivre les conversions sur votre site Web, vous devez ajouter un extrait de code appelé balise à la page de conversion de votre site Web. Pour connaître les exigences détaillées des autres types d'actions de conversion, consultez l'article du Centre d'aide Google Ads sur les types de conversion.
Si vous utilisez le suivi des conversions multicomptes, ConversionActionService renvoie les actions de conversion suivantes :
- Toutes les actions de conversion définies par le compte administrateur utilisé par le compte pour le suivi des conversions multicomptes
- Toutes les actions de conversion pour lesquelles le client a accumulé des statistiques, y compris les actions définies par le système et les actions appartenant à l'administrateur, même si celui-ci dissocie ensuite le compte.
- Toutes les actions que le client a définies dans son propre compte
- Conversions Analytics créées dans les propriétés Google Analytics associées.
Cela inclut les actions pour les conversions Analytics non importées dans Google Ads, qui ont l'état
HIDDEN.
Exemple de code
L'exemple de code suivant vous guide tout au long du processus de création d'une action de conversion. Plus précisément, il crée une action de conversion avec type défini sur UPLOAD_CLICKS.
Il définit également category sur DEFAULT.
Les paramètres par défaut suivants s'appliquent :
L'API Google Ads définit automatiquement le champ
primary_for_goal, mais vous pouvez le définir explicitement pour contrôler l'impact d'une action de conversion sur les rapports et les enchères de votre compte lorsqu'elle est combinée à vos objectifs de conversion.L'API Google Ads définit automatiquement
counting_typesurMANY_PER_CLICK. Pour en savoir plus, consultez À propos des options relatives à la comptabilisation des conversions.L'API Google Ads définit le modèle d'attribution sur Basée sur les données en définissant le champ
attribution_model_settingssur la valeurGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVENdeAttributionModel. Pour en savoir plus sur les modèles d'attribution, consultez À propos des modèles d'attribution.
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { // Creates a ConversionAction. ConversionAction conversionAction = ConversionAction.newBuilder() // Note that conversion action names must be unique. If a conversion action already // exists with the specified conversion_action_name the create operation will fail with // a ConversionActionError.DUPLICATE_NAME error. .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime()) .setCategory(ConversionActionCategory.DEFAULT) .setType(ConversionActionType.WEBPAGE) .setStatus(ConversionActionStatus.ENABLED) .setViewThroughLookbackWindowDays(15L) .setValueSettings( ValueSettings.newBuilder() .setDefaultValue(23.41) .setAlwaysUseDefaultValue(true) .build()) .build(); // Creates the operation. ConversionActionOperation operation = ConversionActionOperation.newBuilder().setCreate(conversionAction).build(); try (ConversionActionServiceClient conversionActionServiceClient = googleAdsClient.getLatestVersion().createConversionActionServiceClient()) { MutateConversionActionsResponse response = conversionActionServiceClient.mutateConversionActions( Long.toString(customerId), Collections.singletonList(operation)); System.out.printf("Added %d conversion actions:%n", response.getResultsCount()); for (MutateConversionActionResult result : response.getResultsList()) { System.out.printf( "New conversion action added with resource name: '%s'%n", result.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V26.ConversionActionService); // Note that conversion action names must be unique. // If a conversion action already exists with the specified name the create operation // will fail with a ConversionAction.DUPLICATE_NAME error. string ConversionActionName = "Earth to Mars Cruises Conversion #" + ExampleUtilities.GetRandomString(); // Add a conversion action. ConversionAction conversionAction = new ConversionAction() { Name = ConversionActionName, Category = ConversionActionCategory.Default, Type = ConversionActionType.Webpage, Status = ConversionActionStatus.Enabled, ViewThroughLookbackWindowDays = 15, ValueSettings = new ConversionAction.Types.ValueSettings() { DefaultValue = 23.41, AlwaysUseDefaultValue = true } }; // Create the operation. ConversionActionOperation operation = new ConversionActionOperation() { Create = conversionAction }; try { // Create the conversion action. MutateConversionActionsResponse response = conversionActionService.MutateConversionActions(customerId.ToString(), new ConversionActionOperation[] { operation }); // Display the results. foreach (MutateConversionActionResult newConversionAction in response.Results) { Console.WriteLine($"New conversion action with resource name = " + $"'{newConversionAction.ResourceName}' was added."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a conversion action. $conversionAction = new ConversionAction( [ // Note that conversion action names must be unique. // If a conversion action already exists with the specified conversion_action_name // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error. 'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(), 'category' => ConversionActionCategory::PBDEFAULT, 'type' => ConversionActionType::WEBPAGE, 'status' => ConversionActionStatus::ENABLED, 'view_through_lookback_window_days' => 15, 'value_settings' => new ValueSettings( [ 'default_value' => 23.41, 'always_use_default_value' => true ] ) ] ); // Creates a conversion action operation. $conversionActionOperation = new ConversionActionOperation(); $conversionActionOperation->setCreate($conversionAction); // Issues a mutate request to add the conversion action. $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient(); $response = $conversionActionServiceClient->mutateConversionActions( MutateConversionActionsRequest::build($customerId, [$conversionActionOperation]) ); printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedConversionAction) { /** * @var ConversionAction $addedConversionAction */ printf( "New conversion action added with resource name: '%s'%s", $addedConversionAction->getResourceName(), PHP_EOL ); } }
Python
def main(client: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = conversion_action_operation.create # Note that conversion action names must be unique. If a conversion action # already exists with the specified conversion_action_name, the create # operation will fail with a ConversionActionError.DUPLICATE_NAME error. conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}" conversion_action.type_ = ( client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS ) conversion_action.category = ( client.enums.ConversionActionCategoryEnum.DEFAULT ) conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED conversion_action.view_through_lookback_window_days = 15 # Create a value settings object. value_settings: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( conversion_action_service.mutate_conversion_actions( customer_id=customer_id, operations=[conversion_action_operation], ) ) print( "Created conversion action " f'"{conversion_action_response.results[0].resource_name}".' )
Ruby
def add_conversion_action(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Add a conversion action. conversion_action = client.resource.conversion_action do |ca| ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}" ca.type = :UPLOAD_CLICKS ca.category = :DEFAULT ca.status = :ENABLED ca.view_through_lookback_window_days = 15 # Create a value settings object. ca.value_settings = client.resource.value_settings do |vs| vs.default_value = 15 vs.always_use_default_value = true end end # Create the operation. conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action) # Add the ad group ad. response = client.service.conversion_action.mutate_conversion_actions( customer_id: customer_id, operations: [conversion_action_operation], ) puts "New conversion action with resource name = #{response.results.first.resource_name}." end
Perl
sub add_conversion_action { my ($api_client, $customer_id) = @_; # Note that conversion action names must be unique. # If a conversion action already exists with the specified conversion_action_name, # the create operation fails with error ConversionActionError.DUPLICATE_NAME. my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid(); # Create a conversion action. my $conversion_action = Google::Ads::GoogleAds::V26::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V26::Services::ConversionActionService::ConversionActionOperation ->new({create => $conversion_action}); # Add the conversion action. my $conversion_actions_response = $api_client->ConversionActionService()->mutate({ customerId => $customer_id, operations => [$conversion_action_operation]}); printf "New conversion action added with resource name: '%s'.\n", $conversion_actions_response->{results}[0]{resourceName}; return 1; }
curl
Vous trouverez cet exemple dans le dossier "Remarketing" de votre bibliothèque cliente et dans la collection d'exemples de code : Exemple de code pour ajouter une action de conversion.
Documentation de référence sur le champ ConversionActionService.MutateConversionActions
Utilisez MutateConversionActions sur ConversionActionService pour créer, mettre à jour ou supprimer des actions de conversion sous le client de conversion Google Ads :
POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
Le tableau suivant liste les champs de requête et d'opération de premier niveau sur MutateConversionActionsRequest :
| Champ | Exigence | Description |
|---|---|---|
customer_id |
Obligatoire | ID à 10 chiffres (string) du client de conversion Google Ads (google_ads_conversion_customer), sans tirets. |
partial_failure |
Facultatif | Lorsque true (bool), les opérations valides sont exécutées et les opérations ayant échoué renvoient des erreurs dans partial_failure_error. La valeur par défaut est false. |
validate_only |
Facultatif | Lorsque la valeur est true (bool), la requête est validée sans que les mutations soient exécutées. |
response_content_type |
Facultatif | ResponseContentType : contrôle si la réponse ne renvoie que resource_name (RESOURCE_NAME_ONLY, par défaut) ou l'objet ConversionAction modifié (MUTABLE_RESOURCE). |
operations[].create |
Obligatoire (lors de la création) | Ressource ConversionAction à créer. Aucun resource_name n'est prévu. |
operations[].update |
Obligatoire (lors de la mise à jour) | Ressource ConversionAction à mettre à jour (doit inclure resource_name et un update_mask frère sur ConversionActionOperation). |
operations[].update_mask |
Obligatoire (lors de la mise à jour) | FieldMask (liste d'éléments séparés par une virgule des chemins d'accès aux champs ConversionAction modifiés dans snake_case ; REST JSON updateMask accepte snake_case ou camelCase, tandis que gRPC et les bibliothèques clientes nécessitent snake_case) sur ConversionActionOperation (frère de update, non imbriqué dans ConversionAction). |
operations[].remove |
Obligatoire (lors de la suppression) | Nom de ressource (customers/{customer_id}/conversionActions/{action_id}) de l'action de conversion à supprimer. |
Lorsque vous configurez un ConversionAction dans operations[].create ou operations[].update, respectez les exigences concernant les champs et les contraintes de mutabilité suivantes (consultez Validations pour connaître les règles d'erreur spécifiques aux types) :
Champ ConversionAction |
Exigences et mutabilité | Description |
|---|---|---|
name |
Obligatoire (modifiable) | Nom à afficher unique (string) dans le compte client de conversion. |
type |
Obligatoire le create (IMMUTABLE) |
ConversionActionType (par exemple, WEBPAGE, UPLOAD_CLICKS, UPLOAD_CALLS, AD_CALL ou WEBSITE_CALL). |
category |
Facultatif (modifiable) | ConversionActionCategory (par exemple, DEFAULT, PURCHASE, SUBMIT_LEAD_FORM, SIGNUP ou PHONE_CALL_LEAD). Valeur par défaut : DEFAULT. |
status |
Facultatif (modifiable) | ConversionActionStatus (ENABLED, REMOVED ou HIDDEN). Valeur par défaut : ENABLED. |
primary_for_goal |
Facultatif (modifiable) | bool qui détermine si l'action est enchérissable dans les objectifs de conversion standards du client et de la campagne (remarque : les ressources CustomConversionGoal ignorent ce paramètre). La valeur par défaut est true. |
counting_type |
Facultatif (modifiable) | ConversionActionCountingType (MANY_PER_CLICK par défaut ou ONE_PER_CLICK). |
value_settings |
Facultatif (modifiable) | ValueSettings (default_value, default_currency_code, always_use_default_value). |
attribution_model_settings |
Facultatif (modifiable) | AttributionModelSettings (attribution_model : GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN par défaut ou GOOGLE_ADS_LAST_CLICK). |
click_through_lookback_window_days |
Facultatif (modifiable) | Période d'analyse des clics int64 en jours (1 à 90 pour la plupart des types ; 1 à 60 pour les types d'appel). |
view_through_lookback_window_days |
Facultatif (modifiable) | Période d'analyse après affichage int64 en jours (1 à 30 pour la plupart des types ; non définie pour les types d'appel). |
phone_call_duration_seconds |
Types d'appel uniquement (modifiables) | Durée d'appel minimale de int64 en secondes (0 à 10000). |
app_id |
Types d'applications uniquement (immuables après création) | Identifiant de l'application mobile (string) ; ne peut être défini que sur create pour les actions de conversion d'application. |
include_in_conversions_metric |
Lecture seule dans les mutations | Impossible de modifier directement. Configurez plutôt primary_for_goal. |
tag_snippets[] |
OUTPUT_ONLY |
Extraits de code de suivi de site Web (TagSnippet) renseignés pour WEBPAGE actions de conversion. |
Structure des requêtes et réponses REST
Pour créer ou mettre à jour un ConversionAction via REST, envoyez une requête POST à ConversionActionService.MutateConversionActions.
Lorsque vous mettez à jour une action de conversion existante, spécifiez updateMask sur l'objet d'opération en tant qu'élément frère de update :
POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
"operations": [
{
"create": {
"name": "Earth to Mars Cruise Conversion",
"type": "UPLOAD_CLICKS",
"category": "DEFAULT",
"status": "ENABLED",
"primaryForGoal": true,
"countingType": "ONE_PER_CLICK",
"clickThroughLookbackWindowDays": "60",
"valueSettings": {
"defaultValue": 23.41,
"defaultCurrencyCode": "USD",
"alwaysUseDefaultValue": true
}
}
},
{
"updateMask": "primary_for_goal,value_settings.default_value",
"update": {
"resourceName": "customers/{customer_id}/conversionActions/6666666666",
"primaryForGoal": false,
"valueSettings": {
"defaultValue": 45.00
}
}
}
]
}
Une réponse réussie renvoie les entrées MutateConversionActionResult dans results[] :
{
"results": [
{
"resourceName": "customers/{customer_id}/conversionActions/7777777777"
},
{
"resourceName": "customers/{customer_id}/conversionActions/6666666666"
}
]
}
Inspecter les paramètres des actions de conversion et les extraits de code de balise avec GAQL
En plus de la requête de base présentée dans Étapes à suivre pour activer le suivi des conversions, vous pouvez interroger la ressource conversion_action à l'aide de GoogleAdsService.SearchStream pour inspecter primary_for_goal, l'état du modèle d'attribution, les périodes d'analyse, les paramètres de valeur et tag_snippets du site Web :
SELECT
conversion_action.id,
conversion_action.resource_name,
conversion_action.name,
conversion_action.type,
conversion_action.category,
conversion_action.status,
conversion_action.primary_for_goal,
conversion_action.counting_type,
conversion_action.click_through_lookback_window_days,
conversion_action.view_through_lookback_window_days,
conversion_action.value_settings.default_value,
conversion_action.value_settings.default_currency_code,
conversion_action.value_settings.always_use_default_value,
conversion_action.attribution_model_settings.attribution_model,
conversion_action.attribution_model_settings.data_driven_model_status,
conversion_action.tag_snippets
FROM conversion_action
WHERE conversion_action.status = 'ENABLED'
Validations
Google Ads et l'API Google Ads sont compatibles avec un large éventail d'actions de conversion. Par conséquent, certaines règles de validation varient en fonction du type de l'action.
L'erreur la plus courante lors de la création d'une action de conversion est DUPLICATE_NAME. Assurez-vous d'utiliser un nom unique pour chaque action de conversion.
Voici quelques conseils pour définir les champs ConversionAction :
- Tous les champs d'énumération
- Si vous tentez de définir un champ d'énumération sur
UNKNOWN, une erreurRequestError.INVALID_ENUM_VALUEse produit. app_id- L'attribut
app_idest immuable et ne peut être défini que lors de la création d'une conversion d'application. attribution_model_settings- Si vous définissez cette option sur une option obsolète, une erreur
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELSs'affiche. Google Ads n'est compatible qu'avecGOOGLE_ADS_LAST_CLICKetGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN. click_through_lookback_window_daysSi vous définissez cet attribut sur une valeur en dehors de la plage autorisée, une erreur
RangeError.TOO_LOWouRangeError.TOO_HIGHs'affiche.Cet attribut doit être compris entre 1 et 60 jours pour une action de conversion
AD_CALLouWEBSITE_CALL. Pour la plupart des autres actions de conversion, la plage autorisée est comprise entre 1 et 90 jours.include_in_conversions_metricLa définition de cette valeur dans une opération
createouupdateéchoue avec une erreurFieldError.IMMUTABLE_FIELD. Définissez plutôtprimary_for_goalcomme décrit dans le guide sur les objectifs de conversion.phone_call_duration_secondsSi vous essayez de définir cet attribut sur une action de conversion qui ne concerne pas les appels, une erreur
FieldError.VALUE_MUST_BE_UNSETse produit.typeL'attribut
typeest immuable et ne peut être défini que lors de la création d'une conversion.La modification d'une action de conversion avec
typedéfini surUNKNOWNentraîne une erreurMutateError.MUTATE_NOT_ALLOWED.value_settingsLe
value_settingsd'une action de conversionWEBSITE_CALLouAD_CALLdoit avoiralways_use_default_valuedéfini surtrue. Si vous spécifiez la valeurfalselors de la création ou de la mise à jour de cette valeur, une erreurINVALID_VALUEse produit.view_through_lookback_window_daysSi vous définissez cet attribut sur une valeur en dehors de la plage autorisée, une erreur
RangeError.TOO_LOWouRangeError.TOO_HIGHse produit. Pour la plupart des actions de conversion, la plage autorisée est comprise entre 1 et 30 jours.Cet attribut ne peut pas être défini sur les actions de conversion
AD_CALLniWEBSITE_CALL. Si vous spécifiez une valeur, une erreurVALUE_MUST_BE_UNSETest générée.