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.
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:
Attivare il monitoraggio delle conversioni nel cliente Google Ads dedicato alle conversioni.
Accetta i termini relativi ai dati dei clienti.
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.