Используйте ресурсы 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).
Настройки цели "Привлечение новых клиентов"
Чтобы настроить привлечение новых клиентов, задайте для параметра goal_type значение NEW_CUSTOMER_ACQUISITION и укажите настройки в поле new_customer_acquisition_goal_settings, используя GoalService.
В поле new_customer_acquisition_goal_settings.value_settings используется CustomerLifecycleOptimizationValueSettings, чтобы указать корректировки ценности конверсий для привлеченных клиентов:
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(один из вариантов):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.
Настройки привлечения новых клиентов в кампании
Чтобы переопределить настройки или задать таргетинг на неклассифицированный контент на уровне кампании, настройте поле 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