Цели по жизненному циклу

Чтобы настроить цели, связанные с жизненным циклом клиентов, используйте ресурсы Goal и CampaignGoalConfig Google Ads API. Google Ads API поддерживает цели по привлечению клиентов и цель "Удержание клиентов", которые позволяют эффективно управлять корректировками ценности жизненного цикла клиентов в кампаниях Google Рекламы.

Если в вашем аккаунте Google Рекламы используется отслеживание конверсий в управляющем аккаунте, то цели по жизненному циклу на уровне клиента нужно настраивать в аккаунте Google Рекламы для отслеживания конверсий, а не в самом аккаунте Google Рекламы. Однако вам по-прежнему нужно задавать настройки на уровне кампании в аккаунте. Это похоже на то, как вы управляете другими целями при использовании отслеживания конверсий в управляющем аккаунте.

Типы целей по жизненному циклу клиентов

Цели по жизненному циклу клиентов настраиваются на уровне аккаунта с помощью ресурса Goal. Цель представляет собой конкретную задачу жизненного цикла и определяется ее goal_type.

Поддерживаются следующие типы целей по жизненному циклу:

NEW_CUSTOMER_ACQUISITION
Эффективно привлекайте новых клиентов, корректируя ценность их конверсий.
CUSTOMER_RETENTION
Для повторного вовлечения существующих, особо ценных и неактивных клиентов.
LOYALTY_RETENTION
Для удержания и вовлечения участников программы лояльности.

Как настроить цели по жизненному циклу клиентов

На уровне клиента настройте цель по жизненному циклу, создав Goal. В аккаунте Google Рекламы может быть не более одной цели каждого типа (Goal, NEW_CUSTOMER_ACQUISITION, CUSTOMER_RETENTION или LOYALTY_RETENTION).

Настройки цели "Привлечение новых клиентов"

Чтобы настроить привлечение новых клиентов (NCA), задайте для параметра goal_type значение NEW_CUSTOMER_ACQUISITION и укажите настройки в поле new_customer_acquisition_goal_settings, используя GoalService.

В поле new_customer_acquisition_goal_settings.value_settings используется CustomerLifecycleOptimizationValueSettings, чтобы задать корректировки ценности конверсий для привлеченных клиентов:

  • value_settings (CustomerLifecycleOptimizationValueSettings):
    • value_adjustment (oneof):
      • additional_value (double): дополнительная ценность конверсии, которая добавляется к первой конверсии-покупке нового клиента.
      • value_multiplier (double): множитель, который применяется к ценности конверсии для первой покупки нового клиента (не поддерживается для NEW_CUSTOMER_ACQUISITION; поддерживается для LOYALTY_RETENTION).
    • high_lifetime_value_adjustment (oneof):
      • additional_high_lifetime_value (double): дополнительная ценность конверсий для новых клиентов, которые определены как имеющие высокую пожизненную ценность.
      • high_lifetime_value_multiplier (double): множитель ценности конверсии, который применяется к новым клиентам с высокой пожизненной ценностью (пока не поддерживается).

Высокая пожизненная ценность должна быть больше ценности, а мультипликатор высокой пожизненной ценности должен быть строго больше мультипликатора ценности, если он задан.

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_multiplier в value_settings с помощью 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]
    )

Сегментируйте аудитории

Чтобы сегментировать аудитории для целей жизненного цикла клиентов (в том числе привлечения новых клиентов, удержания клиентов и удержания постоянных клиентов), необходимо использовать ресурс UserListCustomerType. Каждый список пользователей необходимо связать с одной или несколькими категориями, создав UserListCustomerType для каждой комбинации списка и категории.

Используйте UserListCustomerTypeService, чтобы создать экземпляры UserListCustomerType.

UserListCustomerTypeService поддерживает только операции create и remove. Чтобы изменить существующий объект UserListCustomerType, удалите его и создайте новый с нужными изменениями.

Объект UserListCustomerType можно назначить только одному списку пользователей, но со списком пользователей можно связать несколько экземпляров UserListCustomerType, если между ними нет конфликтовUserListCustomerType. Попытка назначить UserListCustomerType экземпляров с указанными ниже комбинациями customer_type_category одному списку пользователей приведет к ошибке 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, чтобы создать CampaignGoalConfig с помощью метода mutate_campaign_goal_configs в CampaignGoalConfigService.

Настройки привлечения новых клиентов для кампании

Чтобы переопределить настройки или задать таргетинг для NCA на уровне кампании, настройте поле campaign_new_customer_acquisition_settings типа CampaignNewCustomerAcquisitionGoalSettings:

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

Настройки удержания клиентов в кампании

Чтобы переопределить настройки или задать таргетинг для целей «Удержание клиентов» на уровне кампании, настройте поле campaign_retention_settings типа CampaignRetentionGoalSettings:

  • value_settings_override (тип: CustomerLifecycleOptimizationValueSettings) – корректировки ценности, переопределяющие настройки на уровне аккаунта.
  • target_option (тип: CustomerLifecycleOptimizationMode) – управляет режимом оптимизации. Значение по умолчанию – TARGET_ALL. Чтобы задать значение TARGET_SPECIFIC, ваш аккаунт должен быть занесен в белый список.
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, настройте поле campaign_loyalty_retention_settings типа CampaignLoyaltyRetentionGoalSettings в CampaignGoalConfig.

  • value_settings_override (тип: CustomerLifecycleOptimizationValueSettings) – корректировки ценности, которые переопределяют настройки ценности удержания клиентов в программе лояльности на уровне аккаунта.
  • enable_bid_adjustments_for_loyalty_members (тип: bool). Указывает, нужно ли включить корректировки ставок для участников программы лояльности в этой кампании.
  • show_targeted_loyalty_member_benefits_in_pla (тип: bool) – показывать ли преимущества для участников программы лояльности в товарных объявлениях в странах, где это доступно.
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 (для NCA), 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, используйте методы search или searchStream сервиса GoogleAdsService, чтобы получить цели и конфигурации жизненного цикла.

Следующий запрос позволяет получить сведения обо всех настроенных объектах Goal в аккаунте Google Ads API:

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