Цели жизненного цикла

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

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

типы целей жизненного цикла клиента

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

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

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

Настройка целей жизненного цикла клиента

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

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

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

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

  • value_adjustment (один из):
    • additional_value (double): Дополнительная стоимость конверсии, добавляемая к стоимости первой покупки нового клиента.
    • value_multiplier (double): Множитель, применяемый к значению конверсии при первой покупке нового клиента (пока не поддерживается).
  • 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.
    goal.new_customer_acquisition_goal_settings.value_settings.additional_value = 50.0
    goal.new_customer_acquisition_goal_settings.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 .

Перед созданием цели удержания необходимо выполнить предварительные условия, описанные в разделе «О цели удержания» . Это включает в себя наличие кампании Performance Max и списка пользователей 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
    goal.retention_goal_settings.value_settings.additional_value = 50.0
    goal.retention_goal_settings.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]
    )

Это создаст новую цель удержания на уровне учетной записи для указанного клиентского аккаунта, которая будет применяться ко всем его кампаниям. По умолчанию эта цель будет нацелена на всех пользователей в ваших списках пользователей Customer Match.

Настройки целей по удержанию лояльности

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

Для целей удержания лояльности в 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 вам необходимо удалить его, а затем создать новый с необходимыми изменениями.

A UserListCustomerType can only be assigned to one user list, but a user list can have multiple associated UserListCustomerType instances as long as there are no conflicts between the UserListCustomerType instances. Trying to assign UserListCustomerType instances with the following combinations of customer_type_category to the same user list will result in a UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES error:

Первая customer_type_category Вторая customer_type_category
ПОКУПАТЕЛИ КОНВЕРТИРОВАННЫЕ_ЛИДЫ
ПОКУПАТЕЛИ КВАЛИФИЦИРОВАННЫЕ_ЛИДЫ
ПОКУПАТЕЛИ CART_ABANDONERS
КОНВЕРТИРОВАННЫЕ_ЛИДЫ КВАЛИФИЦИРОВАННЫЕ_ЛИДЫ
НЕВОВЛЕЧЕННЫЕ КЛИЕНТЫ КОНВЕРТИРОВАННЫЕ_ЛИДЫ
НЕВОВЛЕЧЕННЫЕ КЛИЕНТЫ КВАЛИФИЦИРОВАННЫЕ_ЛИДЫ
НЕВОВЛЕЧЕННЫЕ КЛИЕНТЫ CART_ABANDONERS
УЧАСТНИКИ ПРОГРАММЫ ЛОЯЛЬНОСТИ УРОВНЯ X УЧАСТНИКИ ПРОГРАММЫ ЛОЯЛЬНОСТИ_УРОВНЯ_Y

Настройка параметров целей жизненного цикла кампании

На уровне кампании вы можете настроить параметры переопределения или таргетинга, специфичные для кампании, используя 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.
    goal_config.campaign_new_customer_acquisition_settings.target_option = (
        client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_ALL
    )
    # Optionally override value settings.
    goal_config.campaign_new_customer_acquisition_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_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 (Type: bool ): Включить ли корректировку ставок для участников программы лояльности в этой кампании.
  • show_targeted_loyalty_member_benefits_in_pla (Type: 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 Retention.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.
        goal_resource_name: the resource name of an existing Loyalty 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

    # Enable bid adjustments and targeted loyalty benefits in PLAs.
    goal_config.campaign_loyalty_retention_settings.enable_bid_adjustments_for_loyalty_members = True
    goal_config.campaign_loyalty_retention_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 ).
Similarly, for multiplicative value settings, if the high lifetime value multiplier is present, then the value multiplier must be present ( GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT ), and the high lifetime value multiplier must be strictly greater than the value multiplier ( 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 ). Similarly, for multiplicative value settings, if the high lifetime value multiplier is present, then the value multiplier must be present ( CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT ), and the high lifetime value multiplier must be strictly greater than the value multiplier ( 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 )

Получение целей жизненного цикла

Как и в случае с другими ресурсами API Google Ads, используйте методы 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