Aby skonfigurować cele związane z cyklem życia klienta, użyj zasobów Goal i CampaignGoalConfig interfejsu Google Ads API.
Interfejs Google Ads API obsługuje cele związane z pozyskiwaniem klientów i cele dotyczące utrzymania klientów, aby skutecznie zarządzać dostosowaniami wartości cyklu życia klienta w kampaniach Google Ads.
Jeśli Twoje konto Google Ads korzysta ze śledzenia konwersji dla wielu kont, cele związane z cyklem życia na poziomie klienta musisz skonfigurować na koncie konwersji Google Ads, a nie bezpośrednio na koncie Google Ads. Nadal jednak musisz skonfigurować ustawienia na poziomie kampanii na swoim koncie. Jest to podobne do zarządzania innymi celami podczas korzystania ze śledzenia konwersji dla wielu kont.
Rodzaje celów związanych z cyklem życia klienta
Cele związane z cyklem życia klienta są konfigurowane na poziomie konta za pomocą zasobu Goal. Cel reprezentuje konkretny cel cyklu życia i jest definiowany przez goal_type.
Obsługiwane typy celów związanych z cyklem życia klienta:
NEW_CUSTOMER_ACQUISITION- Służy do skutecznego pozyskiwania nowych klientów przez przypisywanie korekt wartości do ich konwersji.
CUSTOMER_RETENTION- Do ponownego angażowania obecnych, wartościowych i nieaktywnych klientów.
LOYALTY_RETENTION- Zwiększanie utrzymania i zaangażowania klientów, zwłaszcza uczestników programu lojalnościowego.
Konfigurowanie celów związanych z cyklem życia klienta
Na poziomie klienta skonfiguruj cel związany z cyklem życia, tworząc Goal. Na koncie Google Ads może być maksymalnie 1 Goal na typ celu (NEW_CUSTOMER_ACQUISITION, CUSTOMER_RETENTION lub LOYALTY_RETENTION).
Ustawienia celu dotyczącego pozyskiwania nowych klientów
Aby skonfigurować pozyskiwanie nowych klientów, ustaw parametr goal_type na NEW_CUSTOMER_ACQUISITION i skonfiguruj ustawienia w polu new_customer_acquisition_goal_settings za pomocą GoalService.
Pole new_customer_acquisition_goal_settings.value_settings używa elementu CustomerLifecycleOptimizationValueSettings do określania korekt wartości konwersji w przypadku pozyskanych klientów:
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(oneof):additional_value(liczba zmiennoprzecinkowa podwójnej precyzji): przyrostowa wartość konwersji, którą należy dodać do konwersji polegającej na pierwszym zakupie przez nowego klienta.value_multiplier(double): mnożnik, który ma być stosowany do wartości konwersji w przypadku pierwszego zakupu dokonanego przez nowego klienta (nieobsługiwany w przypadkuNEW_CUSTOMER_ACQUISITION; obsługiwany w przypadkuLOYALTY_RETENTION).
high_lifetime_value_adjustment(oneof):additional_high_lifetime_value(liczba podwójnej precyzji): przyrostowa wartość konwersji w przypadku nowych klientów, którzy zostali zidentyfikowani jako klienci o wysokiej wartości od początku śledzenia.high_lifetime_value_multiplier(liczba podwójnej precyzji): mnożnik wartości konwersji, który ma być stosowany w przypadku nowych klientów o wysokiej wartości od początku śledzenia (jeszcze nieobsługiwany).
Wysoka wartość od początku śledzenia powinna być większa niż wartość, a mnożnik wysokiej wartości od początku śledzenia musi być większy niż mnożnik wartości, jeśli jest ustawiony.
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]
)
Ustawienia celu dotyczącego utrzymania klientów
Aby skonfigurować utrzymanie klientów, ustaw parametr goal_type na CUSTOMER_RETENTION i skonfiguruj ustawienia w polu retention_goal_settings.
Zanim utworzysz cel dotyczący utrzymania klientów, musisz spełnić wymagania wstępne opisane w artykule Cel dotyczący utrzymania klientów. Obejmuje to kampanię Performance Max i listę użytkowników kierowania na listę klientów.
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]
)
Spowoduje to utworzenie nowego celu dotyczącego utrzymania klientów na poziomie konta dla określonego konta klienta, który zostanie zastosowany we wszystkich jego kampaniach. Domyślnie ten cel jest kierowany na wszystkich użytkowników z Twoich list kierowania na listę klientów.
Ustawienia celu dotyczącego utrzymania lojalnych klientów
Aby skonfigurować cele dotyczące utrzymania klientów w programie lojalnościowym, ustaw parametr goal_type na LOYALTY_RETENTION i skonfiguruj ustawienia w polu loyalty_retention_goal_settings (LoyaltyRetentionGoal).
W przeciwieństwie do celów NEW_CUSTOMER_ACQUISITION i CUSTOMER_RETENTION (które korzystają z dodatkowych korekt wartości) cele LOYALTY_RETENTION obsługują ustawienie value_multiplier w value_settings za pomocą 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]
)
Podział odbiorców na segmenty
Aby podzielić odbiorców na segmenty na potrzeby celów związanych z cyklem życia klienta (w tym celów dotyczących pozyskiwania nowych klientów, utrzymania klientów i utrzymania lojalności), musisz użyć zasobu UserListCustomerType. Każdą listę użytkowników musisz powiązać z co najmniej 1 kategorią, tworząc obiekt UserListCustomerType dla każdej kombinacji listy użytkowników i kategorii.
Użyj UserListCustomerTypeService, aby utworzyć instancje UserListCustomerType.
UserListCustomerTypeService obsługuje tylko operacje create i remove, więc jeśli chcesz zaktualizować istniejący UserListCustomerType, musisz go usunąć, a następnie utworzyć nowy z niezbędnymi aktualizacjami.
UserListCustomerType można przypisać tylko do jednej listy użytkowników, ale lista użytkowników może mieć wiele powiązanych instancji UserListCustomerType, o ile nie ma konfliktów między instancjami UserListCustomerType. Próba przypisania do tej samej listy użytkowników UserListCustomerType instancji z tymi kombinacjami customer_type_category powoduje błąd UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:
customer_type_category od opublikowania |
Drugi 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 |
Konfigurowanie ustawień celów związanych z cyklem życia w kampanii
Na poziomie kampanii możesz skonfigurować zastąpienia lub opcje kierowania dla konkretnej kampanii, korzystając z obiektu CampaignGoalConfig. Gdy masz już cel na poziomie konta, użyj jego pola resource_name, aby utworzyć CampaignGoalConfig za pomocą metody mutate_campaign_goal_configs w zasobie CampaignGoalConfigService.
Ustawienia kampanii dotyczące pozyskiwania nowych klientów
Aby zastąpić ustawienia lub skonfigurować kierowanie na potrzeby pozyskiwania nowych klientów na poziomie kampanii, skonfiguruj pole campaign_new_customer_acquisition_settings typu CampaignNewCustomerAcquisitionGoalSettings:
value_settings_override(typ:CustomerLifecycleOptimizationValueSettings): niestandardowe dostosowania wartości, które zastępują ustawienia na poziomie konta.target_option(typ:CustomerLifecycleOptimizationMode): kontroluje tryb optymalizacji cyklu życia klienta. Dostępne opcje:TARGET_ALL: kampania jest kierowana zarówno na nowych, jak i obecnych klientów, ale ustala wyższe stawki za nowych klientów, korzystając ze skonfigurowanych dostosowań wartości.TARGET_SPECIFIC: kampania jest kierowana tylko na nowych klientów. W przypadku tej opcji dostosowania stawek nie mają zastosowania.
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]
)
Ustawienia utrzymania klientów w kampanii
Aby zastąpić ustawienia lub skonfigurować kierowanie na cele dotyczące utrzymania klientów na poziomie kampanii, skonfiguruj pole campaign_retention_settings typu CampaignRetentionGoalSettings:
value_settings_override(typ:CustomerLifecycleOptimizationValueSettings): niestandardowe korekty wartości, które zastępują ustawienia na poziomie konta.target_option(typ:CustomerLifecycleOptimizationMode): kontroluje tryb optymalizacji. Domyślna wartość toTARGET_ALL. Aby ustawić wartośćTARGET_SPECIFIC, Twoje konto musi znajdować się na odpowiedniej liście dozwolonych.
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]
)
Jeśli nie ustawisz campaign_retention_settings.target_option, domyślnie będzie to TARGET_ALL. Opcja ustawienia TARGET_SPECIFIC jest dostępna tylko dla użytkowników na odpowiedniej liście dozwolonych.
Ustawienia utrzymania lojalności w kampanii
Aby zastąpić ustawienia lub skonfigurować zachowanie specyficzne dla uczestników programu lojalnościowego na poziomie kampanii w przypadku celów LOYALTY_RETENTION, skonfiguruj pole campaign_loyalty_retention_settings typu CampaignLoyaltyRetentionGoalSettings w CampaignGoalConfig:
value_settings_override(typ:CustomerLifecycleOptimizationValueSettings): niestandardowe korekty wartości, które zastępują ustawienia wartości utrzymania klientów w programie lojalnościowym na poziomie konta.enable_bid_adjustments_for_loyalty_members(typ:bool): określa, czy w tej kampanii mają być włączone dostosowania stawek dla uczestników programu lojalnościowego.show_targeted_loyalty_member_benefits_in_pla(typ:bool): określa, czy w kwalifikujących się krajach mają być wyświetlane korzyści dla uczestników programu lojalnościowego w formacie reklamy z informacjami o produktach.
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]
)
Weryfikacja i błędy
Podczas konfigurowania celów związanych z cyklem życia klienta mogą wystąpić te ograniczenia i błędy:
Błędy weryfikacji celu
- Zduplikowana konfiguracja celu
- Utworzenie zduplikowanego celu związanego z cyklem życia, gdy taki cel już istnieje, powoduje błąd
GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(w przypadku celu „Pozyskiwanie nowych klientów”),GoalError.RETENTION_GOAL_ALREADY_EXISTS(w przypadku celów dotyczących utrzymania klientów) lubGoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(w przypadku celów dotyczących utrzymania lojalnych klientów). - Nieprawidłowe ustawienia wartości
- Jeśli podczas konfigurowania ustawień wartości celu związanego z cyklem życia występuje wysoka wartość od początku śledzenia, musi też występować wartość standardowa (
GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), a wysoka wartość od początku śledzenia musi być większa od wartości, jeśli jest ustawiona (GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). - Podobnie w przypadku ustawień wartości mnożnika: jeśli występuje mnożnik wysokiej wartości od początku śledzenia, musi też występować mnożnik wartości (
GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), a mnożnik wysokiej wartości od początku śledzenia musi być większy od mnożnika wartości (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).
Błędy weryfikacji konfiguracji celu kampanii
- Konflikt zastąpienia wartości docelowej
- W przypadku celów dotyczących pozyskiwania nowych klientów, jeśli parametr
target_optionma wartośćTARGET_SPECIFIC(aby kierować reklamy tylko na nowych klientów), nie wolno konfigurować zastąpień wartości na poziomie kampanii (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Dostosowania stawek nie mają zastosowania, gdy kierujesz reklamy tylko na nowych klientów. - Nieprawidłowe zastąpienie ustawień wartości
- Jeśli podczas konfigurowania zastąpień ustawień wartości związanych z cyklem życia na poziomie kampanii występuje wysoka wartość od początku śledzenia, musi też występować wartość standardowa (
CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), a wysoka wartość od początku śledzenia musi być większa od wartości, jeśli jest ustawiona (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). Podobnie w przypadku ustawień wartości mnożnikowej, jeśli występuje mnożnik wysokiej wartości od początku śledzenia, musi też występować mnożnik wartości (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), a mnożnik wysokiej wartości od początku śledzenia musi być ściśle większy od mnożnika wartości (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER). - Obsługa typów kampanii o wysokiej wartości od początku śledzenia
- Zastąpienia wysokiej wartości od początku śledzenia i zastąpienia mnożnika wysokiej wartości od początku śledzenia można ustawiać tylko w przypadku obsługiwanych typów kampanii (
CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPElubCampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE). - Niezgodne cele
- Jeśli kampania próbuje jednocześnie stosować niezgodne cele optymalizacji cyklu życia klienta (
CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS), pojawia się błąd. W tabeli poniżej znajdziesz wykluczające się wzajemnie kombinacje celów, które powodują ten błąd:
| Typ/tryb celu związanego z cyklem życia klienta | Niezgodny cel lub tryb |
|---|---|
Utrzymanie klientów („Ustalaj stawki tylko dla nieaktywnych klientów” / TARGET_SPECIFIC)
|
Pozyskiwanie nowych klientów („Ustalanie stawek tylko dla nowych klientów” / TARGET_SPECIFIC, „Ustalaj wyższe stawki za nowych klientów” / TARGET_ALL), pozyskiwanie potencjalnych klientów
|
Utrzymanie klientów („Wyższe stawki za nieaktywnych klientów” / TARGET_ALL)
|
Pozyskiwanie nowych klientów („Ustalanie stawek tylko dla nowych klientów” / TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów
|
| Utrzymanie lojalności (mnożnik wartości) |
Pozyskiwanie nowych klientów („Ustalanie stawek tylko dla nowych klientów” / TARGET_SPECIFIC), utrzymanie klientów („Ustalanie stawek tylko dla nieaktywnych klientów” / TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów, zysk brutto
|
| Utrzymanie lojalności (korzyści w PLA) |
Pozyskiwanie nowych klientów („Ustalanie stawek tylko dla nowych klientów” / TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów, zysk brutto
|
| Pozyskiwanie potencjalnych klientów |
Pozyskiwanie nowych klientów („Ustalanie stawek tylko dla nowych klientów” / TARGET_SPECIFIC, „Ustalaj wyższe stawki za nowych klientów” / TARGET_ALL)
|
Pobieranie celów związanych z cyklem życia
Podobnie jak w przypadku innych zasobów w interfejsie Google Ads API, do pobierania celów i konfiguracji cyklu życia używaj metod search lub searchStream interfejsu GoogleAdsService.
To zapytanie pobiera szczegóły każdego skonfigurowanego elementu Goal na koncie interfejsu 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
Podobnie to zapytanie pobiera szczegóły każdego elementu 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