In Google Ads, una conversione è un'azione utente di valore, ad esempio l'acquisto di un prodotto, l'invio di un modulo per i lead, una chiamata alla tua attività o una visita a un negozio fisico, che segue un'interazione con l'annuncio. Il monitoraggio delle conversioni misura queste interazioni con i clienti in modo da consentirti di valutare il rendimento della campagna e ottimizzare le offerte automatiche.
L'API Google Ads ti consente di configurare in modo programmatico le azioni di conversione, importare gli eventi di conversione offline, migliorare o modificare le conversioni registrate, raggruppare le azioni in obiettivi di offerta e basati sul ciclo di vita e monitorare la diagnostica dei caricamenti.
Scegli il workflow di conversione
Utilizza la seguente tabella per identificare ConversionActionType, il servizio API e la guida all'implementazione per il tuo caso d'uso:
| Attività | Tipo di azione di conversione | Servizio o risorsa API | Guida all'implementazione |
|---|---|---|---|
| Verifica la configurazione dell'account e crea un'azione di conversione |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS, AD_CALL,
WEBSITE_CALL, GOOGLE_PLAY_,
GOOGLE_PLAY_
|
Customer
(ConversionTracking),
ConversionAction
|
Inizia e Categorie di azioni di conversione |
| Importa le conversioni da clic offline o le conversioni avanzate per i lead | UPLOAD_CLICKS |
ConversionUploadService.
(o
API Data Manager
per le nuove integrazioni)
|
Importa le conversioni da clic offline |
| Migliora le conversioni online (conversioni avanzate per il web) | WEBPAGE |
ConversionAdjustment
(ENHANCEMENT)
|
Importa le conversioni da clic online |
| Importare le conversioni di chiamata | UPLOAD_CALLS |
ConversionUploadService.
|
Importa le conversioni di chiamata |
| Importa le transazioni di vendita in negozio |
STORE_SALES, STORE_SALES_
|
OfflineUserData
(o
API Data Manager)
|
Importa le conversioni per le vendite in negozio |
| Ritira o ricalcola le conversioni registrate |
UPLOAD_CLICKS, WEBPAGE,
SALESFORCE (deprecato)
|
ConversionAdjustment
(RETRACTION, RESTATEMENT)
|
Regola le conversioni dopo l'importazione |
| Associa i metadati dei tag personalizzati alle conversioni |
UPLOAD_CLICKS, UPLOAD_CALLS,
WEBPAGE
|
ConversionCustom
|
Variabili di conversione personalizzate |
| Configura gli obiettivi di offerta, gli obiettivi basati sul ciclo di vita e le regole per i valori | Obiettivi basati sul ciclo di vita, della campagna e dell'account |
CustomerConversion,
CampaignConversion,
CustomConversion,
ConversionGoal,
GoalService,
CampaignGoal,
ConversionValue
|
Obiettivi di conversione, obiettivi basati sul ciclo di vita e regole per i valori di conversione |
| Monitora l'integrità dell'importazione e la diagnostica degli errori |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS
|
offline_conversion_upload_,
offline_conversion_upload_
|
Monitora la diagnostica dei dati offline |
| Esegui query sulle metriche di conversione e risolvi gli errori | Tutti i tipi di conversione |
GoogleAdsService.
(customer, campaign,
conversion_action)
|
Recupera le statistiche sulle conversioni e Risolvi i problemi relativi alle importazioni delle conversioni |
Ciclo di vita delle conversioni end-to-end
Un'integrazione completa della gestione delle conversioni nell'API Google Ads prevede quattro fasi:
- Verifica la configurazione dell'account e crea azioni di conversione: esegui una query su
Customer.conversion_tracking_settingper confermare l'account di conversione effettivo (google_ads_conversion_customer), verifica che il monitoraggio delle conversioni sia attivo, configura il consenso dell'utente e crea unConversionActioncon il targetConversionActionTypeeConversionActionCategory. - Importa gli eventi di conversione: trasmetti in streaming le conversioni di chiamata o di clic offline utilizzando
ConversionUploadServiceconpartial_failureimpostato sutrue, integra le conversioni sul sito web con gli aggiustamentiENHANCEMENTutilizzandoConversionAdjustmentUploadServiceo carica collettivamente le vendite in negozio utilizzandoOfflineUserDataJobService. - Modifica e ottimizza le conversioni: ritira o modifica le conversioni registrate
utilizzando
ConversionAdjustmentUploadService, allega i metadatiConversionCustomVariable, applica le regole per i valori di conversione e organizza le azioni in obiettivi di conversione e obiettivi basati sul ciclo di vita per controllare l'ottimizzazione delle offerte. - Monitora la diagnostica e il rendimento dei report: esegui query su
offline_conversion_upload_client_summaryeoffline_conversion_upload_conversion_action_summaryper controllare lo stato di elaborazione dei caricamenti e gli avvisi di errore parziale. Esegui una query sulle risorsecustomerocampaign(facoltativamente segmentate persegments.conversion_action) per confrontare le metrichemetrics.conversionsemetrics.all_conversionsoppure esegui una query sulla risorsaconversion_actionper esaminaremetrics.all_conversionse i timestamp dell'ultima conversione.
Guida rapida: verifica la configurazione, crea azioni e controlla l'integrità
I seguenti esempi mostrano le tre query e mutazioni più comuni necessarie per inizializzare e monitorare il monitoraggio delle conversioni.
1. Verifica le impostazioni del monitoraggio delle conversioni con GAQL
Prima di creare un ConversionAction o caricare eventi,
esegui una query sulla risorsa customer utilizzando
GoogleAdsService.SearchStream per determinare quale account
gestisce le conversioni (google_ads_conversion_customer), se i termini relativi ai dati dei clienti
sono stati accettati e se le conversioni avanzate a livello di account sono attive
(EnhancedConversionsConfig):
SELECT
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id,
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.accepted_customer_data_terms,
customer.conversion_tracking_setting.enablement_setting,
customer.conversion_tracking_setting.effective_enablement_setting
FROM customer
Estrai {customer_id} dal nome della risorsa customers/{customer_id} restituito in google_ads_conversion_customer ed esegui tutte le richieste ConversionActionService e ConversionUploadService successive per questo ID cliente. Per i dettagli completi sulla configurazione e sulla gerarchia tra account, consulta Inizia.
2. Crea un'azione di conversione
Utilizza ConversionActionService.MutateConversionActions per creare un ConversionAction. L'esempio seguente crea un'azione di conversione UPLOAD_CLICKS con impostazioni personalizzate per il valore e la finestra temporale:
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.V26.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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V26::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V26::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; }
curl
Richiesta REST
Per creare lo stesso ConversionAction su REST, invia una richiesta POST a ConversionActionService.MutateConversionActions:
POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
"operations": [
{
"create": {
"name": "Earth to Mars Cruise Conversion",
"type": "UPLOAD_CLICKS",
"category": "DEFAULT",
"status": "ENABLED",
"primaryForGoal": true,
"countingType": "ONE_PER_CLICK",
"clickThroughLookbackWindowDays": "60",
"valueSettings": {
"defaultValue": 23.41,
"defaultCurrencyCode": "USD",
"alwaysUseDefaultValue": true
}
}
}
]
}
Una volta che l'azione di conversione è ENABLED, importa gli eventi di conversione o i miglioramenti utilizzando il workflow per l'origine conversione (consulta Importa eventi di conversione).
3. Monitora lo stato del caricamento delle conversioni offline
Dopo aver caricato le conversioni di clic, le conversioni di chiamata o gli aggiustamenti delle conversioni,
esegui una query su offline_conversion_upload_client_summary per
controllare lo stato complessivo del job, i tassi di successo e di attesa e le suddivisioni degli errori nei
caricamenti recenti:
SELECT
offline_conversion_upload_client_summary.client,
offline_conversion_upload_client_summary.status,
offline_conversion_upload_client_summary.total_event_count,
offline_conversion_upload_client_summary.successful_event_count,
offline_conversion_upload_client_summary.success_rate,
offline_conversion_upload_client_summary.pending_event_count,
offline_conversion_upload_client_summary.pending_rate,
offline_conversion_upload_client_summary.last_upload_date_time,
offline_conversion_upload_client_summary.alerts
FROM offline_conversion_upload_client_summary
Esegui una query su
offline_conversion_upload_conversion_action_summary
per la diagnostica a livello di azione di conversione (consulta Monitora la diagnostica dei dati offline) e consulta Risolvi i problemi relativi alle importazioni delle conversioni per risolvere codici di errore specifici.
Directory delle guide per fase del ciclo di vita
Esplora l'insieme completo di guide alla gestione delle conversioni organizzate per fase del ciclo di vita:
1. Configurazione dell'account e azioni di conversione
- Categorie di azioni di conversione: seleziona l'origine conversione corretta, ovvero sito web (
WEBPAGE), telefonata (UPLOAD_CALLS,AD_CALL,WEBSITE_CALL), app mobile (GOOGLE_PLAY_DOWNLOAD,GOOGLE_PLAY_IN_APP_PURCHASE, Firebase,SKAdNetwork), Google Analytics 4 (GOOGLE_ANALYTICS_4_CUSTOM,GOOGLE_ANALYTICS_4_PURCHASE), offline (UPLOAD_CLICKS) o negozio fisico (STORE_SALES), e mappala alConversionActionTypee al flusso di lavoro dell'API corrispondenti. - Per iniziare: configura il consenso dell'utente, verifica
ConversionTrackingSetting, configura il monitoraggio delle conversioni su più account e crea azioni di conversione utilizzando le librerie client o REST.
2. Importa gli eventi di conversione
- Importa le conversioni da clic offline: carica le conversioni offline (
GCLID,GBRAID,WBRAID) e le conversioni avanzate per i lead (indirizzo email e numero di telefono proprietari sottoposti ad hashing) per misurare le transazioni reali. - Importa le conversioni da clic online: integra i tag di conversione sul sito web con i dati proprietari degli utenti, come indirizzo email, nome, indirizzo di casa e numero di telefono, utilizzando le conversioni avanzate per il web (aggiustamenti
ENHANCEMENT). - Importa conversioni di chiamata: carica gli eventi di conversione per le telefonate monitorate tramite i numeri di inoltro di Google o il tuo sistema di monitoraggio delle chiamate.
- Importa le conversioni per le vendite in negozio: esegui il caricamento collettivo dei dati sulle transazioni in negozio utilizzando
OfflineUserDataJobService.
3. Modifica e ottimizza le conversioni
- Modifica le conversioni dopo l'importazione: ritira gli ordini annullati (
RETRACTION) o ricalcola i valori di conversione modificati (RESTATEMENT) per le azioni di conversioneUPLOAD_CLICKS,WEBPAGEeSALESFORCE(ritirata). - Gestisci le regole per i valori di conversione: modifica dinamicamente i valori di conversione al momento dell'asta in base a criteri relativi a pubblico, dispositivo, posizione geografica o itinerario.
- Variabili di conversione personalizzate: definisci e allega tag coppia chiave-valore personalizzati (
ConversionCustomVariable) alle conversioni di clic, chiamata e web per i report segmentati. - Obiettivi di conversione: raggruppa le azioni di conversione in base ai campi
category(ConversionActionCategory) eorigin(ConversionOrigin) e configura gli obiettivi dei clienti, gli obiettivi della campagna e personalizzati e gli obiettivi basati sul ciclo di vita dei clienti (acquisizione di nuovi clienti, customer retention e fidelizzazione). Puoi anche recuperare e applicareOPTIMIZE_FOR_NEW_CUSTOMERSconsigli per i valori di conversione incrementali dei nuovi clienti.
4. Monitora, genera report e risolvi i problemi
- Monitora la diagnostica dei dati offline: esegui query sulla diagnostica dei dati offline a livello di account (
offline_conversion_upload_client_summary) e di azione di conversione (offline_conversion_upload_conversion_action_summary) per monitorare i tassi di successo, gli eventi in attesa e gli avvisi di caricamento. - Recupera le statistiche sulle conversioni: esegui query sulle metriche sul rendimento delle conversioni in GAQL e mappa le colonne della UI di Google Ads ai campi dell'API Google Ads.
- Risolvi i problemi relativi alle importazioni delle conversioni: diagnostica e risolvi i codici
ConversionUploadErroreConversionAdjustmentUploadErrorcomuni.