Aby skonfigurować cele związane z cyklem życia klienta, użyj zasobów Goal i CampaignGoalConfig
w interfejsie Google Ads API.
Interfejs Google Ads API obsługuje cele pozyskiwania klientów i
cele dotyczące utrzymania klientów, co umożliwia efektywne zarządzanie korektami wartości cyklu życia klienta
w kampaniach Google Ads.
Jeśli Twoje konto Google Ads korzysta ze śledzenia konwersji dla wielu kont, musisz skonfigurować cele związane z cyklem życia na poziomie klienta na koncie konwersji Google Ads, a nie bezpośrednio na koncie Google Ads. Nadal jednak musisz ustawić konfiguracje na poziomie kampanii na swoim koncie. Jest to podobne do zarządzania innymi celami w przypadku korzystania ze śledzenia konwersji dla wielu kont.
Typy 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 związany z cyklem życia i jest określany przez jego goal_type.
Obsługiwane typy celów związanych z cyklem życia klienta:
NEW_CUSTOMER_ACQUISITION- Umożliwia efektywne pozyskiwanie nowych klientów przez przypisywanie korekt wartości do ich konwersji.
CUSTOMER_RETENTION- Umożliwia ponowne angażowanie obecnych, wartościowych i nieaktywnych klientów.
LOYALTY_RETENTION- Umożliwia 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ć co najwyżej 1 cel 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 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
CustomerLifecycleOptimizationValueSettings do
określania korekt wartości konwersji w przypadku pozyskanych klientów:
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(oneof):additional_value(double): przyrostowa wartość konwersji, która ma zostać dodana do wartości konwersji polegającej na pierwszym zakupie przez nowego klienta.value_multiplier(double): mnożnik, który ma zostać zastosowany do wartości konwersji polegającej na pierwszym zakupie przez nowego klienta (nie jest obsługiwany w przypadkuNEW_CUSTOMER_ACQUISITION; jest obsługiwany w przypadkuLOYALTY_RETENTION).
high_lifetime_value_adjustment(oneof):additional_high_lifetime_value(double): 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(double): mnożnik wartości konwersji, który ma zostać zastosowany w przypadku nowych klientów o wysokiej wartości od początku śledzenia (nie jest jeszcze obsługiwany).
Wartość od początku śledzenia musi być większa niż wartość, a mnożnik wartości od początku śledzenia musi być ściśle 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 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 Informacje o celu dotyczącym utrzymania klientów. Obejmuje to posiadanie kampanii Performance Max i listy użytkowników z 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 będzie stosowany do wszystkich jego kampanii. Domyślnie ten cel jest kierowany na wszystkich użytkowników na listach użytkowników z kierowania na listę klientów.
Ustawienia celu utrzymania uczestników programu lojalnościowego
Aby skonfigurować cele utrzymania uczestników programu lojalnościowego, ustaw 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 używają
korekt wartości addytywnych), 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]
)
Segmentowanie grup odbiorców
Aby segmentować grupy odbiorców na potrzeby celów związanych z cyklem życia klienta (w tym celów pozyskiwania nowych klientów, utrzymania klientów i utrzymania uczestników programu lojalnościowego), musisz użyć zasobu UserListCustomerType
. Musisz powiązać każdą listę użytkowników z co najmniej 1 kategorią, tworząc UserListCustomerType dla każdej kombinacji listy użytkowników i kategorii.
Aby utworzyć instancje UserListCustomerType, użyj UserListCustomerTypeService.
UserListCustomerTypeService obsługuje tylko create i remove
operacje. 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 1 listy użytkowników, ale lista użytkowników może mieć wiele powiązanych instancji UserListCustomerType pod warunkiem, że nie ma między nimi konfliktów.UserListCustomerType Próba
przypisania UserListCustomerType instancji z tymi kombinacjami
customer_type_category do tej samej listy użytkowników spowoduje wyświetlenie błędu
UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:
Pierwsza customer_type_category |
Druga 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 konfiguracji celu związanych z cyklem życia skonfigurowanej kampanii
Na poziomie kampanii możesz skonfigurować zastąpienia lub
opcje kierowania specyficzne dla kampanii za pomocą CampaignGoalConfig. Gdy
masz już cel na poziomie konta, użyj jego resource_name aby utworzyć
CampaignGoalConfig za pomocą metody mutate_campaign_goal_configs w
CampaignGoalConfigService.
Ustawienia pozyskiwania nowych klientów w kampanii
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 korekty wartości, które zastępują ustawienia na poziomie konta.target_option(Typ:CustomerLifecycleOptimizationMode): określa tryb optymalizacji cyklu życia klienta. Dostępne opcje:TARGET_ALL: kampania jest kierowana zarówno na nowych, jak i obecnych klientów, ale w przypadku nowych klientów stosuje wyższe stawki z wykorzystaniem skonfigurowanych korekt wartości.TARGET_SPECIFIC: kampania jest kierowana tylko na nowych klientów. W przypadku tej opcji nie można stosować korekt stawek.
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 potrzeby celów 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): określa tryb optymalizacji. Domyślnie ustawiona jest wartośćTARGET_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 pole campaign_retention_settings.target_option nie jest ustawione, domyślnie ma wartość TARGET_ALL. Opcja ustawienia TARGET_SPECIFIC jest dostępna tylko dla użytkowników na odpowiedniej liście dozwolonych.
Ustawienia utrzymania uczestników programu lojalnościowego 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(Type:CustomerLifecycleOptimizationValueSettings): niestandardowe korekty wartości, które zastępują ustawienia wartości utrzymania uczestników programu lojalnościowego na poziomie konta.enable_bid_adjustments_for_loyalty_members(typ:bool): 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): czy w kwalifikujących się krajach mają być wyświetlane korzyści dla uczestników programu lojalnościowego w formacie reklam 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, spowoduje wyświetlenie błędu
GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(w przypadku pozyskiwania nowych klientów),GoalError.RETENTION_GOAL_ALREADY_EXISTS(w przypadku celów utrzymania klientów) lubGoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(w przypadku celów utrzymania uczestników programu lojalnościowego). - Nieprawidłowe ustawienia wartości
- Podczas konfigurowania ustawień wartości celu związanego z cyklem życia, jeśli jest podana wartość od początku śledzenia, musi być też podana wartość standardowa (
GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), a wartość od początku śledzenia musi być większa niż wartość, jeśli jest ustawiona (GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). - Podobnie w przypadku ustawień wartości multiplikatywnej, jeśli jest podany mnożnik wartości od początku śledzenia, musi być też podany mnożnik wartości (
GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), a mnożnik wartości od początku śledzenia musi być ściśle większy niż mnożnik 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 pozyskiwania nowych klientów, jeśli
target_optionjest ustawiona naTARGET_SPECIFIC(aby kierować reklamy tylko na nowych klientów), nie można skonfigurować zastąpień wartości na poziomie kampanii (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). W przypadku kierowania reklam tylko na nowych klientów nie można stosować korekt stawek. - Nieprawidłowe zastąpienie ustawień wartości
- Podczas konfigurowania zastąpień ustawień wartości cyklu życia na poziomie kampanii, jeśli jest podana wartość od początku śledzenia, musi być też podana wartość standardowa (
CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), a wartość od początku śledzenia musi być większa niż wartość, jeśli jest ustawiona (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). Podobnie w przypadku ustawień wartości multiplikatywnej, jeśli jest podany mnożnik wartości od początku śledzenia, musi być też podany mnożnik wartości (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT), a mnożnik wartości od początku śledzenia musi być ściśle większy niż mnożnik wartości (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER). - Obsługa typu kampanii z wartością od początku śledzenia
- Zastąpienia wartości od początku śledzenia i mnożnika 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, wyświetlany jest błąd (
CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). W tej tabeli znajdziesz wzajemnie wykluczające się kombinacje celów, które powodują ten błąd:
| Typ / tryb celu związanego z cyklem życia klienta | Niezgodny cel / tryb |
|---|---|
Utrzymanie klientów ("Ustalaj stawki tylko dla nieaktywnych klientów" /
TARGET_SPECIFIC)
|
Pozyskiwanie nowych klientów ("Ustalaj stawki tylko dla nowych klientów" /
TARGET_SPECIFIC, "Wyższe stawki w przypadku nowych klientów" /
TARGET_ALL), pozyskiwanie potencjalnych klientów
|
Utrzymanie klientów ("Wyższe stawki w przypadku nieaktywnych klientów" /
TARGET_ALL)
|
Pozyskiwanie nowych klientów ("Ustalaj stawki tylko dla nowych klientów" /
TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów
|
| Utrzymanie lojalności (mnożnik wartości) |
Pozyskiwanie nowych klientów ("Ustalaj stawki tylko dla nowych klientów" /
TARGET_SPECIFIC), utrzymanie klientów ("Ustalaj stawki tylko dla nieaktywnych
klientów" / TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów, zysk brutto
|
| Utrzymanie uczestników programu lojalnościowego (korzyści w reklamach z informacjami o produktach) |
Pozyskiwanie nowych klientów ("Ustalaj stawki tylko dla nowych klientów" /
TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów, zysk brutto
|
| Pozyskiwanie potencjalnych klientów |
Pozyskiwanie nowych klientów ("Ustalaj stawki tylko dla nowych klientów" /
TARGET_SPECIFIC, "Wyższe stawki w przypadku nowych klientów" /
TARGET_ALL)
|
Pobieranie celów związanych z cyklem życia klienta
Podobnie jak w przypadku innych zasobów w interfejsie Google Ads API, do pobierania celów i konfiguracji związanych z cyklem życia klienta używaj metod search lub searchStream
w GoogleAdsService.
To zapytanie pobiera szczegóły każdego skonfigurowanego celu 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 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