Premiers pas

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 si ce n'est pas le cas 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.

Lorsque vous importez des conversions ou des données utilisateur, vous devez confirmer que vous êtes autorisé à partager des données de conversion avec Google. Pour effectuer cette opération, procédez de l'une des manières suivantes :

  1. Configurez les paramètres de consentement par défaut au niveau du compte. Dans l' interface utilisateur Google Ads, cliquez sur Outils > Gestionnaire de données > Paramètres de consentement > Paramètres de consentement par défaut.
  2. Définissez le champ de consentement sur chaque charge utile de conversion ou de données utilisateur importée (par exemple, ClickConversion.consent, CallConversion.consent, ou UserData.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, commencez par configurer le balisage de votre site Web. Suivez les étapes décrites dans Configurer la balise Google pour le suivi avancé des conversions pour les prospects, ou utilisez Google Tag Manager en suivant 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.

Étapes pour activer le suivi des conversions

Récupérer des informations sur votre 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 le 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. L'ID de client de conversion Google Ads doit être indiqué comme 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 conversion_tracking_status champ indique si le suivi des conversions est activé et si le compte utilise le suivi des conversions multicomptes.

Créer 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'interface utilisateur 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'interface utilisateur 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.V25.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::V25::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V25::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V25::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 le type est défini sur la valeur ConversionActionType appropriée. Pour obtenir des conseils 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 requête 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 pour le compte d'autres comptes, qui peuvent avoir 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 requêtes 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 multicomptes 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 pour le compte 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 activez le suivi des conversions multicomptes ou que vous modifiez le gestionnaire de suivi des conversions pour un compte client existant, les mêmes mises en garde s'appliquent que si vous deviez apporter cette modification dans l'interface utilisateur. Plus spécifiquement :

  • Le compte client adopte 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 utilisent alors les objectifs de conversion par défaut du compte gestionnaire de conversion. Si vous continuez à cibler une action de conversion spécifique, vous risquez de créer un comportement incohérent, car le compte gestionnaire n'aura 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 s'utilisera lui-même comme compte de suivi des conversions par défaut.

Importer des conversions entre les comptes

Lorsque le suivi multicomptes est activé, les comptes client et administrateur peuvent importer des conversions pour le compte du compte de diffusion. Cela 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. Vous pouvez simplement choisir un compte dans votre arborescence de comptes 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 multicomptes, 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 de 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, M2 est le propriétaire de l'action de conversion et le parent de suivi des conversions de C1. Les comptes mis en surbrillance en vert sont autorisés à importer des conversions pour le compte de C1, tandis que les comptes mis en surbrillance en rouge ne le sont pas.

Structure d'autorisation

Créer des actions de conversion

Pour mesurer les conversions, configurez un ConversionAction pour le type d'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 consiste à 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'une 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é une 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 notre article du centre d'aide Google Ads sur les types de conversion.

Si vous utilisez le suivi des conversions multicomptes , le 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 au compte administrateur, même si ce compte est dissocié par la suite
  • Toutes les actions que le client a définies dans son propre compte
  • Les 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, dont l'état est 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 dont le type est défini sur UPLOAD_CLICKS. Il définit également le category sur DEFAULT.

Les paramètres par défaut suivants s'appliquent :

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.V25.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::V25::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V25::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V25::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 pouvez consulter cet exemple dans le dossier "Remarketing" de votre bibliothèque cliente et dans la collection d'exemples de code : Exemple de code Ajouter une action de conversion exemple.

Validations

Google Ads et l'API Google Ads sont compatibles avec une grande variété d'actions de conversion. Par conséquent, certaines règles de validation varient en fonction du type d' action.

L'erreur la plus courante lors de la création d'une action de conversion est de loin 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 erreur RequestError.INVALID_ENUM_VALUE se produit.
app_id
L'attribut app_id est 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_MODELS se produit. Google Ads n'est compatible qu'avec GOOGLE_ADS_LAST_CLICK et GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN.
click_through_lookback_window_days

Si vous définissez cet attribut sur une valeur en dehors de la plage autorisée, une erreur RangeError.TOO_LOW ou RangeError.TOO_HIGH se produit.

Cet attribut doit être compris entre 1 et 60 jours pour une action de conversion AD_CALL ou WEBSITE_CALL. Pour la plupart des autres actions de conversion, la plage autorisée est de 1 à 90 jours.

include_in_conversions_metric

Si vous définissez cette valeur dans une opération create ou update, une erreur FieldError.IMMUTABLE_FIELD se produit. Définissez plutôt primary_for_goal comme décrit dans le guide Objectifs de conversion.

phone_call_duration_seconds

Si vous tentez de définir cet attribut sur une action de conversion qui n'est pas destinée aux appels, une erreur FieldError.VALUE_MUST_BE_UNSET se produit.

type

L'attribut type est immuable et ne peut être défini que lors de la création d'une conversion.

Si vous mettez à jour une action de conversion avec type égal à UNKNOWN , une erreur MutateError.MUTATE_NOT_ALLOWED se produit.

value_settings

Le value_settings d'une action de conversion WEBSITE_CALL ou AD_CALL doit avoir always_use_default_value défini sur true. Si vous spécifiez la valeur false lors de la création ou de la mise à jour de cette valeur, une erreur INVALID_VALUE se produit.

view_through_lookback_window_days

Si vous définissez cet attribut sur une valeur en dehors de la plage autorisée, une erreur RangeError.TOO_LOW ou RangeError.TOO_HIGH se produit. Pour la plupart des actions de conversion, la plage autorisée est de 1 à 30 jours.

Cet attribut ne peut pas être défini sur les actions de conversion AD_CALL ou WEBSITE_CALL. Si vous spécifiez une valeur, une erreur VALUE_MUST_BE_UNSET se produit.