En esta guía, se proporciona una lista de los diferentes tipos de acciones de conversión que puedes crear con la API de Google Ads, información sobre cómo se relacionan con la Web y un ejemplo de código detallado que demuestra cómo crear acciones de conversión nuevas.
Para medir las conversiones, configura un ConversionAction
para el type
de la acción de conversión a la que deseas realizar un seguimiento. Por ejemplo, una compra en línea y una llamada telefónica requieren acciones de conversión diferentes.
La mejor manera de configurar nuevas acciones de conversión en la API es usar la
Agregue un ejemplo de código de acción de conversión a continuación. Los controladores de muestra
todas las tareas de autenticación en segundo plano y se explica cómo crear
un objeto ConversionAction
.
La mayoría de las acciones de conversión también requieren pasos adicionales de su parte para hacerles un seguimiento de ellos. Por ejemplo, para hacer un seguimiento de las conversiones en tu sitio web, debes agregar un código fragmento llamado etiqueta a la página de conversión de tu sitio web. Para conocer otros requisitos de las acciones de conversión, consulta nuestro artículo del Centro de ayuda.
Conversiones en el sitio web
Una conversión en el sitio web te permite hacer un seguimiento de las acciones en el sitio web, como las ventas en línea, los clics en vínculos, las vistas de página y los registros.
Para realizar un seguimiento de las conversiones en tu sitio web, debes crear un
ConversionAction
con el
ConversionActionType
establecerse en WEBPAGE
y agregar un fragmento de código llamado etiqueta a la conversión
de tu sitio web.
La ConversionAction
abarca varias
tipos de conversiones en el sitio web, que se distinguen dentro de la API por el
type
campo en cada uno
TagSnippet
se enumeran en
El campo tag_snippets de un
ConversionAction
Un TagSnippet
proporciona el código de seguimiento que se debe incluir en tu sitio web para hacer un seguimiento de tus acciones de conversión.
Las conversiones de sitio web y de clic en el número de teléfono requieren el elemento event_snippet
, que se debe colocar en las páginas web que indican una acción de conversión, como una página de confirmación de confirmación de la compra o de envío de formulario de clientes potenciales, y global_site_tag
, que se debe instalar en todas las páginas de tu sitio web. Puedes recuperar ambos atributos con ConversionActionService
. Finalizar la compra
nuestro Centro de ayuda para obtener más información
información sobre cómo etiquetar tus páginas.
En la siguiente tabla, se muestran los parámetros de API equivalentes que se deben usar para cada uno Fuente en la interfaz web de Google Ads:
Tipo de código de seguimiento | Fuente de Google Ads |
---|---|
WEBPAGE |
Sitio web, sitio web (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
Sitio web, sitio web (Google Analytics (GA4)) |
CLICK_TO_CALL |
Clics en el número telefónico |
--- |
Sitio web (Google Analytics [UA]) |
Conversiones de aplicaciones
Una conversión de aplicación le permite realizar un seguimiento de las instalaciones de aplicaciones para dispositivos móviles o las compras directas desde la aplicación desde Google Play Store.
En la siguiente tabla, se muestran los equivalentes
ConversionActionType
Parámetros de API que se utilizan para cada Fuente en la interfaz web de Google Ads:
Tipo de acción de conversión | Fuente de Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Instalaciones |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > Compras directas desde la aplicación |
Si deseas hacer un seguimiento de otras acciones de aplicaciones para dispositivos móviles con propiedades de Google Analytics 4 o estadísticas de aplicaciones de terceros. Consulta Tipos de acción de conversión adicionales.
Conversiones de llamadas telefónicas
Seguimiento de conversiones de llamadas telefónicas le permite realizar un seguimiento de las llamadas desde anuncios, las llamadas a un número que aparece en su sitio web y los clics en números en sitios móviles.
En la siguiente tabla, se muestran los equivalentes
ConversionActionType
Parámetros de API que se utilizan para cada Fuente en la interfaz web de Google Ads:
Tipo de acción de conversión | Fuente de Google Ads |
---|---|
AD_CALL |
Llamadas desde anuncios que utilizan extensiones de llamada o anuncios solo de llamada |
WEBSITE_CALL |
Llamadas a un número de teléfono de su sitio web |
CLICK_TO_CALL |
Clics en un número de su sitio web para celulares |
El tipo CLICK_TO_CALL
se diferencia del tipo AD_CALL
en que
no realizar un seguimiento de las llamadas telefónicas reales. En cambio, CLICK_TO_CALL
solo realiza un seguimiento de los clics en una
número de teléfono desde un dispositivo móvil. Esto es útil cuando no puedes usar un
Es un número de transferencia de llamadas de Google para hacer un seguimiento de las llamadas telefónicas.
AD_CALL
Los
AD_CALL
acción de conversión aparece como un mensaje Llamadas desde
de Google Ads en la cuenta de Google Ads
interfaz web. Después de crear tu acción de conversión AD_CALL
, especifica su
nombre del recurso en el campo call_conversion_action
cuando creas una
CallAsset
Llamada
recursos te permiten mostrar
directamente en tus anuncios.
Una llamada se registra como una conversión si dura más que una duración especificada. El valor predeterminado es 60 segundos.
WEBSITE_CALL
R
WEBSITE_CALL
acción de conversión aparece como una Llamadas desde un
conversión en el sitio web
Interfaz web de Google Ads.
A diferencia de AD_CALL
, este servicio de seguimiento requiere que se agreguen event_snippet
y global_site_tag
a tu sitio web para recuperar el número de transferencia de llamadas dinámico de Google para el seguimiento de llamadas en los números que aparecen en tu sitio web. Además, debes configurar una llamada
recurso y vincularlo en la
a nivel del cliente, la campaña o el grupo de anuncios.
Importe conversiones sin conexión
En la siguiente tabla, se muestran los equivalentes
ConversionActionType
Parámetros de API que se usarán para cada fuente en la interfaz web de Google Ads
y un vínculo a la documentación para cada tipo de acción de conversión específico:
Tipo de acción de conversión | Fuente de Google Ads | Guía de configuración de la API |
---|---|---|
UPLOAD_CLICKS |
Realizar un seguimiento de las conversiones generadas a partir de clics y conversiones avanzadas de clientes potenciales | Guía para subir clics
Guía de conversiones avanzadas de clientes potenciales |
UPLOAD_CALLS |
Hacer un seguimiento de las conversiones generadas a partir de llamadas | Guía de configuración de la API |
STORE_SALES |
Haz un seguimiento de las conversiones de ventas en la tienda | Configuración de la API Guía |
Conversiones avanzadas de sitios web
Las conversiones avanzadas de sitios web te permiten enviar datos de conversiones de origen para las acciones de conversión WEBPAGE
en un plazo de 24 horas después de un evento de conversión, en lugar de hacerlo al mismo tiempo. Esto permite localizar
datos de origen de diversas fuentes, como una base de datos de clientes o CRM
en un sistema de archivos.
Tipos de acciones de conversión adicionales
La API de Google Ads ofrece otros tipos de acciones de conversión en los informes pero puede limitar o prohibir la creación o modificación de dichas acciones.
Conversiones SKAdNetwork
Si publicas campañas de aplicaciones para iOS y ya implementaste SKAdNetwork, puedes acceder a los datos de SKAdNetwork que se proporcionan a Google en los niveles Customer
y Campaign
con los siguientes recursos:
Campo del informe | Descripción |
---|---|
metrics.sk_ad_network_installs |
Es la cantidad de instalaciones que informa Apple. Esta métrica solo se puede segmentar
por cualquier combinación de segments.sk_ad_network_conversion_value y
o segmentos relacionados con la fecha.
|
metrics.sk_ad_network_total_conversions |
Cantidad total de conversiones, incluidas las instalaciones y otros tipos de las conversiones registradas por Apple. Esta métrica solo se puede segmentar por segmentos relacionados con SKAdNetwork y segmentos relacionados con la fecha. |
segments.sk_ad_network_ad_event_type |
Indica el tipo de evento que ocurrió para una conversión en particular. |
segments.sk_ad_network_attribution_credit |
Cómo se atribuye la atribución a una conversión específica |
segments.sk_ad_network_fine_conversion_value |
El valor de una conversión que informa Apple. No se puede aplicar este segmento
a cualquier métrica que no sea Se muestra un valor de |
segments.sk_ad_network_coarse_conversion_value |
Es el valor general de una conversión individual. |
segments.sk_ad_network_postback_sequence_index |
Es la posición de la notificación de conversión, en secuencia, para una conversión en particular. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
Es el ID de la aplicación donde se muestra el anuncio que generó la instalación de la red de publicidad de Store Kit de iOS. que se muestra. |
segments.sk_ad_network_source_domain |
Es el sitio web en el que se mostró el anuncio que generó la instalación de la red de publicidad de StoreKit de iOS. Un valor nulo significa que este segmento no es aplicable. Por ejemplo, en una campaña que no sea de iOS o que no haya estado presente en ninguna notificación de conversión enviada por Apple. |
segments.sk_ad_network_source_type |
El tipo de fuente en la que se mostró el anuncio que generó la instalación de la red de publicidad de StoreKit de iOS Un valor nulo significa que este segmento no es aplicable. Por ejemplo, campaña diferente a iOS, o bien no se incluyeron el dominio de origen ni la aplicación fuente en todas las notificaciones de conversión que envía Apple. |
segments.sk_ad_network_user_type |
Es el tipo de usuario que generó una conversión en particular. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Los valores de conversión en este segmento incluyen valores nulos que fueron redistribuidos a los valores de conversión. Este segmento representa la suma de valores de conversión precisos que muestra Apple y valores nulos modelados de Google. |
segments.sk_ad_network_version |
Es la versión de la API de red de publicidad de Store Kit de iOS que se usó. |
También puedes guardar una asignación de valor de conversión de SKAdNetwork para
clientes con apps para iOS a través de CustomerSkAdNetworkConversionValueSchema
.
Código de Python de muestra
#!/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="v17" ) 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
Las conversiones de una propiedad de Google Analytics vinculada tienen uno de los siguientes valores
Valores type
:
Conversión de una propiedad GA4:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
También puedes recuperar el ID de propiedad GA4, el nombre de la propiedad y el nombre del evento de el
google_analytics_4_settings
.Conversión de propiedad Universal Analytics:
UNIVERSAL_ANALYTICS_GOAL
UNIVERSAL_ANALYTICS_TRANSACTION
Puedes realizar los siguientes cambios en la conversión de una propiedad GA4:
- Para importar la conversión de tu propiedad GA4 a tu cuenta de Google Ads, modifica su campo
status
deHIDDEN
aENABLED
. - Modifica sus campos
primary_for_goal
ycategory
para indicar cómo debería impactan en las ofertas y los informes de Google Ads. - Actualiza su
name
ovalue_settings
. - Quita la conversión de tu cuenta de Google Ads mediante una operación
remove
.
Cualquier intento de modificar otros atributos de una conversión de GA4 importada o cualquier atributo de una conversión de Universal Analytics importada generará un error MUTATE_NOT_ALLOWED
. Solo puedes realizar esos cambios con la IU de Google Ads.
Firebase y estadísticas de aplicaciones de terceros
Para importar
estadísticas de aplicaciones de terceros
o conversiones de Firebase,
cambiar la status
de la
ConversionAction
de HIDDEN
a ENABLED
con el método mutate
de
ConversionActionService
. Actualiza el
app_id
no es compatible con estos elementos
acciones de conversión.
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
Ventas en la tienda: Carga a la acción de conversión con informes
Aunque no puedes crear STORE_SALES
ni STORE_SALES_DIRECT_UPLOAD
acciones de conversión con la API de Google Ads, la API no admite la carga de datos de tiendas
transacciones de venta minorista.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Tipos de acciones de conversión de solo lectura
Los siguientes tipos de acciones de conversión son de solo lectura en la API de Google Ads y se proporcionan con fines de generación de informes.
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
Desconocido
Si tu cuenta de Google Ads incluye otros tipos de acciones de conversión, es posible que encuentres
que las consultas y los informes muestren acciones de conversión en las que el
ConversionAction.type
es UNKNOWN
.
La API no admite la administración de estas acciones de conversión, pero las muestra en los informes para proporcionar resultados completos de las métricas de conversión clave, como metrics.conversions
y metrics.conversions_value
.
Ejemplo de código
En el siguiente ejemplo de código, se explica el proceso de creación de una nueva
acción de conversión. Específicamente, crea una acción de conversión con el parámetro
type
se estableció en
UPLOAD_CLICKS
Este es el mismo flujo de la IU de Google Ads que se utiliza para crear una nueva acción de conversión usando
Importar > Importación manual mediante cargas o la API > Hacer un seguimiento de las conversiones de
clics. También establece el category
.
para DEFAULT
.
Se aplica la siguiente configuración predeterminada:
La API de Google Ads establece el campo
primary_for_goal
automáticamente, pero puedes configurarlo 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 los
counting_type
automáticamente paraMANY_PER_CLICK
. Consulta el artículo Acerca de las opciones de registro de conversiones para obtener más información.La API de Google Ads establece el modelo de atribución en Datos controlados estableciendo la
attribution_model_settings
al campo ValorGOOGLE_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.V17.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}".' )
Rita
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::V17::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V17::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V17::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; }
Este ejemplo también se encuentra en la carpeta Remarketing de su biblioteca cliente. y en la colección de ejemplos de código: Agregue el código de 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 la acción.
Sin duda, el error más común al crear una acción de conversión es el siguiente:
DUPLICATE_NAME
Asegúrate de utilizar un nombre único para cada acción de conversión.
A continuación, se incluyen algunas sugerencias para configurar los campos ConversionAction
:
- Todos los campos de enumeración
- Si intentas establecer un campo de enum como
UNKNOWN
, se generará el siguiente error: ErrorRequestError.INVALID_ENUM_VALUE
. app_id
- El atributo
app_id
es inmutable y solo se puede configurar cuando se crea un nuevo elemento. conversión de aplicación. attribution_model_settings
- Configurar esto como obsoleto
opción
da como resultado una
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
. Google Ads solo admiteGOOGLE_ADS_LAST_CLICK
yGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
click_through_lookback_window_days
Establecer este atributo en un valor fuera del rango permitido genera una Errores
RangeError.TOO_LOW
oRangeError.TOO_HIGH
.Este atributo debe estar en el rango
[1,60]
de unAD_CALL
oWEBSITE_CALL
acción de conversión. Para la mayoría de las demás acciones de conversión, el el rango permitido es[1,30]
.include_in_conversions_metric
La configuración de este valor en una operación
create
oupdate
falla con un ErrorFieldError.IMMUTABLE_FIELD
. En cambio, estableceprimary_for_goal
como que se describe en la guía de objetivos de conversión.phone_call_duration_seconds
Intentar establecer este atributo en una acción de conversión que no es para llamadas da como resultado un error
FieldError.VALUE_MUST_BE_UNSET
.type
El atributo
type
es inmutable y solo se puede establecer cuando se crea una conversión nueva.Si actualizas una acción de conversión con
type
igual aUNKNOWN
, se genera un errorMutateError.MUTATE_NOT_ALLOWED
.value_settings
El
value_settings
de una acción de conversiónWEBSITE_CALL
oAD_CALL
debe teneralways_use_default_value
configurado comotrue
. Si especificas un valor defalse
cuando creas o actualizas este valor, se produce un errorINVALID_VALUE
.view_through_lookback_window_days
Establecer este atributo en un valor fuera del rango permitido genera una Errores
RangeError.TOO_LOW
oRangeError.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 la conversión
AD_CALL
niWEBSITE_CALL
acciones. La especificación de un valor da como resultado un errorVALUE_MUST_BE_UNSET
.