No Google Ads, uma conversão é uma ação valiosa do usuário, como comprar um produto, enviar um formulário de lead, ligar para sua empresa ou visitar uma loja física, que ocorre após uma interação com o anúncio. O acompanhamento de conversões mede essas interações para que você possa avaliar a performance da campanha e otimizar os lances automáticos.
Com a API Google Ads, é possível configurar ações de conversão de forma programática, importar eventos de conversão off-line, melhorar ou ajustar as conversões registradas, agrupar ações em metas de lances e de ciclo de vida e monitorar diagnósticos de upload.
Escolha seu fluxo de trabalho de conversão
Use a tabela a seguir para identificar o ConversionActionType,
o serviço de API e o guia de implementação para seu caso de uso:
| Tarefa | Tipo de ação de conversão | Serviço ou recurso de API | Guia de implementação |
|---|---|---|---|
| Verificar a configuração da conta e criar uma ação de conversão |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS, AD_CALL,
WEBSITE_CALL, GOOGLE_PLAY_,
GOOGLE_PLAY_
|
Customer
(ConversionTracking),
ConversionAction
|
Como começar e Categorias de ações de conversão |
| Importar conversões de clique off-line ou conversões otimizadas para leads | UPLOAD_CLICKS |
ConversionUploadService.
(ou
API Data Manager
para novas integrações)
|
Importar conversões de clique off-line |
| Melhorar as conversões on-line (conversões otimizadas para a Web) | WEBPAGE |
ConversionAdjustment
(ENHANCEMENT)
|
Importar conversões de clique on-line |
| Importar conversões de chamada telefônica | UPLOAD_CALLS |
ConversionUploadService.
|
Importar conversões de chamada |
| Importar transações de vendas na loja |
STORE_SALES,
STORE_SALES_
|
OfflineUserData
(ou
API Data Manager)
|
Importar conversões de vendas na loja |
| Retirar ou redefinir conversões registradas |
UPLOAD_CLICKS, WEBPAGE,
SALESFORCE (descontinuado)
|
ConversionAdjustment
(RETRACTION, RESTATEMENT)
|
Ajustar conversões após a importação |
| Anexar metadados de tags personalizadas às conversões |
UPLOAD_CLICKS, UPLOAD_CALLS,
WEBPAGE
|
ConversionCustom
|
Variáveis personalizadas de conversão |
| Configurar metas de lances, metas de ciclo de vida e regras de valor | Metas de conta, campanha e ciclo de vida |
CustomerConversion,
CampaignConversion,
CustomConversion,
ConversionGoal,
GoalService,
CampaignGoal,
ConversionValue
|
Metas de conversão, metas de ciclo de vida e regras de valor da conversão |
| Monitorar a integridade da importação e os diagnósticos de erros |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS
|
offline_conversion_upload_,
offline_conversion_upload_
|
Monitorar o diagnóstico de dados off-line |
| Consultar métricas de conversão e resolver erros | Todos os tipos de conversão |
GoogleAdsService.
(customer, campaign,
conversion_action)
|
Buscar estatísticas de conversão e Resolver problemas de importação de conversões |
Ciclo de vida de conversão completo
Uma integração completa de gerenciamento de conversões na API Google Ads segue quatro etapas:
- Verificar a configuração da conta e criar ações de conversão: consulte
Customer.conversion_tracking_settingpara confirmar a conta de conversão efetiva (google_ads_conversion_customer), verificar se o rastreamento de conversões está ativo, configurar o consentimento do usuário e criar umaConversionActioncom o destinoConversionActionTypeeConversionActionCategory. - Importar eventos de conversão: transmita conversões de clique ou conversões de chamada off-line usando
ConversionUploadServicecompartial_failuredefinido comotrue, complemente as conversões no site com ajustes deENHANCEMENTusandoConversionAdjustmentUploadServiceou faça o upload em lote das vendas na loja usandoOfflineUserDataJobService. - Ajustar e otimizar conversões: retire ou redefina as conversões registradas
usando
ConversionAdjustmentUploadService, anexe metadados deConversionCustomVariable, aplique regras de valor da conversão e organize as ações em metas de conversão e metas de ciclo de vida para controlar a otimização de lances. - Monitorar diagnósticos e informar o desempenho: consulte
offline_conversion_upload_client_summaryeoffline_conversion_upload_conversion_action_summarypara inspecionar o status de processamento do upload e os alertas de falha parcial. Consulte os recursoscustomeroucampaign(segmentados opcionalmente porsegments.conversion_action) para comparar as métricasmetrics.conversionsemetrics.all_conversionsou consulte o recursoconversion_actionpara inspecionarmetrics.all_conversionse os carimbos de data/hora da última conversão.
Guia de início rápido: verificar a configuração, criar ações e verificar a integridade
Os exemplos a seguir mostram as três consultas e mutações mais comuns necessárias para inicializar e monitorar o rastreamento de conversões.
1. Verificar as configurações de rastreamento de conversões com a GAQL
Antes de criar um ConversionAction ou fazer upload de eventos, consulte o recurso customer usando GoogleAdsService.SearchStream para determinar qual conta gerencia as conversões (google_ads_conversion_customer), se os termos de dados do cliente foram aceitos e se as conversões otimizadas no nível da conta estão ativadas (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
Extraia o {customer_id} do nome do recurso customers/{customer_id}
retornado em google_ads_conversion_customer e emita todas as solicitações
ConversionActionService e
ConversionUploadService subsequentes para esse
ID de cliente. Para ver detalhes completos sobre a configuração e a hierarquia de várias contas, consulte Primeiros
passos.
2. Crie uma ação de conversão
Use ConversionActionService.MutateConversionActions para
criar um ConversionAction. O exemplo a seguir cria uma ação de conversão UPLOAD_CLICKS com configurações personalizadas de valor e período de análise:
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
Solicitação REST
Para criar o mesmo ConversionAction por REST, envie uma solicitação POST para 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
}
}
}
]
}
Quando a ação de conversão for ENABLED, importe eventos de conversão ou
otimizações usando o fluxo de trabalho da sua origem de conversão (consulte Importar
eventos de conversão).
3. Monitorar a integridade do upload de conversões off-line
Depois de fazer upload de conversões de clique, de chamada ou de ajustes de conversão, consulte offline_conversion_upload_client_summary para verificar o status geral do job, as taxas de sucesso e pendentes e os detalhamentos de erros nos seus uploads recentes:
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
Consulte
offline_conversion_upload_conversion_action_summary
para diagnósticos no nível da ação de conversão (consulte Monitorar diagnósticos de dados
off-line) e consulte Resolver problemas de importações de
conversões para resolver códigos do erro específicos.
Diretório de guias por estágio do ciclo de vida
Confira o conjunto completo de guias de gerenciamento de conversões organizados por estágio do ciclo de vida:
1. Configuração da conta e ações de conversão
- Categorias de ações de conversão: selecione a origem de conversão certa (site [
WEBPAGE], ligação [UPLOAD_CALLS,AD_CALL,WEBSITE_CALL], app para dispositivos móveis [GOOGLE_PLAY_DOWNLOAD,GOOGLE_PLAY_IN_APP_PURCHASE, Firebase,SKAdNetwork], Google Analytics 4 [GOOGLE_ANALYTICS_4_CUSTOM,GOOGLE_ANALYTICS_4_PURCHASE], off-line [UPLOAD_CLICKS] ou loja física [STORE_SALES]) e mapeie-a para oConversionActionTypee o fluxo de trabalho da API correspondentes. - Começar: configure o consentimento do usuário, verifique
ConversionTrackingSetting, configure o rastreamento de conversões entre contas e crie ações de conversão usando bibliotecas de cliente ou REST.
2. Importar eventos de conversão
- Importar conversões de clique off-line: faça upload de conversões off-line (
GCLID,GBRAID,WBRAID) e conversões otimizadas para leads (e-mail e número de telefone com hash próprios) para medir transações reais. - Importar conversões de clique on-line: complemente as tags de conversão no site com dados próprios do usuário, como endereço de e-mail, nome, endereço residencial e número de telefone, usando as conversões otimizadas para a Web (ajustes de
ENHANCEMENT). - Importar conversões de chamada: faça upload de eventos de conversão para chamadas telefônicas rastreadas por números de encaminhamento de chamadas do Google ou pelo seu próprio sistema de rastreamento de chamadas.
- Importar conversões de vendas na loja: faça o upload em lote
dos dados de transações na loja física usando
OfflineUserDataJobService.
3. Ajustar e otimizar conversões
- Ajustar conversões após a importação: remova pedidos cancelados (
RETRACTION) ou redefina valores de conversão modificados (RESTATEMENT) para ações de conversãoUPLOAD_CLICKS,WEBPAGEeSALESFORCE(descontinuadas). - Gerenciar regras de valor da conversão: ajuste dinamicamente os valores de conversão durante o leilão com base em critérios de público-alvo, dispositivo, localização geográfica ou itinerário.
- Variáveis de conversão personalizadas: defina e anexe tags de chave-valor personalizadas (
ConversionCustomVariable) a conversões de clique, chamada e Web para gerar relatórios segmentados. - Metas de conversão: agrupe as ações de conversão pelos campos
category(ConversionActionCategory) eorigin(ConversionOrigin) e configure metas do cliente, metas personalizadas e da campanha e metas do ciclo de vida do cliente (aquisição de novos clientes, retenção de clientes e retenção de fidelidade). Também é possível recuperar e aplicarOPTIMIZE_FOR_NEW_CUSTOMERSrecomendações para valores de conversão incremental de novos clientes.
4. Monitorar, gerar relatórios e resolver problemas
- Monitorar diagnósticos de dados off-line: consulte os diagnósticos de dados off-line no nível da conta (
offline_conversion_upload_client_summary) e da ação de conversão (offline_conversion_upload_conversion_action_summary) para acompanhar as taxas de sucesso, os eventos pendentes e os alertas de upload. - Buscar estatísticas de conversão: consulte as métricas de performance de conversão na GAQL e mapeie as colunas da interface do Google Ads para os campos da API Google Ads.
- Resolver problemas de importação de conversões: diagnostique e resolva códigos
ConversionUploadErroreConversionAdjustmentUploadErrorcomuns.