Inizia a utilizzare le conversioni avanzate per il web

Come funzionano le conversioni avanzate per il web

Le conversioni avanzate per il web richiedono la configurazione di un tag che invii automaticamente un identificatore di clic, come un GCLID, e un ID ordine a Google Ads, quando effettua una conversione. Hai la possibilità di configurare le conversioni avanzate tramite Google Tag Manager, il piattaforma oppure l'API Google Ads. L'utilizzo del L'API Google Ads ti offre il vantaggio di inviare dati proprietari sulle conversioni entro 24 ore ore dall'evento di conversione, invece che contemporaneamente. Ciò rende individuare i dati proprietari provenienti da svariate fonti, ad esempio una un database di clienti o un sistema CRM.

Le conversioni avanzate per il web nell'API Google Ads integrano il passaggio 3 della procedura seguente flusso di lavoro.

Conversioni avanzate per
web

Invece di inviare le informazioni utente sottoposte ad hashing quando l'utente effettua una conversione, il tag invia solo il GCLID e l'ID ordine e tu invii le informazioni utente sottoposte ad hashing in un secondo momento caricando l'ID ordine insieme ai dati sottoposti ad hashing.

Implementa i prerequisiti

Esistono alcuni prerequisiti per il funzionamento di una configurazione delle conversioni avanzate. Assicurati che siano soddisfatti tutti i prerequisiti prima di procedere con l'implementazione:

  1. Attivare il monitoraggio delle conversioni nel cliente Google Ads dedicato alle conversioni.

  2. Accetta i termini relativi ai dati dei clienti.

  3. Configura il tagging.

1. Attivare il monitoraggio delle conversioni nel cliente Google Ads dedicato alle conversioni

Recupera le informazioni sulla configurazione del monitoraggio delle conversioni

Puoi controllare la configurazione del monitoraggio delle conversioni del tuo account e confermare la conversione. il monitoraggio viene attivato eseguendo una query sulla risorsa Customer per ConversionTrackingSetting. Esegui la query seguente 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 monitoraggio delle conversioni su più account, questo è l'ID di un account amministratore. L'ID cliente conversione di Google Ads deve essere indicato 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 è abilitato.

La conversion_tracking_status indica se il monitoraggio delle conversioni è attivato e se l'account sta usando il monitoraggio delle conversioni su più account.

Crea un'azione di conversione nel cliente associato alle conversioni di Google Ads

Se il valore conversion_tracking_status è NOT_CONVERSION_TRACKED, il monitoraggio delle conversioni non è abilitato per l'account. Attivare il monitoraggio delle conversioni creando almeno un elemento ConversionAction in l'account di conversione di Google Ads, come nell'esempio seguente. In alternativa, puoi creare un'azione di conversione nell'interfaccia utente seguendo le istruzioni riportate nella Centro assistenza per che vuoi attivare.

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

Esempio di codice

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}".'
    )
      

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::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;
}
      

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

Recupera un'azione di conversione esistente

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

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

2. Accetta i termini relativi ai dati dei clienti

Prima di poter utilizzare le conversioni avanzate, devi accettare i termini per i dati dei clienti per il web. Puoi verificare se i termini per i dati dei clienti sono stati accettati inviando la seguente query al cliente che si occupa delle conversioni di Google Ads:

SELECT
  customer.id,
  customer.conversion_tracking_setting.accepted_customer_data_terms
FROM customer

Se accepted_customer_data_terms è false, segui le istruzioni in Centro assistenza per completare questo prerequisito.

3. Configura il tagging

Per configurare il tagging per il tuo sito web, segui le istruzioni riportate nella Centro assistenza.

Devi anche aggiungere alla conversione gli ID transazione, noti anche come ID ordine. di monitoraggio del traffico seguendo le istruzioni riportate nella Guida assistenza. Google Ads richiede questi per poter trovare la conversione da migliorare.

Passaggi successivi

Una volta soddisfatti i prerequisiti, puoi implementare le funzionalità avanzate conversioni per il web nel API Google Ads.