Cree acciones de conversión

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 una ConversionAction para type de acción de conversión de la que quieres hacer un seguimiento. Por ejemplo, una compra en línea y un teléfono 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 otras acciones de conversión de seguridad, consulta nuestra artículo del Centro de ayuda.

Conversiones en el sitio web

Una conversión en el sitio web le 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 objeto TagSnippet proporciona el código de seguimiento que debe en tu sitio web para hacer un seguimiento de tus acciones de conversión. Las conversiones de sitio web y clic en el número de teléfono requieren la event_snippet, que debe colocarse en páginas web que indiquen una acción de conversión, como una página de confirmación de la compra o de envío de formulario de clientes potenciales global_site_tag, que se debe instalar en todas las páginas de tu sitio web. Puedes recuperar ambos estos atributos con el 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 Google Analytics 4 propiedades 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.

Desmarcar “Me gusta” AD_CALL, este monitor requiere event_snippet y global_site_tag se agregarán a Su sitio web para recuperar el número dinámico de transferencia de llamadas 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
Mejorada Guía sobre las conversiones 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

Conversiones avanzadas para web te permiten enviar datos de conversiones propios para WEBPAGE acciones de conversión en las 24 horas posteriores al 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 tipos adicionales 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 que han implementado SKAdNetwork, puedes acceder Datos de SKAdNetwork proporcionados a Google a nivel de Customer y Campaign con los siguientes recursos:

Campo del informe Descripción
metrics.sk_ad_network_installs 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 fechas.
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 metrics.sk_ad_network_installs, metrics.sk_ad_network_total_conversions y solo se pueden combinar con segmentos relacionados con fechas.

Se muestra un valor de 0 si Apple informa un valor de 0 y ningún valor. Consulta el la presencia de campo para distinguir entre ambos casos.

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 específica.
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 El sitio web donde se publicó el anuncio que generó la instalación de la red de publicidad de Store Kit de iOS que se muestra. 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 Es el tipo de fuente donde el anuncio que generó la instalación de la red de publicidad de Store Kit 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 Indica el tipo de usuario que generó una conversión específica.
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 una propiedad Universal Analytics:

    • UNIVERSAL_ANALYTICS_GOAL
    • UNIVERSAL_ANALYTICS_TRANSACTION

Puedes realizar los siguientes cambios en la conversión de una propiedad GA4:

  • Importa la conversión de tu propiedad GA4 a tu cuenta de Google Ads. Para ello, haz lo siguiente: modificando su campo status de HIDDEN a ENABLED.
  • Modifica sus campos primary_for_goal y category para indicar cómo debería impactan en las ofertas y los informes de Google Ads.
  • Actualiza su name o value_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 atributos de una conversión importada de Universal Analytics genera 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

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

Varios

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 para brindar resultados completos de 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:

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 las reglas de validación varían según el type de 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: Error RequestError.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 admite GOOGLE_ADS_LAST_CLICK y GOOGLE_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 o RangeError.TOO_HIGH.

Este atributo debe encontrarse en el rango [1,60] de un AD_CALL o WEBSITE_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 o update falla con un Error FieldError.IMMUTABLE_FIELD. En cambio, establece primary_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 configurar cuando se crea un nuevo elemento. conversión.

Actualizando una acción de conversión con type igual a UNKNOWN da como resultado una Error de MutateError.MUTATE_NOT_ALLOWED.

value_settings

El value_settings para una acción de conversión WEBSITE_CALL o AD_CALL debe tienen always_use_default_value establecido en true. Especifica un valor de false cuando creas o actualizas este valor genera un error INVALID_VALUE.

view_through_lookback_window_days

Establecer este atributo en un valor fuera del rango permitido genera una Errores RangeError.TOO_LOW o RangeError.TOO_HIGH. Para la mayoría de las conversiones acciones, el rango permitido es [1,30].

Este atributo no se puede establecer en la conversión AD_CALL ni WEBSITE_CALL acciones. La especificación de un valor da como resultado un error VALUE_MUST_BE_UNSET.