Use os Goal e CampaignGoalConfig
recursos da API Google Ads para configurar metas relacionadas ao ciclo de vida do cliente.
A API Google Ads oferece suporte a metas de aquisição de clientes e
metas de retenção para gerenciar de maneira eficiente os ajustes de valor do ciclo de vida do cliente
nas suas campanhas do Google Ads.
Se a sua conta do Google Ads usa o rastreamento de conversões entre contas, configure as metas de ciclo de vida do cliente na conta de conversão do Google Ads, em vez de fazer isso diretamente na sua conta do Google Ads. No entanto, ainda é necessário definir as configurações no nível da campanha na sua conta. Isso é semelhante à forma como você gerencia outras metas ao usar o rastreamento de conversões entre contas.
Tipos de metas de ciclo de vida do cliente
As metas de ciclo de vida do cliente são configuradas no nível da conta usando o
Goal recurso. Uma meta representa um objetivo específico do ciclo de vida e é definida pelo goal_type.
Os tipos de metas de ciclo de vida com suporte são:
NEW_CUSTOMER_ACQUISITION- Para adquirir novos clientes de maneira eficiente, atribuindo ajustes de valor às conversões deles.
CUSTOMER_RETENTION- Para reengajar clientes atuais, inativos e de alto valor.
LOYALTY_RETENTION- Para aumentar a retenção e o engajamento especificamente entre os membros do programa de fidelidade.
Configurar metas de ciclo de vida do cliente
No nível do cliente, configure uma meta de ciclo de vida criando um
Goal. Pode haver no máximo um Goal por tipo de meta (NEW_CUSTOMER_ACQUISITION, CUSTOMER_RETENTION ou LOYALTY_RETENTION) em uma conta do Google Ads.
Configurações da meta de aquisição de novos clientes
Para configurar a aquisição de novos clientes (NCA, na sigla em inglês), defina o goal_type como
NEW_CUSTOMER_ACQUISITION e configure as definições no
new_customer_acquisition_goal_settings campo usando o
GoalService.
O campo new_customer_acquisition_goal_settings.value_settings usa
CustomerLifecycleOptimizationValueSettings para
especificar ajustes de valor de conversão para clientes adquiridos:
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(oneof):additional_value(double): valor de conversão incremental a ser adicionado à primeira conversão de compra de um novo cliente.value_multiplier(double): multiplicador a ser aplicado ao valor de conversão da primeira compra de um novo cliente (não é compatível comNEW_CUSTOMER_ACQUISITION; compatível comLOYALTY_RETENTION).
high_lifetime_value_adjustment(oneof):additional_high_lifetime_value(double): valor de conversão incremental para novos clientes identificados como de alto valor da vida útil.high_lifetime_value_multiplier(double): multiplicador de valor de conversão a ser aplicado a novos clientes de alto valor da vida útil (ainda não é compatível).
O alto valor da vida útil precisa ser maior que o valor, e o multiplicador de alto valor da vida útil precisa ser estritamente maior que o multiplicador de valor, se definido.
def create_nca_goal(client: GoogleAdsClient, customer_id: str) -> None:
"""Sends an API request to add a new New Customer Acquisition Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.NEW_CUSTOMER_ACQUISITION
# Configure the value adjustments.
value_settings = goal.new_customer_acquisition_goal_settings.value_settings
value_settings.additional_value = 50.0
value_settings.additional_high_lifetime_value = 100.0
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Configurações da meta de retenção de clientes
Para configurar a retenção de clientes, defina o goal_type como CUSTOMER_RETENTION e configure as definições no campo retention_goal_settings.
Antes de criar uma meta de retenção, você precisa atender aos pré-requisitos descritos em Sobre a meta de retenção. Isso inclui ter uma campanha Performance Max e uma lista de usuários da Segmentação por lista de clientes.
def create_retention_goal(client: GoogleAdsClient, customer_id: str) -> None:
"""Sends an API request to add a new Customer Retention Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.CUSTOMER_RETENTION
value_settings = goal.retention_goal_settings.value_settings
value_settings.additional_value = 50.0
value_settings.additional_high_lifetime_value = 100.0
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Isso cria uma nova meta de retenção no nível da conta para a conta de cliente especificada, que é aplicada a todas as campanhas dela. Por padrão, essa meta segmenta todos os usuários nas suas listas de usuários da Segmentação por lista de clientes.
Configurações da meta de retenção de fidelidade
Para configurar metas de retenção de fidelidade para membros do programa de fidelidade, defina o goal_type como LOYALTY_RETENTION e configure as definições no campo loyalty_retention_goal_settings (LoyaltyRetentionGoal).
Ao contrário das metas NEW_CUSTOMER_ACQUISITION e CUSTOMER_RETENTION (que usam
ajustes de valor aditivo), as metas LOYALTY_RETENTION oferecem suporte à configuração value_multiplier em value_settings usando
CustomerLifecycleOptimizationValueSettings:
def create_loyalty_retention_goal(
client: GoogleAdsClient, customer_id: str
) -> None:
"""Sends an API request to add a new Loyalty Retention Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.LOYALTY_RETENTION
goal.loyalty_retention_goal_settings.value_settings.value_multiplier = 1.5
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Segmentar seus públicos-alvo
Você precisa usar o UserListCustomerType recurso
para segmentar seus públicos-alvo para metas do ciclo de vida do cliente (incluindo metas de aquisição de novos clientes
, retenção de clientes e metas de retenção de fidelidade). É necessário associar cada lista de usuários a uma ou mais categorias criando um UserListCustomerType para cada combinação de lista de usuários e categoria.
Use o UserListCustomerTypeService para
criar instâncias UserListCustomerType.
O UserListCustomerTypeService só oferece suporte a create e remove
operações. Portanto, se você quiser atualizar um UserListCustomerType atual, remova-o e crie um novo com as atualizações necessárias.
Um UserListCustomerType só pode ser atribuído a uma lista de usuários, mas uma lista de usuários pode ter várias instâncias UserListCustomerType associadas desde que não haja conflitos entre as instâncias UserListCustomerType. Tentar
atribuir UserListCustomerType instâncias com as seguintes combinações de
customer_type_category à mesma lista de usuários resulta em um erro
UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:
Primeira customer_type_category |
Segunda customer_type_category |
|---|---|
PURCHASERS |
CONVERTED_LEADS |
PURCHASERS |
QUALIFIED_LEADS |
PURCHASERS |
CART_ABANDONERS |
CONVERTED_LEADS |
QUALIFIED_LEADS |
DISENGAGED_CUSTOMERS |
CONVERTED_LEADS |
DISENGAGED_CUSTOMERS |
QUALIFIED_LEADS |
DISENGAGED_CUSTOMERS |
CART_ABANDONERS |
LOYALTY_TIER_X_MEMBERS |
LOYALTY_TIER_Y_MEMBERS |
Configurar as definições de meta de ciclo de vida da campanha configurada
No nível da campanha, é possível configurar substituições ou
opções de segmentação específicas da campanha usando CampaignGoalConfig. Depois
de ter uma meta no nível da conta, use o resource_name dela para criar um
CampaignGoalConfig usando o método mutate_campaign_goal_configs no
CampaignGoalConfigService.
Configurações de aquisição de novos clientes da campanha
Para substituir as configurações ou configurar a segmentação da NCA no nível da campanha,
configure o campo campaign_new_customer_acquisition_settings do tipo
CampaignNewCustomerAcquisitionGoalSettings:
value_settings_override(tipo:CustomerLifecycleOptimizationValueSettings): ajustes de valor personalizados para substituir as configurações no nível da conta.target_option(Tipo:CustomerLifecycleOptimizationMode): controla o modo de otimização do ciclo de vida do cliente. As opções são:TARGET_ALL: a campanha segmenta clientes novos e atuais, mas dá lances mais altos para novos clientes usando os ajustes de valor configurados.TARGET_SPECIFIC: a campanha segmenta apenas novos clientes. Os ajustes de lances não são relevantes para essa opção.
def create_campaign_nca_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for NCA.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing NCA Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
# Set the target option to target both new and existing customers.
nca_settings = goal_config.campaign_new_customer_acquisition_settings
nca_settings.target_option = (
client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_ALL
)
# Optionally override value settings.
nca_settings.value_settings_override.additional_value = 60.0
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
Configurações de retenção de clientes da campanha
Para substituir as configurações ou configurar a segmentação de metas de retenção no nível da campanha, configure o campaign_retention_settings campo do tipo
CampaignRetentionGoalSettings:
value_settings_override(tipo:CustomerLifecycleOptimizationValueSettings): ajustes de valor personalizados para substituir as configurações no nível da conta.target_option(Tipo:CustomerLifecycleOptimizationMode): controla o modo de otimização. O padrão éTARGET_ALL. Para definir comoTARGET_SPECIFIC, sua conta precisa estar na lista de permissões apropriada.
def create_campaign_retention_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for Retention.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing Retention Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
goal_config.campaign_retention_settings.target_option = (
client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_ALL
)
# Accounts on the allowlist can set TARGET_SPECIFIC instead:
# goal_config.campaign_retention_settings.target_option = (
# client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_SPECIFIC
# )
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
O campaign_retention_settings.target_option é definido como TARGET_ALL por padrão se não estiver definido. A opção de definir TARGET_SPECIFIC só está disponível para usuários na lista de permissões apropriada.
Configurações de retenção de fidelidade da campanha
Para substituir as configurações ou configurar o comportamento específico do membro da fidelidade no nível da
campanha para metas LOYALTY_RETENTION, configure o
campaign_loyalty_retention_settings campo do tipo
CampaignLoyaltyRetentionGoalSettings em
CampaignGoalConfig:
value_settings_override(tipo:CustomerLifecycleOptimizationValueSettings): ajustes de valor personalizados para substituir as configurações de valor de retenção de fidelidade no nível da conta.enable_bid_adjustments_for_loyalty_members(tipo:bool): se os ajustes de lances para membros do programa de fidelidade estão ativados nesta campanha.show_targeted_loyalty_member_benefits_in_pla(tipo:bool): se os benefícios segmentados para membros da fidelidade serão exibidos no formato de anúncio com informações do produto (PLA, na sigla em inglês) em países qualificados.
def create_campaign_loyalty_retention_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for Loyalty.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing Loyalty Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
# Enable bid adjustments and targeted loyalty benefits in PLAs.
loyalty_settings = goal_config.campaign_loyalty_retention_settings
loyalty_settings.enable_bid_adjustments_for_loyalty_members = True
loyalty_settings.show_targeted_loyalty_member_benefits_in_pla = True
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
Validação e erros
Ao configurar metas de ciclo de vida do cliente, as seguintes restrições e erros podem ser encontrados:
Erros de validação de metas
- Configuração de meta duplicada
- A criação de uma meta de ciclo de vida duplicada quando já existe uma resulta em um erro
GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(para NCA),GoalError.RETENTION_GOAL_ALREADY_EXISTS(para metas de retenção) ouGoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(para metas de retenção de fidelidade). - Configurações de valor inválidas
- Ao configurar as definições de valor da meta de ciclo de vida, se o alto valor da vida útil estiver
presente, o valor padrão também precisará estar
(
GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), e o alto valor da vida útil precisará ser maior que o valor, se definido (GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). - Da mesma forma, para configurações de valor multiplicativo, se o multiplicador de alto valor da vida útil
estiver presente, o multiplicador de valor também precisará estar
(
GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), e o multiplicador de alto valor da vida útil precisará ser estritamente maior que o multiplicador de valor (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).
Erros de validação de configuração de meta da campanha
- Conflito de substituição de valor específico do destino
- Para metas de aquisição de novos clientes, se
target_optionestiver definido comoTARGET_SPECIFIC(para segmentar apenas novos clientes), as substituições de valor no nível da campanha não poderão ser configuradas (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Os ajustes de lances não são relevantes ao segmentar apenas novos clientes. - Substituição de configurações de valor inválida
- Ao configurar substituições de configurações de valor de ciclo de vida no nível da campanha, se o alto valor da vida útil estiver presente, o valor padrão também precisará estar (
CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), e o alto valor da vida útil precisará ser maior que o valor, se definido (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). Da mesma forma, para configurações de valor multiplicativo, se o multiplicador de alto valor da vida útil estiver presente, o multiplicador de valor também precisará estar (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), e o multiplicador de alto valor da vida útil precisará ser estritamente maior que o multiplicador de valor (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER). - Suporte a tipos de campanha de alto valor da vida útil
- As substituições de alto valor da vida útil e as substituições de multiplicador de alto valor da vida útil só podem ser definidas para tipos de campanha com suporte (
CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPEouCampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE). - Metas incompatíveis
- Um erro será gerado se uma campanha tentar aplicar metas de otimização do ciclo de vida do cliente incompatíveis simultaneamente (
CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). A tabela a seguir descreve combinações de metas mutuamente exclusivas que acionam esse erro:
| Tipo / modo de metas do ciclo de vida do cliente | Meta / modo incompatível |
|---|---|
Retenção de clientes ("Dar lances apenas para clientes inativos" /
TARGET_SPECIFIC)
|
Aquisição de novos clientes ("Dar lances apenas para novos clientes" /
TARGET_SPECIFIC, "Dar lances mais altos para novos clientes" /
TARGET_ALL), prospecção
|
Retenção de clientes ("Dar lances mais altos para clientes inativos" /
TARGET_ALL)
|
Aquisição de novos clientes ("Dar lances apenas para novos clientes" /
TARGET_SPECIFIC), prospecção
|
| Retenção de fidelidade (multiplicador de valor) |
Aquisição de novos clientes ("Dar lances apenas para novos clientes" /
TARGET_SPECIFIC), retenção de clientes ("Dar lances apenas para clientes inativos" / TARGET_SPECIFIC), prospecção, lucro bruto
|
| Retenção de fidelidade (benefícios no PLA) |
Aquisição de novos clientes ("Dar lances apenas para novos clientes" /
TARGET_SPECIFIC), prospecção, lucro bruto
|
| Prospecção |
Aquisição de novos clientes ("Dar lances apenas para novos clientes" /
TARGET_SPECIFIC, "Dar lances mais altos para novos clientes" /
TARGET_ALL)
|
Recuperar metas de ciclo de vida
Assim como outros recursos da API Google Ads, use os search ou searchStream
métodos de GoogleAdsService para recuperar metas e configurações de ciclo de vida.
A consulta a seguir recupera os detalhes de cada Goal configurado em uma conta da API Google Ads:
SELECT
goal.goal_id,
goal.goal_type,
goal.owner_customer,
goal.new_customer_acquisition_goal_settings.value_settings.additional_value,
goal.new_customer_acquisition_goal_settings.value_settings.additional_high_lifetime_value,
goal.retention_goal_settings.value_settings.additional_value,
goal.retention_goal_settings.value_settings.additional_high_lifetime_value,
goal.loyalty_retention_goal_settings.value_settings.value_multiplier
FROM goal
Da mesma forma, a consulta a seguir recupera os detalhes de cada CampaignGoalConfig:
SELECT
campaign_goal_config.campaign,
campaign_goal_config.goal,
campaign_goal_config.goal_type,
campaign_goal_config.campaign_new_customer_acquisition_settings.target_option,
campaign_goal_config.campaign_new_customer_acquisition_settings.value_settings_override.additional_value,
campaign_goal_config.campaign_new_customer_acquisition_settings.value_settings_override.additional_high_lifetime_value,
campaign_goal_config.campaign_retention_settings.target_option,
campaign_goal_config.campaign_retention_settings.value_settings_override.additional_value,
campaign_goal_config.campaign_loyalty_retention_settings.value_settings_override.value_multiplier,
campaign_goal_config.campaign_loyalty_retention_settings.enable_bid_adjustments_for_loyalty_members,
campaign_goal_config.campaign_loyalty_retention_settings.show_targeted_loyalty_member_benefits_in_pla
FROM campaign_goal_config