Obiettivi basati sul ciclo di vita

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 customer lifetime value 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 di conversione Google Ads anziché direttamente nel tuo account Google Ads. Tuttavia, devi comunque impostare le configurazioni a livello di campagna nel tuo account. Questo è simile al modo in cui 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 un traguardo 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 dei valori alle loro conversioni.
CUSTOMER_RETENTION
Per coinvolgere di nuovo i clienti esistenti, di alto valore e non più attivi.
LOYALTY_RETENTION
Per aumentare la fidelizzazione e il coinvolgimento in particolare tra i membri del programma fedeltà.

Configura 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 per NEW_CUSTOMER_ACQUISITION; supportato per LOYALTY_RETENTION).
    • high_lifetime_value_adjustment (oneof):
      • additional_high_lifetime_value (double): valore di conversione incrementale per i nuovi clienti identificati come 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 rigorosamente 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 degli obiettivi di customer retention

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 sue campagne. Per impostazione predefinita, questo obiettivo ha come target tutti gli utenti negli elenchi di utenti Customer Match.

Impostazioni dell'obiettivo di fidelizzazione del programma fedeltà

Per impostare 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 del valore additivi), 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]
    )

Segmenta 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 (tra cui gli obiettivi di acquisizione di nuovi clienti, customer retention 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 ci siano conflitti tra le istanze UserListCustomerType. Se provi ad assegnare UserListCustomerType istanze con le seguenti combinazioni di customer_type_category allo stesso elenco di utenti, si verifica un errore UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:

customer_type_category dalla pubblicazione Seconda 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

Configura le impostazioni degli obiettivi basati sul ciclo di vita della campagna configurata

A livello di campagna, puoi configurare sostituzioni o opzioni di targeting specifiche per la campagna utilizzando CampaignGoalConfig. Una volta creato un obiettivo a livello di account, utilizza il relativo resource_name per creare un CampaignGoalConfig utilizzando il metodo mutate_campaign_goal_configs sulla CampaignGoalConfigService.

Impostazioni di acquisizione di nuovi clienti della campagna

Per eseguire l'override delle impostazioni o configurare il targeting per 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 eseguire l'override delle 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ù alte 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 eseguire l'override delle 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 eseguire l'override delle impostazioni a livello di account.
  • target_option (tipo: CustomerLifecycleOptimizationMode): controlla la modalità di ottimizzazione. Il valore predefinito è TARGET_ALL. Per impostarlo su TARGET_SPECIFIC, il tuo account deve essere incluso 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]
    )

Il valore predefinito di campaign_retention_settings.target_option è TARGET_ALL se non è impostato. L'opzione per impostare TARGET_SPECIFIC è disponibile solo per gli utenti nella lista consentita appropriata.

Impostazioni di fidelizzazione del programma fedeltà della campagna

Per eseguire l'override delle 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 eseguire l'override delle impostazioni del valore di fidelizzazione dei clienti a livello di account.
  • enable_bid_adjustments_for_loyalty_members (tipo: 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 dell'abbonamento per i membri del programma fedeltà nel formato degli annunci 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

Durante la configurazione degli obiettivi basati sul ciclo di vita dei clienti, potrebbero verificarsi i seguenti vincoli ed errori:

Errori di convalida degli obiettivi

Configurazione degli obiettivi duplicati
La creazione di un obiettivo basato sul ciclo di vita duplicato quando ne esiste già uno genera un errore GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS (per NCA), GoalError.RETENTION_GOAL_ALREADY_EXISTS (per gli obiettivi di fidelizzazione) o GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS (per gli obiettivi di fidelizzazione dei clienti fedeli).
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 il 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).
Analogamente, 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 rigorosamente maggiore del moltiplicatore del valore (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).

Errori di convalida della configurazione degli obiettivi della campagna

Conflitto di override del valore specifico del target
Per gli obiettivi di acquisizione di nuovi clienti, se target_option è impostato su TARGET_SPECIFIC (per scegliere come target solo i nuovi clienti), non devono essere configurate le sostituzioni dei valori a livello di campagna (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Gli aggiustamenti delle offerte non sono applicabili quando il targeting è impostato solo sui nuovi clienti.
Override delle impostazioni del valore non valido
Quando configuri gli override delle impostazioni del lifetime value a livello di campagna, se è presente un lifetime value elevato, deve essere presente anche il valore standard (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT) e il lifetime value elevato deve essere maggiore del valore, se impostato (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). Analogamente, per le impostazioni dei valori moltiplicativi, se è presente il moltiplicatore del lifetime value elevato, deve essere presente anche il moltiplicatore del valore (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT) e il moltiplicatore del lifetime value elevato deve essere rigorosamente maggiore del moltiplicatore del valore (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).
Supporto dei tipi di campagne con lifetime value elevato
Le sostituzioni del lifetime value elevato e del moltiplicatore del lifetime value elevato devono essere impostate solo per i tipi di campagna supportati (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE o CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE).
Obiettivi non compatibili
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 tabella seguente descrive le combinazioni di obiettivi che si escludono a vicenda e che attivano questo errore:
Tipo/modalità di obiettivo basato sul ciclo di vita dei clienti Obiettivo/modalità non compatibile
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), Prospecting
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), Prospecting
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), prospecting, profitto lordo
Fidelizzazione (vantaggi in PLA) Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti"/TARGET_SPECIFIC), Prospecting, Profitto 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)

Recupera gli obiettivi basati sul ciclo di vita

Come per le 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 seguente query 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