Utilizza le risorse Goal e CampaignGoalConfig
dell'API Google Ads per configurare gli obiettivi correlati al ciclo di vita del cliente.
L'API Google Ads supporta gli obiettivi di acquisizione di clienti e gli obiettivi di fidelizzazione per gestire in modo efficiente gli aggiustamenti del valore del ciclo di vita del cliente tramite le campagne Google Ads.
Se il tuo account Google Ads utilizza il monitoraggio delle conversioni su più account, devi configurare gli obiettivi basati sul ciclo di vita a livello di cliente nell'account delle conversioni Google Ads anziché direttamente nel tuo account Google Ads. Tuttavia, devi comunque impostare le configurazioni a livello di campagna nel tuo account. In modo simile a come gestisci altri obiettivi quando utilizzi il monitoraggio delle conversioni su più account.
Tipi di obiettivi basati sul ciclo di vita dei clienti
Gli obiettivi basati sul ciclo di vita dei clienti vengono configurati a livello di account utilizzando la risorsa
Goal. Un obiettivo rappresenta uno scopo specifico del ciclo di vita
ed è definito dal relativo goal_type.
I tipi di obiettivi basati sul ciclo di vita supportati sono:
NEW_CUSTOMER_ACQUISITION- Per acquisire nuovi clienti in modo efficace assegnando aggiustamenti del valore alle loro conversioni.
CUSTOMER_RETENTION- Per coinvolgere di nuovo i clienti esistenti, di alto valore e non più attivi.
LOYALTY_RETENTION- Per aumentare la retention e il coinvolgimento in particolare tra i membri del programma fedeltà.
Configurare gli obiettivi basati sul ciclo di vita dei clienti
A livello di cliente, configura un obiettivo basato sul ciclo di vita creando un
Goal. In un account Google Ads può essere presente al massimo un Goal per tipo di obiettivo
(NEW_CUSTOMER_ACQUISITION, CUSTOMER_RETENTION o LOYALTY_RETENTION).
Impostazioni dell'obiettivo di acquisizione di nuovi clienti
Per configurare l'acquisizione di nuovi clienti (NCA), imposta goal_type su
NEW_CUSTOMER_ACQUISITION e configura le impostazioni nel campo
new_customer_acquisition_goal_settings utilizzando
GoalService.
Il campo new_customer_acquisition_goal_settings.value_settings utilizza
CustomerLifecycleOptimizationValueSettings per
specificare gli aggiustamenti del valore di conversione per i clienti acquisiti:
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(oneof):additional_value(double): valore di conversione incrementale da aggiungere alla conversione del primo acquisto di un nuovo cliente.value_multiplier(double): moltiplicatore da applicare al valore di conversione per il primo acquisto di un nuovo cliente (non supportato perNEW_CUSTOMER_ACQUISITION; supportato perLOYALTY_RETENTION).
high_lifetime_value_adjustment(oneof):additional_high_lifetime_value(double): Valore di conversione incrementale per i nuovi clienti identificati come clienti con lifetime value elevato.high_lifetime_value_multiplier(double): moltiplicatore del valore di conversione da applicare ai nuovi clienti con lifetime value elevato (non ancora supportato).
Il lifetime value elevato deve essere maggiore del valore e il moltiplicatore del lifetime value elevato deve essere strettamente maggiore del moltiplicatore del valore, se impostato.
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]
)
Impostazioni dell'obiettivo di fidelizzazione dei clienti
Per configurare la customer retention, imposta goal_type su CUSTOMER_RETENTION e configura le impostazioni nel campo retention_goal_settings.
Prima di creare un obiettivo di fidelizzazione, devi soddisfare i prerequisiti descritti in Informazioni sull'obiettivo di fidelizzazione. Ciò include una campagna Performance Max e un elenco di utenti Customer Match.
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]
)
In questo modo viene creato un nuovo obiettivo di fidelizzazione a livello di account per l'account cliente specificato, che viene applicato a tutte le relative campagne. Per impostazione predefinita, questo obiettivo ha come target tutti gli utenti negli elenchi di utenti Customer Match.
Impostazioni dell'obiettivo di fidelizzazione
Per configurare gli obiettivi di fidelizzazione per i membri del programma fedeltà, imposta
goal_type su LOYALTY_RETENTION e configura le impostazioni nel campo
loyalty_retention_goal_settings (LoyaltyRetentionGoal).
A differenza degli obiettivi NEW_CUSTOMER_ACQUISITION e CUSTOMER_RETENTION (che utilizzano
aggiustamenti additivi del valore), gli obiettivi LOYALTY_RETENTION supportano l'impostazione
value_multiplier in value_settings utilizzando
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]
)
Segmentare i segmenti di pubblico
Devi utilizzare la risorsa UserListCustomerType
per segmentare i segmenti di pubblico per gli obiettivi basati sul ciclo di vita dei clienti (inclusi gli obiettivi di acquisizione di nuovi clienti, fidelizzazione dei clienti e fidelizzazione). Devi
associare ogni elenco di utenti a una o più categorie creando un
UserListCustomerType per ogni combinazione di elenco di utenti e categoria.
Utilizza UserListCustomerTypeService per
creare istanze UserListCustomerType.
UserListCustomerTypeService supporta solo le operazioni create e remove, quindi se vuoi aggiornare un UserListCustomerType esistente devi rimuoverlo e poi crearne uno nuovo con gli aggiornamenti necessari.
Un UserListCustomerType può essere assegnato a un solo elenco utenti, ma un elenco utenti può avere più istanze UserListCustomerType associate a condizione che non vi siano conflitti tra le istanze UserListCustomerType. Se provi ad assegnare UserListCustomerType istanze con le seguenti combinazioni di customer_type_category allo stesso elenco utenti, si verifica un errore UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:
customer_type_category dalla pubblicazione |
Secondo 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 |
Configurare le configurazioni degli obiettivi del ciclo di vita della campagna
A livello di campagna, puoi configurare override o
opzioni di targeting specifiche per la campagna utilizzando CampaignGoalConfig. Una volta
che hai un obiettivo a livello di account, utilizza resource_name per creare un
CampaignGoalConfig utilizzando il metodo mutate_campaign_goal_configs su
CampaignGoalConfigService.
Impostazioni di acquisizione di nuovi clienti della campagna
Per ignorare le impostazioni o configurare il targeting per l'NCA a livello di campagna,
configura il campo campaign_new_customer_acquisition_settings di tipo
CampaignNewCustomerAcquisitionGoalSettings:
value_settings_override(Tipo:CustomerLifecycleOptimizationValueSettings): Aggiustamenti dei valori personalizzati per ignorare le impostazioni a livello di account.target_option(Tipo:CustomerLifecycleOptimizationMode): controlla la modalità di ottimizzazione del ciclo di vita del cliente. Le opzioni sono:TARGET_ALL: la campagna ha come target sia i clienti nuovi che quelli esistenti, ma fa offerte più elevate per i nuovi clienti utilizzando gli aggiustamenti del valore configurati.TARGET_SPECIFIC: La campagna ha come target solo i nuovi clienti. Gli aggiustamenti delle offerte non sono applicabili a questa opzione.
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]
)
Impostazioni di customer retention della campagna
Per ignorare le impostazioni o configurare il targeting per gli obiettivi di fidelizzazione a livello di campagna, configura il campo campaign_retention_settings di tipo CampaignRetentionGoalSettings:
value_settings_override(Tipo:CustomerLifecycleOptimizationValueSettings): Aggiustamenti dei valori personalizzati per ignorare le impostazioni a livello di account.target_option(Tipo:CustomerLifecycleOptimizationMode): controlla la modalità di ottimizzazione. Il valore predefinito èTARGET_ALL. Per impostarlo suTARGET_SPECIFIC, il tuo account deve trovarsi nella lista consentita appropriata.
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]
)
Se non impostato, il valore predefinito di campaign_retention_settings.target_option è TARGET_ALL. L'opzione per impostare TARGET_SPECIFIC è disponibile solo per gli utenti
della lista consentita appropriata.
Impostazioni di fidelizzazione della campagna
Per ignorare le impostazioni o configurare un comportamento specifico per i membri del programma fedeltà a livello di campagna per gli obiettivi LOYALTY_RETENTION, configura il campo campaign_loyalty_retention_settings di tipo CampaignLoyaltyRetentionGoalSettings su CampaignGoalConfig:
value_settings_override(Tipo:CustomerLifecycleOptimizationValueSettings): Aggiustamenti dei valori personalizzati per ignorare le impostazioni dei valori di fidelizzazione a livello di account.enable_bid_adjustments_for_loyalty_members(Type:bool): indica se attivare gli aggiustamenti delle offerte per i membri del programma fedeltà in questa campagna.show_targeted_loyalty_member_benefits_in_pla(tipo:bool): indica se mostrare i vantaggi mirati per i membri del programma fedeltà nel formato dell'annuncio con scheda di prodotto (ASP) nei paesi idonei.
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]
)
Convalida ed errori
Quando configuri gli obiettivi basati sul ciclo di vita dei clienti, potresti riscontrare i seguenti vincoli ed errori:
Errori di convalida degli obiettivi
- Configurazione degli obiettivi duplicati
- La creazione di un obiettivo del ciclo di vita duplicato quando ne esiste già uno genera un errore
GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(per l'NCA),GoalError.RETENTION_GOAL_ALREADY_EXISTS(per gli obiettivi di fidelizzazione) oGoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(per gli obiettivi di fidelizzazione della fedeltà). - Impostazioni dei valori non valide
- Quando configuri le impostazioni del valore dell'obiettivo basato sul ciclo di vita, se è presente un lifetime value elevato, deve essere presente anche un valore standard
(
GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT) e il lifetime value elevato deve essere maggiore del valore, se impostato (GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). - Allo stesso modo, per le impostazioni del valore moltiplicativo, se è presente il moltiplicatore del lifetime value elevato, deve essere presente anche il moltiplicatore del valore
(
GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT) e il moltiplicatore del lifetime value elevato deve essere strettamente maggiore del moltiplicatore del valore (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).
Errori di convalida della configurazione dell'obiettivo della campagna
- Conflitto di override di un valore specifico target
- Per gli obiettivi di acquisizione di nuovi clienti, se
target_optionè impostato suTARGET_SPECIFIC(per scegliere come target solo i nuovi clienti), gli override del valore a livello di campagna non devono essere configurati (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Gli aggiustamenti delle offerte non sono applicabili quando il targeting è impostato su solo nuovi clienti. - Override delle impostazioni dei valori non valido
- Quando configuri gli override dell'impostazione del valore del ciclo di vita a livello di campagna, se è presente un valore del ciclo di vita elevato, deve essere presente anche il valore standard
(
CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT) e il valore del ciclo di vita elevato deve essere maggiore del valore, se impostato (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). Allo stesso modo, per le impostazioni del valore moltiplicativo, se è presente il moltiplicatore del valore del ciclo di vita elevato, deve essere presente anche il moltiplicatore del valore (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT) e il moltiplicatore del valore del ciclo di vita elevato deve essere strettamente maggiore del moltiplicatore del valore (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER). - Supporto del tipo di campagna con lifetime value elevato
- Le sostituzioni del lifetime value elevato e i moltiplicatori del lifetime value elevato
devono essere impostati solo per i tipi di campagne supportati
(
CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPEoCampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE). - Obiettivi incompatibili
- Viene generato un errore se una campagna tenta di applicare contemporaneamente obiettivi di ottimizzazione del ciclo di vita del cliente incompatibili
(
CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). La seguente tabella illustra le combinazioni di obiettivi reciprocamente esclusive che attivano questo errore:
| Tipo / modalità dell'obiettivo basato sul ciclo di vita dei clienti | Obiettivo / modalità incompatibile |
|---|---|
Customer retention ("Fai offerte solo per i clienti non più attivi" /
TARGET_SPECIFIC)
|
Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" /
TARGET_SPECIFIC, "Fai un'offerta più alta per i nuovi clienti" /
TARGET_ALL), Prospezione
|
Customer retention ("Fai un'offerta più alta per i clienti non più attivi" /
TARGET_ALL)
|
Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" /
TARGET_SPECIFIC), Prospezione
|
| Fidelizzazione (moltiplicatore del valore) |
Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" /
TARGET_SPECIFIC), Customer retention ("Fai offerte solo per i clienti non più attivi" / TARGET_SPECIFIC), Prospezione, Utile lordo
|
| Fidelizzazione (vantaggi in ASP) |
Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" /
TARGET_SPECIFIC), Prospezione, Utile lordo
|
| Individuazione di potenziali clienti |
Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" /
TARGET_SPECIFIC, "Fai un'offerta più alta per i nuovi clienti" /
TARGET_ALL)
|
Recuperare gli obiettivi basati sul ciclo di vita
Come per altre risorse nell'API Google Ads, utilizza i metodi search o searchStream di GoogleAdsService per recuperare gli obiettivi e le configurazioni del ciclo di vita.
La seguente query recupera i dettagli di ogni Goal configurato in un
account 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
Analogamente, la query seguente recupera i dettagli di ogni
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