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

Чтобы настроить цели, связанные с жизненным циклом клиентов, используйте ресурсы 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 (один из вариантов):
      • 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 (для цели "Привлечение новых клиентов"), 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