Guida introduttiva

Per registrare le conversioni, devi attivare il monitoraggio delle conversioni nell'account conversioni Google Ads. Questa guida fornisce informazioni dettagliate su come verificare se il monitoraggio delle conversioni è attivato, come attivarlo se non è ancora attivo e come recuperare informazioni sulle azioni di conversione esistenti.

La maggior parte delle azioni di conversione richiede anche passaggi aggiuntivi da parte tua per il monitoraggio. Per ulteriori informazioni sui vari tipi di azioni di conversione e sui relativi requisiti, consulta la guida alla creazione delle azioni di conversione.

Configurare il sito web per monitorare le conversioni

Se stai iniziando l'integrazione dell'importazione delle conversioni offline, il primo passaggio è seguire i passaggi della guida Configurare il tag Google per le conversioni avanzate per i lead per configurare il tuo sito web in modo da monitorare le conversioni avanzate per i lead. Puoi anche utilizzare Google Tag Manager per configurare il tuo sito web seguendo i passaggi descritti nella guida Configurare Google Tag Manager per le conversioni avanzate per i lead.

Attivare il monitoraggio delle conversioni nell'account conversioni Google Ads

Recuperare informazioni sulla configurazione del monitoraggio delle conversioni

Puoi controllare la configurazione del monitoraggio delle conversioni del tuo account e verificare che sia abilitato eseguendo una query sulla risorsa Customer per ConversionTrackingSetting. Esegui la seguente query 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

Il campo google_ads_conversion_customer indica l'account Google Ads che crea e gestisce le conversioni per questo cliente. Per i clienti che utilizzano il monitoraggio delle conversioni su più account, questo è l'ID di un account amministratore. L'ID cliente conversione Google Ads deve essere fornito come customer_id nelle richieste dell'API Google Ads per creare e gestire le conversioni. Tieni presente che questo campo viene compilato anche se il monitoraggio delle conversioni non è attivato.

Il campo conversion_tracking_status indica se il monitoraggio delle conversioni è attivato e se l'account utilizza il monitoraggio delle conversioni su più account.

Crea un'azione di conversione nel cliente di conversione Google Ads

Se il valore di conversion_tracking_status è NOT_CONVERSION_TRACKED, il monitoraggio delle conversioni non è attivo per l'account. Attiva il monitoraggio delle conversioni creando almeno un ConversionAction nell'account conversioni Google Ads, come nell'esempio seguente. In alternativa, puoi creare un'azione di conversione nell'UI seguendo le istruzioni riportate nel Centro assistenza per il tipo di conversione che vuoi attivare.

Tieni presente che le conversioni avanzate vengono attivate automaticamente quando vengono inviate tramite l'API Google Ads, ma possono essere disattivate tramite l'interfaccia utente di Google Ads.

Codice di esempio

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

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

Assicurati che conversion_action_type sia impostato sul valore ConversionActionType corretto. Per ulteriori indicazioni sulla creazione di azioni di conversione nell'API Google Ads, consulta Crea azioni di conversione.

Recuperare un'azione di conversione esistente

Puoi recuperare i dettagli di un'azione di conversione esistente eseguendo la query seguente. Assicurati che l'ID cliente nella richiesta sia impostato sul cliente di conversione Google Ads che hai identificato sopra e che il tipo di azione di conversione sia impostato sul valore ConversionActionType corretto.

SELECT
  conversion_action.resource_name,
  conversion_action.name,
  conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'

Monitoraggio delle conversioni su più account

Se utilizzi il monitoraggio delle conversioni su più account, ConversionActionService restituisce le seguenti azioni di conversione:

  • Tutte le azioni di conversione definite dall'account amministratore utilizzato dall'account per il monitoraggio delle conversioni su più account
  • Tutte le azioni di conversione per le quali il cliente ha accumulato statistiche, incluse le azioni definite dal sistema e le azioni di proprietà dell'amministratore anche se questo viene scollegato successivamente
  • Tutte le azioni definite dal cliente nel proprio account
  • Conversioni di Analytics create nelle proprietà Google Analytics collegate. Sono incluse le azioni per le conversioni di Analytics non importate in Google Ads, che hanno lo stato HIDDEN.

A partire dal giorno v19.1, puoi utilizzare l'API Google Ads per attivare il monitoraggio cross-conversion quando crei account cliente.

Quando crei un nuovo Customer, imposta conversion_tracking_setting.google_ads_conversion_customer sul nome risorsa dell'account amministratore che deve gestire le azioni di conversione per conto dell'account cliente. Questo account amministratore deve essere anche l'account che emette la richiesta create per il nuovo account cliente.

A partire dal giorno v20, puoi utilizzare l'API Google Ads per attivare il monitoraggio delle conversioni cross-account durante la creazione e l'aggiornamento degli account cliente.

Quando aggiorni un account cliente esistente, puoi attivare il monitoraggio delle conversioni su più account impostando il campo conversion_tracking_setting.google_ads_conversion_customer. Questo campo deve essere impostato sul nome risorsa dell'account amministratore che deve gestire le azioni di conversione per conto dell'account cliente. Questo account amministratore deve anche essere l'account che emette la richiesta update per l'account cliente.

Quando attivi il monitoraggio delle conversioni su più account o cambi l'amministratore del monitoraggio delle conversioni per un account cliente esistente, si applicano gli stessi avvisi che si applicano se apportassi questa modifica nell'interfaccia utente. In particolare:

  • L'account cliente adotterà le regole per i valori di conversione predefinite e gli obiettivi del ciclo di vita del cliente predefiniti del nuovo responsabile del monitoraggio delle conversioni.
  • Le campagne che hanno come target un'azione di conversione specifica passeranno all'utilizzo degli obiettivi di conversione predefiniti dell'account amministratore conversioni. Se continui a scegliere come target un'azione di conversione specifica, potresti riscontrare un comportamento incoerente, poiché l'account amministratore potrebbe non avere gli stessi obiettivi dell'account cliente. Assicurati che le campagne siano ottimizzate per gli obiettivi giusti.
  • Se un account appartiene a più di un account amministratore, può utilizzare solo le azioni di conversione provenienti da un unico amministratore. Se non viene specificato alcun account di monitoraggio delle conversioni, l'account utilizzerà se stesso come account di monitoraggio delle conversioni per impostazione predefinita.

Crea azioni di conversione

Per misurare le conversioni, configura un ConversionAction per il type dell'azione di conversione da monitorare. Ad esempio, un acquisto online e una telefonata richiedono azioni di conversione diverse.

Il modo migliore per configurare nuove azioni di conversione nell'API è utilizzare l'esempio di codice Aggiungi azione di conversione riportato di seguito. L'esempio gestisce tutte le attività di autenticazione in background per te e ti guida nella creazione di un ConversionAction.

La maggior parte delle azioni di conversione richiede anche passaggi aggiuntivi da parte tua per il monitoraggio. Ad esempio, per monitorare le conversioni sul tuo sito web, devi aggiungere uno snippet di codice chiamato tag alla pagina di conversione del tuo sito web. Per i requisiti dettagliati di altri tipi di azioni di conversione, consulta il nostro articolo del Centro assistenza.

Codice di esempio

Il seguente esempio di codice ti guida attraverso la procedura di creazione di una nuova azione di conversione. In particolare, crea un'azione di conversione con type impostato su UPLOAD_CLICKS. Imposta anche category su DEFAULT.

Si applicano le seguenti impostazioni predefinite:

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

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

Puoi vedere questo esempio nella cartella Remarketing della libreria client e nella raccolta di esempi di codice: Esempio di codice per l'aggiunta di un'azione di conversione.

Convalide

Google Ads e l'API Google Ads supportano un'ampia gamma di azioni di conversione, pertanto alcune regole di convalida variano in base al type dell'azione.

L'errore più comune durante la creazione di un'azione di conversione è DUPLICATE_NAME. Assicurati di utilizzare un nome univoco per ogni azione di conversione.

Ecco alcuni suggerimenti per impostare i campi ConversionAction:

Tutti i campi enum
Il tentativo di impostare un campo enum su UNKNOWN genera un errore RequestError.INVALID_ENUM_VALUE.
app_id
L'attributo app_id è immutabile e può essere impostato solo durante la creazione di una nuova conversione in-app.
attribution_model_settings
Se imposti questa opzione su un'opzione deprecata si verifica un errore CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS. Google Ads supporta solo GOOGLE_ADS_LAST_CLICK e GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN.
click_through_lookback_window_days

Se imposti questo attributo su un valore al di fuori dell'intervallo consentito, si verifica un errore RangeError.TOO_LOW o RangeError.TOO_HIGH.

Questo attributo deve rientrare nell'intervallo [1,60] per un'azione di conversione AD_CALL o WEBSITE_CALL. Per la maggior parte delle altre azioni di conversione, l'intervallo consentito è [1,30].

include_in_conversions_metric

L'impostazione di questo valore in un'operazione create o update non riesce e viene visualizzato un errore FieldError.IMMUTABLE_FIELD. Imposta invece primary_for_goal come descritto nella guida agli obiettivi di conversione.

phone_call_duration_seconds

Il tentativo di impostare questo attributo su un'azione di conversione che non riguarda le chiamate genera un errore FieldError.VALUE_MUST_BE_UNSET.

type

L'attributo type è immutabile e può essere impostato solo quando viene creata una nuova conversione.

L'aggiornamento di un'azione di conversione con type uguale a UNKNOWN genera un errore MutateError.MUTATE_NOT_ALLOWED.

value_settings

L'value_settings per un'azione di conversione WEBSITE_CALL o AD_CALL deve avere always_use_default_value impostato su true. Se specifichi un valore di false quando crei o aggiorni questo valore, si verifica un errore INVALID_VALUE.

view_through_lookback_window_days

Se imposti questo attributo su un valore al di fuori dell'intervallo consentito, si verifica un errore RangeError.TOO_LOW o RangeError.TOO_HIGH. Per la maggior parte delle azioni di conversione, l'intervallo consentito è [1,30].

Questo attributo non può essere impostato per le azioni di conversione AD_CALL o WEBSITE_CALL. Se specifichi un valore, viene generato un errore VALUE_MUST_BE_UNSET.