Este guia apresenta uma lista dos diferentes tipos de ações de conversão que você pode criar usando a API Google Ads, informações sobre como elas são mapeadas para a interface da Web do Google Ads e um exemplo de código detalhado que demonstra como criar novas ações de conversão.
Para medir as conversões, configure um ConversionAction
para a type
da ação de conversão que você quer acompanhar. Por exemplo, uma compra on-line e uma chamada telefônica exigem ações de conversão diferentes.
A melhor maneira de configurar novas ações de conversão na API é usar o
exemplo de código para adicionar uma ação de conversão abaixo. O exemplo processa
todas as tarefas de autenticação em segundo plano e orienta você na criação
de um ConversionAction
.
A maioria das ações de conversão também requer outras etapas da sua parte para o acompanhamento. Por exemplo, para acompanhar conversões no seu site, adicione um snippet de código chamado tag à página de conversão. Para conferir outros requisitos de ação de conversão, consulte nosso artigo da Central de Ajuda.
Conversões no site
Com uma conversão de site, você pode acompanhar ações no site, como vendas on-line, cliques em links, visualizações de página e inscrições.
Para acompanhar as conversões no seu site, crie uma
ConversionAction
com o
ConversionActionType
definido como WEBPAGE
e adicione um snippet de código chamado tag à página de conversão
no seu site.
A ConversionAction
engloba vários tipos de conversão no site, diferenciados na API pelo campo type
em cada TagSnippet
listado no campo tag_snippets de um ConversionAction
.
Um TagSnippet
fornece o código de acompanhamento que precisa ser incluído no seu site para acompanhar as ações de conversão.
As conversões de site e clique no número de telefone exigem o
event_snippet
,
que precisa ser colocado em páginas da Web que indicam uma ação de conversão, como
uma página de confirmação de finalização de compra ou de envio de formulário de lead, e
global_site_tag
,
que precisa ser instalado em todas as páginas do seu site. É possível extrair os dois
atributos com o
ConversionActionService
. Confira nossa Central de Ajuda para mais informações sobre como incluir tags nas suas páginas.
A tabela a seguir mostra os parâmetros de API equivalentes a serem usados em cada Origem na interface da Web do Google Ads:
Tipo de código de acompanhamento | Origem do Google Ads |
---|---|
WEBPAGE |
Site, Site (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
Site, site (Google Analytics (GA4)) |
CLICK_TO_CALL |
Cliques no número de telefone |
--- |
Site (Google Analytics (UA)) |
Conversões de apps
Com uma conversão de app, você pode acompanhar as instalações ou compras no app para dispositivos móveis na Google Play Store.
A tabela a seguir mostra os parâmetros da API ConversionActionType
equivalentes a serem usados para cada Origem na interface da Web do Google Ads:
Tipo de ação de conversão | Origem do Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Instalações |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > Compras no app |
Se você quiser acompanhar outras ações de apps para dispositivos móveis usando as propriedades do Google Analytics 4 ou a análise de aplicativos de terceiros. Consulte Outros tipos de ação de conversão.
Conversões de ligações telefônicas
Com o acompanhamento de conversões de chamada, você acompanha chamadas a partir de anúncios, ligações para um número no seu site e cliques em números em sites para dispositivos móveis.
A tabela a seguir mostra os parâmetros equivalentes da API ConversionActionType
a serem usados para cada Origem na interface da Web do Google Ads:
Tipo de ação de conversão | Origem do Google Ads |
---|---|
AD_CALL |
Chamadas a partir de anúncios com extensões de chamada ou anúncios só para chamadas |
WEBSITE_CALL |
Chamadas para um número de telefone no seu site |
CLICK_TO_CALL |
Clica em um número no seu website para dispositivos móveis |
O tipo CLICK_TO_CALL
é diferente do tipo AD_CALL
porque não rastreia chamadas telefônicas reais. Em vez disso, CLICK_TO_CALL
só rastreia cliques em um
número de telefone de um dispositivo móvel. Isso é útil quando você não consegue usar um número de encaminhamento de chamadas do Google para rastrear chamadas telefônicas.
AD_CALL
Uma ação de conversão AD_CALL
aparece como uma conversão de chamadas de
anúncios na interface da Web do Google Ads. Depois de criar a ação de conversão AD_CALL
, especifique o nome do recurso no campo call_conversion_action
ao criar uma CallAsset
. Com os recursos de ligação, você pode mostrar um número de telefone diretamente nos seus anúncios.
Uma chamada é considerada como conversão quando ultrapassa a duração especificada. O padrão é 60 segundos.
WEBSITE_CALL
Uma ação de conversão WEBSITE_CALL
aparece como uma conversão de Chamadas a partir de um site na interface da Web do Google Ads.
Ao contrário do
AD_CALL
,
esse rastreador exige que event_snippet
e global_site_tag
sejam adicionados ao
site para recuperar o número de encaminhamento dinâmico do Google para o acompanhamento de chamadas
em números listados no site. Além disso, é necessário configurar um recurso de
chamada e vinculá-lo no
nível do cliente, da campanha ou do grupo de anúncios.
Importar conversões off-line
A tabela a seguir mostra os parâmetros de API
ConversionActionType
equivalentes a serem usados para cada Origem na interface da Web do Google Ads
e um link para a documentação de cada tipo específico de ação de conversão:
Tipo de ação de conversão | Origem do Google Ads | Guia de configuração da API |
---|---|---|
UPLOAD_CLICKS |
Acompanhar as conversões originadas de cliques e conversões otimizadas para leads | Guia de upload de cliques
Guia de conversões otimizadas para leads |
UPLOAD_CALLS |
Acompanhar conversões de chamadas | Guia de configuração da API |
STORE_SALES |
Acompanhar as conversões de vendas na loja | Guia de configuração da API |
Conversões otimizadas para a Web
Com as conversões otimizadas para a Web, você pode enviar dados próprios de conversão para WEBPAGE
ações de conversão em até 24 horas após um evento de conversão, e não ao mesmo tempo. Isso possibilita localizar
dados próprios de várias origens, como um banco de dados de clientes ou um sistema de CRM.
Outros tipos de ações de conversão
A API Google Ads disponibiliza outros tipos de ações de conversão nos relatórios, mas pode limitar ou proibir a criação ou modificação dessas ações.
Conversões da SKAdNetwork
Se você veicular campanhas para apps iOS
e tiver implementado a
SKAdNetwork, poderá acessar
os dados da SKAdNetwork fornecidos ao Google nos níveis Customer
e Campaign
usando
os seguintes recursos:
Campo do relatório | Descrição |
---|---|
metrics.sk_ad_network_installs |
O número de instalações informadas pela Apple. Essa métrica só pode ser segmentada por qualquer combinação de segments.sk_ad_network_conversion_value e segmentos relacionados à data.
|
metrics.sk_ad_network_total_conversions |
O número total de conversões, incluindo instalações e outros tipos de conversões informadas pela Apple. Essa métrica só pode ser segmentada por segmentos relacionados à SKAdNetwork e à data. |
segments.sk_ad_network_ad_event_type |
O tipo de evento que ocorreu em uma conversão específica. |
segments.sk_ad_network_attribution_credit |
Como a atribuição é creditada para uma conversão específica. |
segments.sk_ad_network_fine_conversion_value |
O valor de uma conversão informada pela Apple. Esse segmento não pode ser aplicado
a nenhuma métrica, exceto Um valor de |
segments.sk_ad_network_coarse_conversion_value |
O valor aproximado de uma conversão individual. |
segments.sk_ad_network_postback_sequence_index |
A posição do postback, em sequência, para uma conversão específica. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
O ID do app em que o anúncio que gerou a instalação da rede de publicidade do kit da loja do iOS foi mostrado. |
segments.sk_ad_network_source_domain |
O site em que o anúncio que gerou a instalação da rede de publicidade do kit da loja do iOS foi mostrado. Um valor nulo significa que esse segmento não é aplicável, por exemplo, uma campanha não iOS, ou não estava presente em nenhum postback enviado pela Apple. |
segments.sk_ad_network_source_type |
O tipo de origem em que o anúncio que gerou a instalação da rede de publicidade do kit da loja do iOS foi mostrado. Um valor nulo significa que esse segmento não é aplicável, por exemplo, uma campanha não iOS, ou nenhum domínio ou app de origem estava presente em nenhum postback enviado pela Apple. |
segments.sk_ad_network_user_type |
O tipo de usuário que gerou uma conversão específica. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Os valores de conversão neste segmento incluem valores nulos que foram redistribuídos para valores de conversão. Esse segmento representa a soma dos valores de conversão finos observados retornados pela Apple e dos valores nulos estimados do Google. |
segments.sk_ad_network_version |
A versão da API da rede de publicidade da iOS Store Kit usada. |
Também é possível salvar um mapeamento de valor da conversão da SKAdNetwork para clientes vinculados específicos com apps iOS usando CustomerSkAdNetworkConversionValueSchema
.
Exemplo de código Python
#!/usr/bin/env python # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import argparse import sys from google.ads.googleads.client import GoogleAdsClient from google.ads.googleads.errors import GoogleAdsException def main(client, customer_id): """Adds a keyword plan, campaign, ad group, etc. to the customer account. Also handles errors from the API and prints them. Args: client: An initialized instance of GoogleAdsClient customer_id: A str of the customer_id to use in requests. """ res = update_skan_cv_schema( client, customer_id, "my_app_id", "account_link_id" ) print(res) def update_skan_cv_schema(client, customer_id, app_id, account_link_id): skan_service = client.get_service( "CustomerSkAdNetworkConversionValueSchemaService" ) req = client.get_type( "MutateCustomerSkAdNetworkConversionValueSchemaRequest" ) operation = client.get_type( "CustomerSkAdNetworkConversionValueSchemaOperation" ) schema_instance = client.get_type( "CustomerSkAdNetworkConversionValueSchema" ) new_schema = operation.update new_schema.resource_name = ( skan_service.customer_sk_ad_network_conversion_value_schema_path( "customer_id", "account_link_id" ) ) new_schema.schema.app_id = app_id new_schema.schema.measurement_window_hours = 48 skan_cv_mapping = ( schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings() ) skan_cv_mapping.fine_grained_conversion_value = 0 # 0 - 63 skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0 skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48 skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event() skan_cv_event.mapped_event_name = "TEST" skan_cv_event.event_revenue_value = 10 skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event) new_schema.schema.fine_grained_conversion_value_mappings.append( skan_cv_mapping ) req.operation = operation req.customer_id = customer_id res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema( req ) return res if __name__ == "__main__": # GoogleAdsClient will read the google-ads.yaml configuration file in the # home directory if none is specified. googleads_client = GoogleAdsClient.load_from_storage( version="v18" ) parser = argparse.ArgumentParser( description="Creates a keyword plan for specified customer." ) # The following argument(s) should be provided to run the example. parser.add_argument( "-c", "--customer_id", type=str, required=True, help="The Google Ads customer ID.", ) args = parser.parse_args() try: main(googleads_client, args.customer_id) except GoogleAdsException as ex: print( f'Request with ID "{ex.request_id}" failed with status ' f'"{ex.error.code().name}" and includes the following errors:' ) for error in ex.failure.errors: print(f'\tError with message "{error.message}".') if error.location: for field_path_element in error.location.field_path_elements: print(f"\t\tOn field: {field_path_element.field_name}") sys.exit(1)
Google Analytics
As conversões de uma propriedade vinculada do Google Analytics têm um dos seguintes valores de type
:
Conversão da propriedade do GA4:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
Você também pode recuperar o ID da propriedade do GA4, o nome da propriedade e o nome do evento no campo
google_analytics_4_settings
.Conversão de propriedade do Universal Analytics:
UNIVERSAL_ANALYTICS_GOAL
UNIVERSAL_ANALYTICS_TRANSACTION
É possível fazer as seguintes alterações em uma conversão de propriedade do GA4:
- Para importar a conversão da sua propriedade do GA4 para a conta do Google Ads,
modifique o campo
status
deHIDDEN
paraENABLED
. - Modifique os campos
primary_for_goal
ecategory
para indicar como ele vai impactar os lances e relatórios do Google Ads. - Atualize o
name
ou ovalue_settings
dele. - Remova a conversão da sua conta do Google Ads usando uma operação
remove
.
Qualquer tentativa de modificar outros atributos de uma conversão importada do GA4 ou qualquer
atributo de uma conversão importada do Universal Analytics resulta em um
erro MUTATE_NOT_ALLOWED
. Você só pode fazer essas mudanças usando a interface do Google Ads.
Firebase e análise de aplicativos de terceiros
Para importar
análises de apps de terceiros
ou conversões do Firebase,
mude o status
do
ConversionAction
de HIDDEN
para ENABLED
usando o método mutate
de
ConversionActionService
. Não é possível atualizar o
app_id
para essas
ações de conversão.
FIREBASE_ANDROID_FIRST_OPEN
FIREBASE_ANDROID_IN_APP_PURCHASE
FIREBASE_ANDROID_CUSTOM
FIREBASE_IOS_FIRST_OPEN
FIREBASE_IOS_IN_APP_PURCHASE
FIREBASE_IOS_CUSTOM
THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM
Vendas na loja: faça upload para a ação de conversão com relatórios
Não é possível criar ações de conversão STORE_SALES
ou STORE_SALES_DIRECT_UPLOAD
usando a API Google Ads, mas ela permite o upload de transações de vendas na loja.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Tipos de ação de conversão somente leitura
Os tipos de ação de conversão a seguir são somente leitura na API Google Ads e disponibilizados para gerar relatórios.
ANDROID_APP_PRE_REGISTRATION
ANDROID_INSTALLS_ALL_OTHER_APPS
FLOODLIGHT_ACTION
FLOODLIGHT_TRANSACTION
GOOGLE_HOSTED
LEAD_FORM_SUBMIT
SALESFORCE
SEARCH_ADS_360
SMART_CAMPAIGN_AD_CLICKS_TO_CALL
SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
SMART_CAMPAIGN_MAP_DIRECTIONS
SMART_CAMPAIGN_TRACKED_CALLS
STORE_VISITS
WEBPAGE_CODELESS
Desconhecido
Se a sua conta do Google Ads incluir outros tipos de ações de conversão, talvez você note
que as consultas e os relatórios retornam ações de conversão em que o
ConversionAction.type
é UNKNOWN
.
A API não é compatível com o gerenciamento dessas ações de conversão, mas as retorna nos
relatórios para fornecer resultados completos para as principais métricas de conversão, como
metrics.conversions
e metrics.conversions_value
.
Exemplo de código
O exemplo de código a seguir mostra o processo de criação de uma nova ação de conversão. Especificamente, ele cria uma ação de conversão com o
type
definido como
UPLOAD_CLICKS
.
Esse é o mesmo fluxo da interface do Google Ads usado para criar uma nova ação de conversão usando
Importação > Importação manual usando a API ou uploads > Acompanhar conversões de
cliques. Ele também define a category
como DEFAULT
.
As configurações padrão a seguir são aplicadas:
A API Google Ads define o campo
primary_for_goal
automaticamente, mas você pode definir esse campo explicitamente para controlar como uma ação de conversão afeta os relatórios e lances na sua conta quando combinada com suas metas de conversão.A API Google Ads define o
counting_type
automaticamente comoMANY_PER_CLICK
. Consulte Sobre as opções de contagem de conversões para mais detalhes.A API Google Ads define o modelo de atribuição como orientado a dados definindo o campo
attribution_model_settings
como o valorGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
deAttributionModel
.
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.V18.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::V18::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V18::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V18::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; }
Esse exemplo também pode ser encontrado na pasta "Remarketing" da biblioteca de cliente e na coleção de exemplos de código: Adicionar exemplo de código de ação de conversão.
Validações
O Google Ads e a API Google Ads oferecem suporte a uma ampla variedade de ações de conversão. Portanto, algumas regras de validação variam com base no type
da ação.
O erro mais comum ao criar uma ação de conversão é
DUPLICATE_NAME
.
Use um nome exclusivo para cada ação de conversão.
Confira algumas dicas sobre como definir os campos ConversionAction
:
- Todos os campos de tipo enumerado
- A tentativa de definir qualquer campo de tipo enumerado como
UNKNOWN
resulta em um erroRequestError.INVALID_ENUM_VALUE
. app_id
- O atributo
app_id
é imutável e só pode ser definido ao criar uma nova conversão de app. attribution_model_settings
- Definir isso como uma opção
descontinuada
resulta em um
erro
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
. O Google Ads oferece suporte apenas aGOOGLE_ADS_LAST_CLICK
eGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
. click_through_lookback_window_days
Definir esse atributo como um valor fora do intervalo permitido resulta em um erro
RangeError.TOO_LOW
ouRangeError.TOO_HIGH
.Esse atributo precisa estar no intervalo
[1,60]
para uma ação de conversãoAD_CALL
ouWEBSITE_CALL
. Para a maioria das outras ações de conversão, o intervalo permitido é[1,30]
.include_in_conversions_metric
A definição desse valor em uma operação
create
ouupdate
falha com um erroFieldError.IMMUTABLE_FIELD
. Em vez disso, definaprimary_for_goal
conforme descrito no Guia de metas de conversão.phone_call_duration_seconds
Tentar definir esse atributo em uma ação de conversão que não é para chamadas resulta em um erro
FieldError.VALUE_MUST_BE_UNSET
.type
O atributo
type
é imutável e só pode ser definido ao criar uma nova conversão.Atualizar uma ação de conversão com
type
igual aUNKNOWN
resulta em um erroMutateError.MUTATE_NOT_ALLOWED
.value_settings
O
value_settings
de uma ação de conversãoWEBSITE_CALL
ouAD_CALL
precisa teralways_use_default_value
definido comotrue
. Especificar um valor defalse
ao criar ou atualizar esse valor resulta em um erroINVALID_VALUE
.view_through_lookback_window_days
Definir esse atributo como um valor fora do intervalo permitido resulta em um erro
RangeError.TOO_LOW
ouRangeError.TOO_HIGH
. Para a maioria das ações de conversão, o intervalo permitido é[1,30]
.Esse atributo não pode ser definido em ações de conversão
AD_CALL
ouWEBSITE_CALL
. A especificação de um valor resulta em um erroVALUE_MUST_BE_UNSET
.