Ce guide fournit une liste des différents types d'actions de conversion que vous pouvez créer à l'aide de l'API Google Ads, des informations sur leur mise en correspondance avec l'interface Web Google Ads et un exemple de code détaillé montrant comment créer des actions de conversion.
Pour mesurer les conversions, configurez un ConversionAction
pour l'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 consiste à utiliser l'exemple de code d'ajout d'action de conversion ci-dessous. L'exemple gère toutes les tâches d'authentification en arrière-plan à votre place et vous guide tout au long de la création d'un ConversionAction
.
La plupart des actions de conversion nécessitent également des étapes supplémentaires pour effectuer leur suivi. 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 concernant les actions de conversion, consultez cet article du Centre d'aide.
Conversions depuis un site Web
Une conversion sur un site Web vous permet de suivre les actions sur le site, comme les ventes en ligne, les clics sur des liens, 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
, puis ajouter un extrait de code (appelé balise) à la page de conversion de votre site Web.
ConversionAction
englobe plusieurs types de conversions sur un site Web, distingués dans l'API par le champ type
dans chaque TagSnippet
listé dans le champ tag_snippets d'un ConversionAction
.
Un TagSnippet
fournit le code de suivi qui doit être inclus dans votre site Web pour suivre vos actions de conversion.
Les conversions Site Web et Clic sur un numéro de téléphone nécessitent la balise event_snippet
, qui doit être placée sur les pages Web indiquant une action de conversion, comme une page de confirmation de paiement ou d'envoi d'un formulaire de prospect, ainsi que la balise global_site_tag
, qui doit être installée sur chaque page de votre site Web. Vous pouvez récupérer ces deux attributs à l'aide de ConversionActionService
. Consultez le Centre d'aide pour savoir comment ajouter des balises à vos pages.
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 depuis 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 une application mobile à l'aide de propriétés Google Analytics 4 ou de fonctionnalités d'analyse d'applications tierces. Consultez la section Autres types d'actions de conversion.
Conversions par appel téléphonique
Le suivi des conversions par appel téléphonique vous permet de suivre les appels provenant d'annonces, ceux vers un numéro figurant sur votre site Web et les clics sur des numéros sur des sites mobiles.
Le tableau suivant indique 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 qu'il ne suit pas les appels téléphoniques. À la place, CLICK_TO_CALL
ne suit que les clics sur un numéro de téléphone depuis un appareil mobile. Cela est utile lorsque vous ne pouvez pas utiliser de 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 de type Appels à partir d'annonces dans l'interface Web de Google Ads. Après avoir créé votre action de conversion AD_CALL
, spécifiez son nom de 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 dure plus longtemps qu'une durée spécifiée. La valeur par défaut est de 60 secondes.
WEBSITE_CALL
Une action de conversion WEBSITE_CALL
s'affiche sous la forme d'une conversion Appels depuis un site Web dans l'interface Web Google Ads.
Contrairement à AD_CALL
, ce traceur nécessite que event_snippet
et global_site_tag
soient ajoutés à votre site Web pour 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 pour chaque type d'action de conversion spécifique:
Type d'action de conversion | Source Google Ads | Guide de configuration de l'API |
---|---|---|
UPLOAD_CLICKS |
Suivre les conversions générées par des clics et le suivi avancé des conversions pour les prospects | Guide d'importation des clics
Guide du 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 |
Suivre les 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 first party pour les actions de conversion WEBPAGE
dans les 24 heures suivant un événement de conversion au lieu de le faire en même temps. Cela permet de trouver des données first party à partir de plusieurs sources, telles qu'une base de données client ou un système de CRM.
Autres types d'actions de conversion
L'API Google Ads propose des types d'actions de conversion supplémentaires 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_installs |
Nombre d'installations signalé par Apple. Cette métrique ne peut être segmentée que par n'importe quelle combinaison de segments segments.sk_ad_network_conversion_value et liés à la date.
|
metrics.sk_ad_network_total_conversions |
Nombre total de conversions, y compris les installations et d'autres types de conversions signalés par Apple. Cette métrique ne peut être segmentée qu'en fonction de segments liés à SKAdNetwork et de segments liés aux dates. |
segments.sk_ad_network_ad_event_type |
Type d'événement ayant eu lieu pour une conversion spécifique. |
segments.sk_ad_network_attribution_credit |
Méthode d'attribution du crédit pour une conversion spécifique. |
segments.sk_ad_network_fine_conversion_value |
Valeur d'une conversion enregistrée par Apple. Ce segment ne peut pas être appliqué à d'autres métriques que Une valeur |
segments.sk_ad_network_coarse_conversion_value |
Valeur approximative d'une conversion individuelle. |
segments.sk_ad_network_postback_sequence_index |
Position du postback, dans la séquence, pour une conversion spécifique. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
ID de l'application où a été diffusée l'annonce ayant généré l'installation d'iOS Store Kit via un réseau publicitaire. |
segments.sk_ad_network_source_domain |
Site Web sur lequel l'annonce ayant généré l'installation d'iOS SKAdNetwork a été diffusée. Une valeur nulle signifie que ce segment n'est pas applicable (par exemple, une campagne non iOS) ou qu'il n'était pas présent dans les postbacks envoyés par Apple. |
segments.sk_ad_network_source_type |
Type de source dans laquelle a été diffusée l'annonce ayant généré l'installation d'iOS SKAdNetwork. Une valeur nulle signifie que ce segment n'est pas applicable (par exemple, une campagne non iOS) ou qu'aucun domaine source ni aucune application source n'était présent dans les postbacks envoyés par Apple. |
segments.sk_ad_network_user_type |
Type d'utilisateur ayant généré une conversion particulière. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Les valeurs de conversion de ce segment incluent les valeurs nulles qui ont été redistribuées dans les valeurs de conversion. Ce segment représente la somme des valeurs de conversion observées renvoyées par Apple et des valeurs nulles modélisées de Google. |
segments.sk_ad_network_version |
Version de l'API iOS Store Kit Ad Network utilisée. |
Vous pouvez également enregistrer un mappage de valeur de conversion SKAdNetwork pour des clients associés spécifiques avec 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="v18" ) 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 et le nom de l'événement de la propriété GA4 à partir du champ
google_analytics_4_settings
.Conversion dans une 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
deHIDDEN
àENABLED
. - Modifiez les champs
primary_for_goal
etcategory
pour indiquer l'impact qu'il doit avoir sur les enchères et les rapports Google Ads. - Mettez à jour son
name
ou sonvalue_settings
. - Supprimez la conversion de votre compte Google Ads à l'aide d'une opération
remove
.
Toute tentative de modification d'autres attributs d'une conversion GA4 importée ou de quelconque attribut d'une conversion Universal Analytics importée entraîne une erreur MUTATE_NOT_ALLOWED
. Vous ne pouvez effectuer ces modifications que dans l'interface utilisateur de Google Ads.
Firebase et solution d'analyse d'applications tierce
Pour importer des données d'analyse d'applications tierces ou des conversions Firebase, remplacez HIDDEN
par ENABLED
dans status
de ConversionAction
à l'aide de la méthode mutate
de ConversionActionService
. La mise à jour de app_id
n'est pas prise en charge pour 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
Ventes en magasin : importer dans une action de conversion avec création de rapports
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, celle-ci permet d'importer des transactions de ventes en magasin.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Types d'actions de conversion en lecture seule
Les types d'actions de conversion suivants sont en lecture seule dans l'API Google Ads et sont fournis à des fins de reporting.
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 UNKNOWN
.
L'API ne permet pas de gérer ces actions de conversion, mais les renvoie dans des 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 explique comment créer une action de conversion. Plus précisément, il 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 pour la création d'une action de conversion via Importer > Importation manuelle à l'aide de l'API ou Importations > Suivre les conversions après un clic. Elle 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 le reporting et les enchères dans votre compte lorsqu'elle est associée à vos objectifs de conversion.L'API Google Ads définit automatiquement
counting_type
surMANY_PER_CLICK
. Pour en savoir plus, consultez À propos des options de comptabilisation des conversions.Pour l'API Google Ads, le modèle d'attribution est basé sur les données en définissant le champ
attribution_model_settings
sur la valeurGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
deAttributionModel
.
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.V18.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::V18::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V18::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V18::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 trouverez également cet exemple dans le dossier "Remarketing" de votre bibliothèque cliente et dans la collection d'exemples de code : Exemple de code d'ajout d'action de conversion.
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 de l'type
de l'action.
L'erreur de loin la plus courante lors de la création d'une action de conversion est DUPLICATE_NAME
.
Assurez-vous d'attribuer un nom unique à 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 enum sur
UNKNOWN
, une erreurRequestError.INVALID_ENUM_VALUE
s'affiche. 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 valeur sur une option obsolète, une erreur
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
s'affiche. Google Ads n'est compatible qu'avecGOOGLE_ADS_LAST_CLICK
etGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
. click_through_lookback_window_days
Définir cet attribut sur une valeur en dehors de la plage autorisée génère une erreur
RangeError.TOO_LOW
ouRangeError.TOO_HIGH
.Cet attribut doit être compris dans la plage
[1,60]
pour une action de conversionAD_CALL
ouWEBSITE_CALL
. Pour la plupart des autres actions de conversion, la plage autorisée est[1,30]
.include_in_conversions_metric
Définir cette valeur dans une opération
create
ouupdate
échoue avec une erreurFieldError.IMMUTABLE_FIELD
. Définissez plutôtprimary_for_goal
comme décrit dans le guide des 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 avec
type
égal àUNKNOWN
, une erreurMutateError.MUTATE_NOT_ALLOWED
est générée.value_settings
La valeur
always_use_default_value
de l'value_settings
d'une action de conversionWEBSITE_CALL
ouAD_CALL
doit être définie surtrue
. La spécification d'une valeurfalse
lors de la création ou de la mise à jour de cette valeur génère une erreurINVALID_VALUE
.view_through_lookback_window_days
La définition de cet attribut sur une valeur en dehors de la plage autorisée génère une erreur
RangeError.TOO_LOW
ouRangeError.TOO_HIGH
. Pour la plupart des actions de conversion, la plage autorisée est de[1,30]
.Cet attribut ne peut pas être défini sur les actions de conversion
AD_CALL
ouWEBSITE_CALL
. Spécifier une valeur génère une erreurVALUE_MUST_BE_UNSET
.