生命周期目标

使用 Google Ads API 的 Goal 和 CampaignGoalConfig 资源来配置与客户生命周期相关的目标。Google Ads API 支持客户获取目标和客户留存目标,以便您通过 Google Ads 广告系列高效管理客户生命周期价值调整。

如果您的 Google Ads 账号使用跨账号转化跟踪,则必须在 Google Ads 转化账号中配置客户级生命周期目标,而不是直接在 Google Ads 账号中配置。不过,您仍应在账号中设置广告系列级配置。这与您在使用跨账号转化跟踪时管理其他目标的方式类似。

客户生命周期目标类型

客户生命周期目标是在账号级使用 Goal 资源进行配置的。目标表示特定的生命周期目标,由其 goal_type 定义。

支持的生命周期目标类型包括:

NEW_CUSTOMER_ACQUISITION
通过为新客户的转化分配价值调整额,高效获取新客户。
CUSTOMER_RETENTION
用于再次吸引现有客户、高价值客户和已流失的客户。
LOYALTY_RETENTION
用于专门提高会员的留存率和互动度。

配置客户生命周期目标

在客户级别,通过创建 Goal 来配置生命周期目标。一个 Google Ads 账号中每种目标类型(NEW_CUSTOMER_ACQUISITION、CUSTOMER_RETENTION 或 LOYALTY_RETENTION)最多只能有一个 Goal。

“新客户获取”目标设置

如需设置“新客户获取”(NCA),请将 goal_type 设置为 NEW_CUSTOMER_ACQUISITION,并使用 GoalService 在 new_customer_acquisition_goal_settings 字段中配置设置。

new_customer_acquisition_goal_settings.value_settings 字段使用 CustomerLifecycleOptimizationValueSettings 来指定所获客户的转化价值调整:

  • value_settings(CustomerLifecycleOptimizationValueSettings):
    • value_adjustment(oneof):
      • additional_value(双精度浮点数):要添加到新客户的首次购买转化中的增量转化价值。
      • value_multiplier(双精度浮点数):要应用于新客户首次购买的转化价值的调节系数(不支持 NEW_CUSTOMER_ACQUISITION;支持 LOYALTY_RETENTION)。
    • high_lifetime_value_adjustment(oneof):
      • additional_high_lifetime_value(双精度):被确定为具有高生命周期价值的新客户的增量转化价值。
      • high_lifetime_value_multiplier(双精度浮点数):要应用于具有高生命周期价值的新客户的转化价值调节系数(尚不支持)。

高生命周期价值应大于价值,并且高生命周期价值调节系数(如果已设置)必须严格大于价值调节系数。

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]
    )

“客户留存”目标设置

如需设置客户留存目标,请将 goal_type 设置为 CUSTOMER_RETENTION,并在 retention_goal_settings 字段中配置相关设置。

在创建保留目标之前,您必须满足保留目标简介中所述的前提条件。这包括拥有效果最大化广告系列和目标客户匹配用户名单。

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]
    )

这会在指定客户账号中创建新的账号级“客户留存”目标,并将其应用于该账号的所有广告系列。默认情况下,此目标会定位到目标客户匹配用户名单中的所有用户。

会员留存目标设置

如需为会员设置会员客户留存目标,请将 goal_type 设置为 LOYALTY_RETENTION,并在 loyalty_retention_goal_settings 字段 (LoyaltyRetentionGoal) 中配置相关设置。

与 NEW_CUSTOMER_ACQUISITION 和 CUSTOMER_RETENTION 目标(使用加性价值调整)不同,LOYALTY_RETENTION 目标支持在 value_settings 中使用 CustomerLifecycleOptimizationValueSettings 设置 value_multiplier:

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]
    )

细分受众群

您必须使用 UserListCustomerType 资源来细分受众群体,以实现客户生命周期目标(包括“新客户获取”“客户留存”和“忠诚度留存”目标)。您必须为每个用户列表关联一个或多个类别,方法是为用户列表与类别的每种组合创建一个 UserListCustomerType。

使用 UserListCustomerTypeService 创建 UserListCustomerType 实例。

UserListCustomerTypeService 仅支持 create 和 remove 操作,因此如果您想更新现有的 UserListCustomerType,必须 先将其移除,然后创建一个包含必要更新的新 UserListCustomerType。

一个 UserListCustomerType 只能分配给一个用户名单,但一个用户名单 可以关联多个 UserListCustomerType 实例 ,前提是这些 UserListCustomerType 实例之间没有冲突。尝试将具有以下 customer_type_category 组合的 UserListCustomerType 实例分配给同一用户列表会导致 UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES 错误:

前 customer_type_category 第二步 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

配置广告系列生命周期目标配置

在广告系列一级,您可以使用 CampaignGoalConfig 配置专门针对广告系列的替换或定位选项。获得账号级目标后,使用其 resource_name 通过 CampaignGoalConfigService 上的 mutate_campaign_goal_configs 方法创建 CampaignGoalConfig。

广告系列新客户获取设置

如需在广告系列级覆盖设置或为 NCA 配置定位条件,请配置类型为 CampaignNewCustomerAcquisitionGoalSettings 的 campaign_new_customer_acquisition_settings 字段:

  • value_settings_override(类型:CustomerLifecycleOptimizationValueSettings):用于替换账号级设置的自定义价值调整。
  • target_option(类型:CustomerLifecycleOptimizationMode):控制客户生命周期优化模式。选项包括:
    • TARGET_ALL:广告系列同时面向新客户和现有客户,但会使用配置的价值调整针对新客户提高出价。
    • TARGET_SPECIFIC:相应广告系列仅面向新客户。出价调整不适用于此选项。
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]
    )

广告系列客户留存设置

如需在广告系列一级替换设置或为用户留存目标配置定位,请配置类型为 CampaignRetentionGoalSettings 的 campaign_retention_settings 字段:

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]
    )

如果未设置,campaign_retention_settings.target_option 默认值为 TARGET_ALL。只有在相应许可名单中的用户才能设置 TARGET_SPECIFIC。

广告系列会员留存设置

如需在广告系列一级针对 LOYALTY_RETENTION 目标覆盖设置或配置面向会员的专属行为,请在 CampaignGoalConfig 上配置 CampaignLoyaltyRetentionGoalSettings 类型的 campaign_loyalty_retention_settings 字段:

  • value_settings_override(类型:CustomerLifecycleOptimizationValueSettings):用于替换账号级会员留存价值设置的自定义价值调整。
  • enable_bid_adjustments_for_loyalty_members(类型:bool):是否在此广告系列中针对会员回馈活动的成员启用出价调整。
  • show_targeted_loyalty_member_benefits_in_pla(类型:bool):是否在符合条件的国家/地区以产品详情广告 (PLA) 格式显示面向忠诚度会员的专属福利。
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]
    )

验证和错误

配置客户生命周期目标时,可能会遇到以下限制和错误:

目标验证错误

重复的目标配置
如果已存在生命周期目标,再创建重复的生命周期目标会导致出现 GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(对于“新客户获取”目标)、GoalError.RETENTION_GOAL_ALREADY_EXISTS(对于“客户留存”目标)或 GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(对于“忠诚度留存”目标)错误。
值设置无效
在配置生命周期目标价值设置时,如果存在高生命周期价值,则必须存在标准价值 (GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT),并且高生命周期价值必须大于价值(如果已设置)(GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE)。
同样,对于乘数价值设置,如果存在高生命周期价值调节系数,则必须存在价值调节系数 (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT),并且高生命周期价值调节系数必须严格大于价值调节系数 (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER)。

广告系列目标配置验证错误

目标特定价值替换冲突
对于“新客户获取”目标,如果将 target_option 设置为 TARGET_SPECIFIC(仅定位新客户),则不得配置广告系列级价值覆盖(CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION)。仅定位新客户时,出价调整不适用。
无效的值设置覆盖
在配置广告系列级生命周期价值设置替换项时,如果存在高生命周期价值,则必须存在标准价值 (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT),并且高生命周期价值必须大于价值(如果已设置)(CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE)。同样,对于乘数价值设置,如果存在高生命周期价值乘数,则必须存在价值乘数 (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT),并且高生命周期价值乘数必须严格大于价值乘数 (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER)。
支持高生命周期价值的广告系列类型
高生命周期价值替换值和高生命周期价值调节系数替换值只能针对受支持的广告系列类型(CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE 或 CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE)进行设置。
不兼容的目标
如果广告系列尝试同时应用不兼容的客户生命周期优化目标 (CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS),系统会抛出错误。下表列出了会触发此错误的互斥目标组合
:
客户生命周期目标类型 / 模式 目标 / 模式不兼容
客户留存(“仅针对已流失的客户出价”/TARGET_SPECIFIC) 新客户获取(“仅针对新客户出价”/TARGET_SPECIFIC、“针对新客户提高出价”/TARGET_ALL)、潜在客户发掘
客户留存(“针对已流失的客户提高出价”/TARGET_ALL) 新客户获取(“仅针对新客户出价”/TARGET_SPECIFIC)、潜在客户发掘
忠诚度留存(价值调节系数) 新客户获取(“仅针对新客户出价”/TARGET_SPECIFIC)、客户留存(“仅针对已流失的客户出价”/TARGET_SPECIFIC)、潜在客户发掘、毛利润
忠诚度留存(产品详情广告中的福利) 新客户获取(“仅针对新客户出价”/TARGET_SPECIFIC)、客户开发、毛利润
潜在客户勘探: 新客户获取(“仅针对新客户出价”图标 TARGET_SPECIFIC、“针对新客户提高出价”图标 TARGET_ALL)

检索生命周期目标

与 Google Ads API 中的其他资源一样,您可以使用 GoogleAdsService 的 search 或 searchStream 方法来检索生命周期目标和配置。

以下查询会检索 Google Ads API 账号中每个已配置的 Goal 的详细信息:

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

同样,以下查询会检索每个 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