Obiettivi basati sul ciclo di vita

Utilizza le risorse Goal e CampaignGoalConfig dell'API Google Ads per configurare gli obiettivi relativi al ciclo di vita dei clienti. L'API Google Ads supporta gli obiettivi di acquisizione e fidelizzazione dei clienti per gestire in modo efficiente gli aggiustamenti del valore del ciclo di vita dei clienti 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. Questa procedura è simile a quella che utilizzi per gestire 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 Goal risorsa. Un obiettivo rappresenta un obiettivo 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 efficiente 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 fidelizzazione e il coinvolgimento in modo specifico 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ò esistere 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, imposta goal_type su NEW_CUSTOMER_ACQUISITION e configura le impostazioni nel new_customer_acquisition_goal_settings campo utilizzando il 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 del 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 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, se impostato, il moltiplicatore del lifetime value elevato deve essere strettamente maggiore del moltiplicatore del valore.

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 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 avere una campagna Performance Max e un elenco 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 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 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]
    )

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, customer retention e fidelizzazione). Devi associare ogni elenco utenti a una o più categorie creando un UserListCustomerType per ogni combinazione di elenco utenti e categoria.

Utilizza UserListCustomerTypeService per creare UserListCustomerType istanze.

Il 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 istanze UserListCustomerType con le seguenti combinazioni di customer_type_category allo stesso elenco utenti, viene generato un errore UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:

Prima customer_type_category 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

Configurare le configurazioni degli obiettivi basati sul ciclo di vita della campagna

A livello di campagna, puoi configurare le opzioni di targeting o le sostituzioni specifiche della campagna utilizzando CampaignGoalConfig. Una volta che hai un obiettivo a livello di account, utilizza il relativo resource_name per creare un CampaignGoalConfig utilizzando il metodo mutate_campaign_goal_configs su CampaignGoalConfigService.

Impostazioni di acquisizione di nuovi clienti della campagna

Per sostituire le impostazioni o configurare il targeting per l'acquisizione di nuovi clienti a livello di campagna, configura il campo campaign_new_customer_acquisition_settings di tipo CampaignNewCustomerAcquisitionGoalSettings:

  • value_settings_override (tipo: CustomerLifecycleOptimizationValueSettings): aggiustamenti del valore personalizzati per sostituire le impostazioni a livello di account.
  • target_option (tipo: CustomerLifecycleOptimizationMode): controlla la modalità di ottimizzazione del ciclo di vita dei clienti. 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 sostituire 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 del valore personalizzati per sostituire le impostazioni a livello di account.
  • target_option (Tipo: CustomerLifecycleOptimizationMode): controlla la modalità di ottimizzazione. Il valore predefinito è TARGET_ALL. Per impostare TARGET_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 nella lista consentita appropriata.

Impostazioni di fidelizzazione della campagna

Per sostituire le impostazioni o configurare un comportamento specifico per i membri del programma fedeltà a livello di campagna per gli obiettivi LOYALTY_RETENTION configura il campaign_loyalty_retention_settings campo di tipo CampaignLoyaltyRetentionGoalSettings su CampaignGoalConfig:

  • value_settings_override (tipo: CustomerLifecycleOptimizationValueSettings): aggiustamenti del valore personalizzati per sostituire le impostazioni del valore di fidelizzazione 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 mirati per i membri del programma fedeltà nel formato degli annunci con scheda di prodotto 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 duplicata
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 l'acquisizione di nuovi clienti), GoalError.RETENTION_GOAL_ALREADY_EXISTS (per gli obiettivi di retention) o GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS (per gli obiettivi di fidelizzazione).
Impostazioni del valore 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, se impostato, il lifetime value elevato deve essere maggiore del valore (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 degli obiettivi della campagna

Conflitto di sostituzione del valore target specifico
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 del valore a livello di campagna (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Gli aggiustamenti delle offerte non sono applicabili quando scegli come target solo i nuovi clienti.
Sostituzione delle impostazioni del valore non valida
Quando configuri le sostituzioni delle impostazioni del valore del ciclo di vita a livello di campagna, se è presente un lifetime value elevato, deve essere presente anche un valore standard (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT) e, se impostato, il lifetime value elevato deve essere maggiore del valore (CampaignGoalConfigError.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 (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT) e il moltiplicatore del lifetime value 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 le sostituzioni del moltiplicatore del lifetime value elevato devono essere impostate solo per i tipi di campagne 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 incompatibili
Viene generato un errore se una campagna tenta di applicare contemporaneamente obiettivi di ottimizzazione del ciclo di vita dei clienti incompatibili (CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). La seguente tabella descrive le combinazioni di obiettivi reciprocamente esclusive che attivano questo errore:
Tipo / modalità di 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 offerte più alte per i nuovi clienti" / TARGET_ALL), individuazione di potenziali clienti
Customer retention ("Fai offerte più alte per i clienti non più attivi" / TARGET_ALL) Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" / TARGET_SPECIFIC), individuazione di potenziali clienti
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), individuazione di potenziali clienti, profitto lordo
Fidelizzazione (vantaggi negli annunci con scheda di prodotto) Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" / TARGET_SPECIFIC), individuazione di potenziali clienti, profitto lordo
Individuazione di potenziali clienti Acquisizione di nuovi clienti ("Fai offerte solo per i nuovi clienti" / TARGET_SPECIFIC, "Fai offerte più alte per i nuovi clienti" / TARGET_ALL)

Recuperare gli obiettivi basati sul ciclo di vita

Come per le altre risorse dell'API Google Ads, utilizza i metodi search o searchStream di GoogleAdsService per recuperare gli obiettivi e le configurazioni basati sul 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

Allo stesso modo, 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