Debes habilitar el seguimiento de conversiones en tu cuenta de conversiones de Google Ads para registrar conversiones. En esta guía, se proporcionan detalles para confirmar si el seguimiento de conversiones está habilitado, habilitarlo si aún no lo está y recuperar información sobre las acciones de conversión existentes.
La mayoría de las acciones de conversión también requieren pasos adicionales de tu parte para realizarles un seguimiento. Para obtener más información sobre los distintos tipos de acciones de conversión y sus requisitos, consulta la guía Crea acciones de conversión.
Prepárate para otorgar el consentimiento
Es fundamental que confirmes que tienes permiso para compartir datos de conversiones con Google. Estas son las dos formas de hacerlo:
- Configura los parámetros de configuración de consentimiento predeterminados a nivel de la cuenta. En la IU de Google Ads, haz clic en Herramientas -> Administrador de datos -> Parámetros de configuración de consentimiento -> Parámetros de configuración de consentimiento predeterminados.
- Establece el campo ClickConversion.consent en cada conversión importada.
Configura tu sitio web para hacer un seguimiento de las conversiones
Si estás comenzando la integración de la importación de conversiones sin conexión, el primer paso es seguir los pasos de la guía Configura la etiqueta de Google para las conversiones avanzadas de clientes potenciales para configurar tu sitio web de modo que realice un seguimiento de las conversiones avanzadas de clientes potenciales. También puedes usar Google Tag Manager para configurar tu sitio web. Para ello, sigue los pasos de la guía Configura Google Tag Manager para las conversiones avanzadas de clientes potenciales.
Habilita el seguimiento de conversiones en tu cuenta de conversiones de Google Ads
Recupera información sobre tu configuración del seguimiento de conversiones
Para verificar la configuración del seguimiento de conversiones de tu cuenta y confirmar que está habilitado, consulta el Customer recurso
para obtener el ConversionTrackingSetting.
Ejecuta la siguiente consulta con
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
El campo google_ads_conversion_customer indica la cuenta de Google Ads que crea y administra las conversiones de este cliente. Para los clientes que utilizan
el seguimiento de conversiones de múltiples cuentas,
este es el ID de una cuenta de administrador. El ID de cliente de conversiones de Google Ads debe proporcionarse como customer_id en las solicitudes de la API de Google Ads para crear y administrar conversiones.
Ten en cuenta que este campo se propaga incluso si el seguimiento de conversiones no está habilitado.
El
conversion_tracking_status
campo indica si el seguimiento de conversiones está habilitado y si la cuenta
utiliza el seguimiento de conversiones de múltiples cuentas.
Crea una acción de conversión en el cliente de conversiones de Google Ads
Si el valor de conversion_tracking_status es NOT_CONVERSION_TRACKED, el seguimiento de conversiones no está habilitado para la cuenta. Para habilitar el seguimiento de conversiones
crea al menos una ConversionAction en
la cuenta de conversiones de Google Ads, como en el siguiente ejemplo. Como alternativa, puedes crear una acción de conversión en la IU. Para ello, sigue las instrucciones del
Centro de ayuda para el tipo de conversión que deseas habilitar.
Ten en cuenta que las conversiones avanzadas se habilitan automáticamente cuando se envían a través de la API de Google Ads, pero se pueden inhabilitar a través de la IU de Google Ads.
Ejemplo de código
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.V23.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::V24::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V24::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V24::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
Asegúrate de que el conversion_action_type esté establecido en el valor correcto
ConversionActionType.
Para obtener más orientación sobre cómo crear acciones de conversión en la API de Google Ads, consulta Crea acciones de conversión.
Recupera una acción de conversión existente
Para recuperar detalles de una acción de conversión existente, ejecuta la siguiente consulta. Asegúrate de que el ID de cliente de la solicitud esté establecido en el cliente de conversiones de Google Ads
que identificaste anteriormente y que el tipo de acción de conversión esté establecido
en el valor
ConversionActionType
correcto.
SELECT
conversion_action.resource_name,
conversion_action.name,
conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'
Seguimiento de conversiones de múltiples cuentas
Si utilizas el seguimiento de conversiones de múltiples cuentas, el
ConversionActionService muestra las
siguientes acciones de conversión:
- Todas las acciones de conversión definidas por la cuenta de administrador que utiliza la cuenta para el seguimiento de conversiones de múltiples cuentas
- Todas las acciones de conversión en las que el cliente acumuló estadísticas, incluidas las acciones definidas por el sistema y las acciones que pertenecen a la cuenta de administrador, incluso si esta última desvincula posteriormente
- Todas las acciones que el cliente definió en su propia cuenta
- Las conversiones de Analytics creadas en propiedades de Google Analytics vinculadas.
Esto incluye acciones para las conversiones de Analytics que no se importaron a Google Ads,
que tienen un estado de
HIDDEN.
Puedes usar la API de Google Ads para habilitar el seguimiento de conversiones de múltiples cuentas cuando creas cuentas de cliente.
Cuando crees un Customer nuevo, establece el
conversion_tracking_setting.google_ads_conversion_customer
en el
nombre del recurso de la cuenta de administrador
que debe administrar las acciones de conversión en nombre de la cuenta de cliente.
Esta cuenta de administrador también debe ser la cuenta que emite la solicitud create para la nueva cuenta de cliente.
A partir de la versión v20, puedes usar la
API de Google Ads para habilitar el seguimiento de conversiones de múltiples cuentas cuando creas y actualizas
cuentas de cliente.
Cuando actualices una cuenta de cliente existente, puedes habilitar el seguimiento de conversiones de múltiples cuentas
si estableces el
conversion_tracking_setting.google_ads_conversion_customer
campo. Este campo debe establecerse en el
nombre del recurso de la cuenta de administrador
que debe administrar las acciones de conversión en nombre de la cuenta de cliente.
Esta cuenta de administrador también debe ser la cuenta que emite la solicitud update para la cuenta de cliente.
NOTA: El uso de la API de Google Ads para modificar la configuración del seguimiento de conversiones de múltiples cuentas de una cuenta de cliente es una función que solo está disponible en la lista de entidades permitidas. Para usarla, comunícate con tu administrador de cuentas.
Cuando habilitas el seguimiento de conversiones de múltiples cuentas o cambias el administrador del seguimiento de conversiones de una cuenta de cliente existente, se aplican las mismas advertencias que si realizaras este cambio en la IU. Específicamente, son las siguientes:
- La cuenta de cliente adoptará las reglas de valor de conversión predeterminadas y los objetivos de ciclo de vida del cliente predeterminados de su nuevo administrador del seguimiento de conversiones.
- Las campañas segmentadas para una acción de conversión específica comenzarán a utilizar los objetivos de conversión predeterminados de la cuenta de administrador de conversiones. Si continúas segmentando las campañas para una acción de conversión específica, se puede generar un comportamiento incoherente, ya que es posible que la cuenta de administrador no tenga los mismos objetivos que la cuenta de cliente. Asegúrate de que tus campañas estén optimizadas para los objetivos correctos.
- Además, si una cuenta pertenece a más de una cuenta de administrador, solo puede usar acciones de conversión de un administrador. Si no se especifica ninguna cuenta de seguimiento de conversiones, la cuenta se utilizará como cuenta de seguimiento de conversiones de forma predeterminada.
Crea acciones de conversión
Para medir las conversiones, configura un
ConversionAction para el
type de
acción de conversión del que deseas realizar un seguimiento. Por ejemplo, una compra en línea y una llamada telefónica requieren diferentes acciones de conversión.
La mejor manera de configurar acciones de conversión nuevas en la API es usar el
ejemplo de código Agregar acción de conversión que se muestra a continuación. La muestra controla
todas las tareas de autenticación en segundo plano por ti y te guía para crear
un ConversionAction.
La mayoría de las acciones de conversión también requieren pasos adicionales de tu parte para realizarles un seguimiento. Por ejemplo, para hacer un seguimiento de las conversiones en tu sitio web, debes agregar un fragmento de código llamado etiquetaa la página de conversión de tu sitio web. Para conocer los requisitos detallados de otros tipos de acciones de conversión, consulta nuestro artículo del Centro de ayuda.
Ejemplo de código
En el siguiente ejemplo de código, se te guía por el proceso de creación de una nueva acción de conversión. En particular, se crea una acción de conversión con el
type establecido en
UPLOAD_CLICKS.
También se establece category
en DEFAULT.
Se aplican los siguientes parámetros de configuración predeterminados:
La API de Google Ads establece el
primary_for_goalcampo automáticamente, pero puedes establecerlo de forma explícita para controlar cómo una acción de conversión afecta los informes y las ofertas de tu cuenta cuando se combina con tus objetivos de conversión.La API de Google Ads establece el
counting_typeautomáticamente enMANY_PER_CLICKConsulta Acerca de las opciones de registro de conversiones para obtener más detalles.La API de Google Ads establece el modelo de atribución como basado en datos. Para ello, establece el
attribution_model_settingscampo en elGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVENvalor deAttributionModel. Consulta este artículo del Centro de ayuda para obtener más información sobre los modelos de atribución.
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.V23.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::V24::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V24::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V24::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
Puedes ver este ejemplo en la carpeta Remarketing de tu biblioteca cliente y en la colección de ejemplos de código: Ejemplo de código Agregar acción de conversión ejemplo.
Validaciones
Google Ads y la API de Google Ads admiten una amplia variedad de acciones de conversión, por lo que algunas
reglas de validación varían según el type
de acción.
El error más común cuando se crea una acción de conversión es
DUPLICATE_NAME.
Asegúrate de usar un nombre único para cada acción de conversión.
A continuación, se incluyen algunas sugerencias para establecer los campos ConversionAction:
- Todos los campos de enumeración
- Si intentas establecer cualquier campo de enumeración en
UNKNOWN, se genera un errorRequestError.INVALID_ENUM_VALUE. app_id- El atributo
app_ides inmutable y solo se puede establecer cuando se crea una conversión de aplicación nueva. attribution_model_settings- Si lo estableces en una opción obsoleta
, se genera un error
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS. Google Ads solo admiteGOOGLE_ADS_LAST_CLICKyGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN. click_through_lookback_window_daysSi estableces este atributo en un valor fuera del rango permitido, se genera un error
RangeError.TOO_LOWoRangeError.TOO_HIGH.Este atributo debe estar en el rango
[1,60]para una acción de conversiónAD_CALLoWEBSITE_CALL. Para la mayoría de las otras acciones de conversión, el rango permitido es[1,30].include_in_conversions_metricSi estableces este valor en una operación
createoupdate, se produce un errorFieldError.IMMUTABLE_FIELD. En su lugar, estableceprimary_for_goalcomo se describe en la guía Objetivos de conversión.phone_call_duration_secondsSi intentas establecer este atributo en una acción de conversión que no es para llamadas, se genera un error
FieldError.VALUE_MUST_BE_UNSET.typeEl atributo
typees inmutable y solo se puede establecer cuando se crea una conversión nueva.Si actualizas una acción de conversión con
typeigual aUNKNOWN, se genera un errorMutateError.MUTATE_NOT_ALLOWED.value_settingsEl
value_settingspara una acción de conversiónWEBSITE_CALLoAD_CALLdebe teneralways_use_default_valueestablecido entrue. Si especificas un valor defalsecuando creas o actualizas este valor, se genera un errorINVALID_VALUE.view_through_lookback_window_daysSi estableces este atributo en un valor fuera del rango permitido, se genera un error
RangeError.TOO_LOWoRangeError.TOO_HIGH. Para la mayoría de las acciones de conversión, el rango permitido es[1,30].Este atributo no se puede establecer en acciones de conversión
AD_CALLoWEBSITE_CALL. Si especificas un valor, se genera un errorVALUE_MUST_BE_UNSET.