Créez des actions de conversion

Ce guide fournit la liste des différents types d'actions de conversion que vous pouvez créer à l'aide de l'API Google Ads, leur correspondance avec l'interface Web de Google Ads, ainsi qu'un exemple de code détaillé montrant comment créer des actions de conversion.

Pour mesurer les conversions, configurez un ConversionAction pour le 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.

Le meilleur moyen de configurer de nouvelles actions de conversion dans l'API est d'utiliser l'exemple de code "Ajouter une action de conversion" ci-dessous. L'exemple gère pour vous toutes les tâches d'authentification en arrière-plan et vous explique comment créer une ConversionAction.

La plupart des actions de conversion nécessitent des étapes supplémentaires de votre part pour les suivre. 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. Pour connaître les autres exigences liées aux actions de conversion, consultez cet article du Centre d'aide.

Conversions depuis un site Web

Une conversion sur un site Web vous permet d'effectuer le suivi des actions sur votre site Web telles que les ventes en ligne, les clics sur un lien, les pages vues et les inscriptions.

Pour suivre les conversions sur votre site Web, vous devez créer un ConversionAction avec ConversionActionType défini sur WEBPAGE et ajouter un extrait de code appelé balise sur la page de conversion de votre site Web.

Le ConversionAction englobe plusieurs types de conversions sur un site Web, qui se distinguent dans l'API par le champ type dans chaque TagSnippet listée dans le champ tag_snippets d'une ConversionAction.

Une TagSnippet fournit le code de suivi à inclure dans votre site Web pour suivre vos actions de conversion. Les conversions de type site Web et clic sur le numéro de téléphone nécessitent le event_snippet, qui doit être placé sur les pages Web indiquant une action de conversion (par exemple, une page de confirmation de règlement ou d'envoi de formulaire pour prospects) et global_site_tag, qui doit être installé sur chaque page de votre site Web. Vous pouvez récupérer ces deux attributs à l'aide de ConversionActionService. Pour en savoir plus sur l'ajout de balises à vos pages, consultez notre Centre d'aide.

Le tableau suivant présente les paramètres d'API équivalents à utiliser pour chaque source dans l'interface Web Google Ads:

Type de code de suivi Source Google Ads
WEBPAGE Site Web, site Web (Google Analytics (GA4))
WEBPAGE_ONCLICK Site Web, site Web (Google Analytics (GA4))
CLICK_TO_CALL Clics sur des numéros de téléphone
--- Site Web (Google Analytics (UA))

les conversions liées aux applications ;

Une conversion d'application vous permet de suivre les installations d'applications mobiles ou les achats via une application sur le Google Play Store.

Le tableau suivant présente les paramètres d'API ConversionActionType équivalents à utiliser pour chaque source dans l'interface Web Google Ads:

Type d'action de conversion Source Google Ads
GOOGLE_PLAY_DOWNLOAD Google Play > Installations
GOOGLE_PLAY_IN_APP_PURCHASE Google Play > Achats via une application

Si vous souhaitez suivre d'autres actions dans votre application mobile à l'aide des propriétés Google Analytics 4 ou d'une analyse d'applications tierce. Consultez Autres types d'actions de conversion.

Conversions par appel téléphonique

Le suivi des conversions par appel téléphonique vous permet d'effectuer le suivi des appels à partir d'annonces, des appels vers un numéro affiché sur votre site Web et des clics sur des numéros affichés sur des sites mobiles.

Le tableau suivant présente les paramètres d'API ConversionActionType équivalents à utiliser pour chaque source dans l'interface Web Google Ads:

Type d'action de conversion Source Google Ads
AD_CALL Appels à partir d'annonces utilisant des extensions d'appel ou d'annonces Appels uniquement
WEBSITE_CALL Appels vers un numéro de téléphone indiqué sur votre site Web
CLICK_TO_CALL Clics sur un numéro affiché sur votre site Web mobile

Le type CLICK_TO_CALL diffère du type AD_CALL en ce sens qu'il ne suit pas les appels téléphoniques réels. Au lieu de cela, CLICK_TO_CALL ne suit que les clics sur un numéro de téléphone à partir d'un appareil mobile. Cette option est utile lorsque vous ne pouvez pas utiliser un numéro de transfert Google pour suivre les appels téléphoniques.

AD_CALL

Une action de conversion AD_CALL apparaît en tant que conversion Appels à partir d'annonces dans l'interface Web Google Ads. Après avoir créé l'action de conversion AD_CALL, spécifiez le nom de sa ressource dans le champ call_conversion_action lorsque vous créez un CallAsset. Les composants Appel vous permettent d'afficher un numéro de téléphone directement dans vos annonces.

Un appel est comptabilisé comme une conversion s'il dépasse une durée spécifiée. La valeur par défaut est de 60 secondes.

WEBSITE_CALL

Une action de conversion WEBSITE_CALL apparaît en tant que conversion Appels depuis un site Web dans l'interface Web Google Ads.

Contrairement à AD_CALL, ce traceur nécessite l'ajout de event_snippet et de global_site_tag à votre site Web afin de récupérer le numéro de transfert Google dynamique pour le suivi des appels sur les numéros listés sur votre site Web. De plus, vous devez configurer un composant Appel et l'associer au niveau du client, de la campagne ou du groupe d'annonces.

Importer les conversions hors connexion

Le tableau suivant présente les paramètres d'API ConversionActionType équivalents à utiliser pour chaque source dans l'interface Web Google Ads, ainsi qu'un lien vers la documentation spécifique à chaque type d'action de conversion:

Type d'action de conversion Source Google Ads Guide de configuration de l'API
UPLOAD_CLICKS Effectuer le suivi des conversions générées par les clics et le suivi avancé des conversions pour les prospects Guide sur les clics d'importation
Guide sur le suivi avancé des conversions pour les prospects
UPLOAD_CALLS Effectuer le suivi des conversions à partir d'appels Guide de configuration de l'API
STORE_SALES Effectuer le suivi des conversions "ventes en magasin" Guide de configuration de l'API

Suivi avancé des conversions pour le Web

Le suivi avancé des conversions pour le Web vous permet d'envoyer des données de conversion propriétaires pour WEBPAGE actions de conversion dans les 24 heures suivant un événement de conversion, plutôt que simultanément. Cela permet de localiser des données first party à partir de diverses sources, telles qu'une base de données client ou un système CRM.

Autres types d'actions de conversion

L'API Google Ads propose d'autres types d'actions de conversion dans les rapports, mais peut limiter ou interdire la création ou la modification de ces actions.

Conversions SKAdNetwork

Si vous diffusez des campagnes pour applications iOS et que vous avez implémenté SKAdNetwork, vous pouvez accéder aux données SKAdNetwork fournies à Google au niveau Customer et Campaign à l'aide des ressources suivantes:

Champ du rapport Description
metrics.sk_ad_network_conversions Nombre de conversions enregistrées par Apple. Cette métrique ne peut être segmentée qu'en combinant des segments segments.sk_ad_network_conversion_value et des segments liés à la date.
segments.sk_ad_network_conversion_value

Valeur d'une conversion enregistrée par Apple. Ce segment ne peut pas être appliqué à une métrique autre que metrics.sk_ad_network_conversions et ne peut être combiné qu'avec des segments liés à la date.

Une valeur 0 est renvoyée si Apple indique une valeur égale à 0, et aucune valeur dans le cas contraire. Vérifiez la présence sur le champ pour distinguer les deux cas.

Vous pouvez également enregistrer un mappage des valeurs de conversion SKAdNetwork pour des clients associés spécifiques utilisant des applications iOS via CustomerSkAdNetworkConversionValueSchema.

Exemple de code Python

#!/usr/bin/env python
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse
import sys

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException

def main(client, customer_id):
    """Adds a keyword plan, campaign, ad group, etc. to the customer account.

    Also handles errors from the API and prints them.

    Args:
        client: An initialized instance of GoogleAdsClient
        customer_id: A str of the customer_id to use in requests.
    """

    res = update_skan_cv_schema(
        client, customer_id, "my_app_id", "account_link_id"
    )
    print(res)

def update_skan_cv_schema(client, customer_id, app_id, account_link_id):
    skan_service = client.get_service(
        "CustomerSkAdNetworkConversionValueSchemaService"
    )

    req = client.get_type(
        "MutateCustomerSkAdNetworkConversionValueSchemaRequest"
    )
    operation = client.get_type(
        "CustomerSkAdNetworkConversionValueSchemaOperation"
    )
    schema_instance = client.get_type(
        "CustomerSkAdNetworkConversionValueSchema"
    )

    new_schema = operation.update
    new_schema.resource_name = (
        skan_service.customer_sk_ad_network_conversion_value_schema_path(
            "customer_id", "account_link_id"
        )
    )
    new_schema.schema.app_id = app_id
    new_schema.schema.measurement_window_hours = 48

    skan_cv_mapping = (
        schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings()
    )
    skan_cv_mapping.fine_grained_conversion_value = 0  # 0 - 63
    skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0
    skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48

    skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event()
    skan_cv_event.mapped_event_name = "TEST"
    skan_cv_event.event_revenue_value = 10

    skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event)
    new_schema.schema.fine_grained_conversion_value_mappings.append(
        skan_cv_mapping
    )

    req.operation = operation
    req.customer_id = customer_id

    res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema(
        req
    )
    return res

if __name__ == "__main__":
    # GoogleAdsClient will read the google-ads.yaml configuration file in the
    # home directory if none is specified.
    googleads_client = GoogleAdsClient.load_from_storage(
        version="v16"
    )

    parser = argparse.ArgumentParser(
        description="Creates a keyword plan for specified customer."
    )
    # The following argument(s) should be provided to run the example.
    parser.add_argument(
        "-c",
        "--customer_id",
        type=str,
        required=True,
        help="The Google Ads customer ID.",
    )
    args = parser.parse_args()

    try:
        main(googleads_client, args.customer_id)
    except GoogleAdsException as ex:
        print(
            f'Request with ID "{ex.request_id}" failed with status '
            f'"{ex.error.code().name}" and includes the following errors:'
        )
        for error in ex.failure.errors:
            print(f'\tError with message "{error.message}".')
            if error.location:
                for field_path_element in error.location.field_path_elements:
                    print(f"\t\tOn field: {field_path_element.field_name}")
        sys.exit(1)
  

Google Analytics

Les conversions provenant d'une propriété Google Analytics associée ont l'une des valeurs type suivantes:

  • Conversion de la propriété GA4:

    • GOOGLE_ANALYTICS_4_CUSTOM
    • GOOGLE_ANALYTICS_4_PURCHASE

    Vous pouvez également récupérer l'ID, le nom de la propriété et le nom de l'événement de GA4 dans le champ google_analytics_4_settings.

  • Conversion de la propriété Universal Analytics:

    • UNIVERSAL_ANALYTICS_GOAL
    • UNIVERSAL_ANALYTICS_TRANSACTION

Vous pouvez apporter les modifications suivantes à une conversion de propriété GA4:

  • Importez la conversion de votre propriété GA4 dans votre compte Google Ads en modifiant son champ status de HIDDEN à ENABLED.
  • Modifiez les champs primary_for_goal et category pour indiquer son impact sur les enchères et les rapports Google Ads.
  • Mettez à jour son name ou son value_settings.
  • Supprimez la conversion de votre compte Google Ads à l'aide d'une opération remove.

Toute tentative de modification d'un autre attribut d'une conversion GA4 importée ou de l'un des attributs d'une conversion Universal Analytics importée génère une erreur MUTATE_NOT_ALLOWED. Vous ne pouvez effectuer ces modifications que dans l'interface utilisateur de Google Ads.

Firebase et solutions d'analyse d'applications tierces

Pour importer des conversions d'analyse d'applications tierce ou Firebase, remplacez la valeur status de ConversionAction par HIDDEN à ENABLED à l'aide de la méthode mutate de ConversionActionService. La mise à jour de app_id n'est pas compatible avec ces actions de conversion.

  • FIREBASE_ANDROID_FIRST_OPEN
  • FIREBASE_ANDROID_IN_APP_PURCHASE
  • FIREBASE_ANDROID_CUSTOM
  • FIREBASE_IOS_FIRST_OPEN
  • FIREBASE_IOS_IN_APP_PURCHASE
  • FIREBASE_IOS_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM

Vente en magasin

Bien que vous ne puissiez pas créer d'actions de conversion STORE_SALES ou STORE_SALES_DIRECT_UPLOAD à l'aide de l'API Google Ads, l'API permet d'importer des transactions de ventes en magasin.

  • STORE_SALES
  • STORE_SALES_DIRECT_UPLOAD

Divers

Les types d'actions de conversion suivants sont en lecture seule dans l'API Google Ads et fournis à des fins de création de rapports.

  • ANDROID_APP_PRE_REGISTRATION
  • ANDROID_INSTALLS_ALL_OTHER_APPS
  • FLOODLIGHT_ACTION
  • FLOODLIGHT_TRANSACTION
  • GOOGLE_HOSTED
  • LEAD_FORM_SUBMIT
  • SALESFORCE
  • SEARCH_ADS_360
  • SMART_CAMPAIGN_AD_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_DIRECTIONS
  • SMART_CAMPAIGN_TRACKED_CALLS
  • STORE_VISITS
  • WEBPAGE_CODELESS

Inconnu

Si votre compte Google Ads inclut d'autres types d'actions de conversion, il est possible que les requêtes et les rapports renvoient des actions de conversion pour lesquelles ConversionAction.type est défini sur UNKNOWN. L'API ne permet pas de gérer ces actions de conversion, mais les renvoie dans les rapports afin de fournir des résultats complets pour les métriques de conversion clés telles que metrics.conversions et metrics.conversions_value.

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, elle crée une action de conversion avec type défini sur UPLOAD_CLICKS. Le processus est le même dans l'interface utilisateur Google Ads que lorsque vous créez une action de conversion via Importer > Importation manuelle à l'aide de l'API ou d'importations > Effectuer le suivi des conversions à partir des clics. Il définit également 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.V16.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, customer_id):
    conversion_action_service = client.get_service("ConversionActionService")

    # Create the operation.
    conversion_action_operation = client.get_type("ConversionActionOperation")

    # Create conversion action.
    conversion_action = 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 = conversion_action.value_settings
    value_settings.default_value = 15.0
    value_settings.always_use_default_value = True

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

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V16::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;
}
      

Vous pouvez également trouver cet exemple dans le dossier "Remarketing" de votre bibliothèque cliente, ainsi que dans la collection d'exemples de code Ajouter un exemple de code d'action de conversion.

Validations

Google Ads et l'API Google Ads acceptent un large éventail d'actions de conversion. Certaines règles de validation varient donc en fonction du type d'action.

L'erreur de loin 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
Toute tentative de définition d'un champ d'énumération sur UNKNOWN génère une erreur RequestError.INVALID_ENUM_VALUE.
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 est générée. Google Ads n'accepte que 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 est générée.

Cet attribut doit être compris dans la plage [1,60] pour une action de conversion AD_CALL ou WEBSITE_CALL. Pour la plupart des autres actions de conversion, la plage autorisée est [1,30].

include_in_conversions_metric

La définition de cette valeur dans une opération create ou update échoue avec une erreur FieldError.IMMUTABLE_FIELD. Définissez plutôt primary_for_goal comme décrit dans le guide sur les 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 est générée.

type

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

Si vous modifiez une action de conversion dont la valeur type est égale à UNKNOWN, une erreur MutateError.MUTATE_NOT_ALLOWED est générée.

value_settings

Le paramètre 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 une valeur false lors de la création ou de la mise à jour de cette valeur, une erreur INVALID_VALUE est générée.

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 est générée. Pour la plupart des actions de conversion, la plage autorisée est [1,30].

Cet attribut ne peut pas être défini sur les actions de conversion AD_CALL ou WEBSITE_CALL. La spécification d'une valeur génère une erreur VALUE_MUST_BE_UNSET.