Este guia fornece uma lista dos diferentes tipos de ações de conversão que você pode criar usando a API Google Ads, informações sobre como eles são mapeados para a Web do Google Ads interface de usuário e um exemplo de código detalhado que demonstra como criar novas ações de conversão.
Para medir as conversões, configure
ConversionAction
para o
type
de
a 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 a
Adicione o exemplo do código de 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 etapas adicionais da sua parte para o acompanhamento para resolvê-los com rapidez. Por exemplo, para acompanhar conversões no seu site, você precisa adicionar um código um snippet chamado tag para a página de conversão do seu site. Para outra ação de conversão requisitos, consulte nossa artigo da Central de Ajuda.
Conversões no site
Com uma conversão no site, você pode acompanhar ações do site, como vendas on-line, cliques em links, visualizações de página e inscrições.
Para acompanhar conversões no seu site, você precisa criar uma
ConversionAction
com o
ConversionActionType
defina como WEBPAGE
e adicione um snippet de código chamado tag à conversão
no seu site.
O ConversionAction
abrange vários
tipos de conversões de sites, que são distinguidos 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 a
event_snippet
,
que devem ser colocados em páginas da Web que indicam uma ação de conversão, como
uma página de confirmação de finalização da compra ou envio de formulário de lead e
global_site_tag
,
que precisa ser instalado em todas as páginas do site. É possível recuperar os dados
esses atributos com o
ConversionActionService
Finalizar compra
nossa Central de Ajuda para mais
sobre como incluir tags nas suas páginas.
A tabela a seguir mostra os parâmetros de API equivalentes a serem usados para 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 aplicativo, você pode acompanhar instalações de apps para dispositivos móveis ou compras no aplicativo Google Play Store.
A tabela a seguir mostra
ConversionActionType
Parâmetros de API 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 em apps para dispositivos móveis usando o Google Analytics 4 propriedades ou análise de apps de terceiros. Consulte Outros tipos de ação de conversão.
Conversões de ligações telefônicas
O acompanhamento de conversões de chamadas telefônicas permite acompanhar ligações 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
ConversionActionType
Parâmetros de API 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
difere do tipo AD_CALL
porque não
não rastreiam chamadas telefônicas. 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
Um
AD_CALL
a ação de conversão aparece como uma Chamadas de
conversão de anúncios no Google Ads
interface da Web do usuário. Depois de criar sua ação de conversão AD_CALL
, especifique a
nome do recurso no campo call_conversion_action
ao criar um
CallAsset
. Os recursos de
ligação permitem 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
Um
WEBSITE_CALL
a ação de conversão aparece como uma chamada de
conversão no site na
Interface da Web do Google Ads.
Não gostei
AD_CALL
,
este rastreador requer event_snippet
e global_site_tag
para adicionar
seu site para recuperar o número dinâmico de encaminhamento de chamadas do Google para acompanhamento de chamadas
nos números listados no seu site. Além disso, você deve configurar uma chamada
recurso e vincule-o
no nível do cliente, da campanha ou do grupo de anúncios.
Importar conversões off-line
A tabela a seguir mostra
ConversionActionType
Parâmetros de API 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 conversões de cliques e conversões otimizadas para leads | Guia de cliques no upload
Aprimorado Guia de conversões para leads |
UPLOAD_CALLS |
Acompanhar conversões de chamadas | Guia de configuração da API |
STORE_SALES |
Acompanhar as vendas na loja de conversões | Guia de configuração da API |
Conversões otimizadas para a Web
Conversões otimizadas para
Web permitem que você envie
dados de conversão próprios para WEBPAGE
ação 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 fontes, como um banco de dados de clientes ou CRM
sistema.
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ê veicula campanhas para apps iOS
e implementaram
SKAdNetwork, você pode acessar
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 a datas.
|
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 para 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 aplicativo em que o anúncio que gerou a instalação da rede de publicidade do kit da loja do iOS era mostrados. |
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 mostrados. Um valor nulo significa que este segmento não é aplicável, por exemplo, campanha que não fosse para 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 este segmento não é aplicável, por exemplo, campanha que não era para iOS, ou que o domínio de origem e o aplicativo de origem não estavam presentes os postbacks enviados 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 valores de conversão finos observados retornados pela Apple e valores nulos estimados do Google. |
segments.sk_ad_network_version |
A versão da API Ad Network do kit da loja do iOS que foi usada. |
Também é possível salvar um mapeamento do valor da conversão da SKAdNetwork para links específicos
clientes que usam apps iOS no 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="v17" ) 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 do as
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 é necessário afetar os lances e os 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
de uma conversão importada do Universal Analytics resulta em uma
Erro MUTATE_NOT_ALLOWED
. Você só pode fazer essas mudanças na interface do Google Ads.
Firebase e análise de aplicativos de terceiros
Para importar
análise de apps de terceiros
ou do Firebase,
mude o status
do
ConversionAction
de HIDDEN
a ENABLED
usando o método mutate
de
ConversionActionService
. Atualizar o
app_id
não é compatível com estas
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
Embora não seja possível criar STORE_SALES
ou STORE_SALES_DIRECT_UPLOAD
ações de conversão usando a API Google Ads, a API não aceita upload de loja
transações de venda.
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 são fornecidos para fins de geração de 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 sua conta do Google Ads incluir outros tipos de ação de conversão, você poderá
que as consultas e os relatórios retornem ações de conversão em que
ConversionAction.type
é UNKNOWN
.
A API não oferece suporte ao gerenciamento dessas ações de conversão, mas as retorna em
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 um novo
de uma 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 ação de conversão
Importar > Importação manual usando API ou uploads > Acompanhar conversões de
cliques. Ele também define o category
.
para DEFAULT
.
As seguintes configurações padrão são aplicadas:
A API Google Ads define Campo
primary_for_goal
automaticamente, mas é possível definir esse campo explicitamente para controlar como um a ação de conversão afeta os relatórios e os lances na sua conta quando combinada com suas metas de conversão.A API Google Ads define
counting_type
automaticamente paraMANY_PER_CLICK
. Para mais detalhes, consulte Sobre as opções de contabilização de conversões.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.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; }
Esse exemplo também pode ser encontrado na pasta "Remarketing" da sua 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 são compatíveis com uma ampla variedade de ações de conversão, portanto algumas
regras de validação variam de acordo com o type
de ação.
O erro mais comum na criação de 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
- Configurar isso como um descontinuado
opção
resulta em uma
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
erro. O Google Ads só é compatível comGOOGLE_ADS_LAST_CLICK
eGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
click_through_lookback_window_days
Definir esse atributo com 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
como descritas no guia de metas de conversão.phone_call_duration_seconds
Tentar definir esse atributo em uma ação de conversão não destinada a chamadas resulta em um erro
FieldError.VALUE_MUST_BE_UNSET
.type
O atributo
type
é imutável e só pode ser definido ao criar um novo e conversão em massa.Atualizar uma ação de conversão com
type
igual aUNKNOWN
resulta em um erroMutateError.MUTATE_NOT_ALLOWED
.value_settings
O
value_settings
para uma ação de conversãoWEBSITE_CALL
ouAD_CALL
precisa têmalways_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 com um valor fora do intervalo permitido resulta em um Erro
RangeError.TOO_LOW
ouRangeError.TOO_HIGH
. Para a maior parte da conversão ações, o intervalo permitido é[1,30]
.Esse atributo não pode ser definido na conversão
AD_CALL
ouWEBSITE_CALL
ações. A especificação de um valor resulta em um erroVALUE_MUST_BE_UNSET
.