Cele cyklu życia

Skonfiguruj cele związane z cyklem życia klienta, korzystając z zasobów GoalCampaignGoalConfig interfejsu Google Ads API. Interfejs Google Ads API obsługuje cele związane z pozyskiwaniem klientówcele związane z utrzymaniem klientów, co umożliwia efektywne zarządzanie korektami wartości cyklu życia klienta za pomocą kampanii 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 skonfigurować ustawienia na poziomie kampanii na swoim koncie. Działa to podobnie jak w przypadku 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 konfiguruje się na poziomie konta za pomocą zasobu Goal. Cel reprezentuje konkretny cel związany z cyklem życia i jest określony przez jego goal_type.

Obsługiwane typy celów związanych z cyklem życia klienta:

NEW_CUSTOMER_ACQUISITION
Skuteczne pozyskiwanie nowych klientów dzięki przypisywaniu korekt wartości do ich konwersji.
CUSTOMER_RETENTION
Do ponownego angażowania dotychczasowych, wartościowych i nieaktywnych klientów.
LOYALTY_RETENTION
Aby zwiększać utrzymanie klientów i ich zaangażowanie, zwłaszcza wśród 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 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 wartość goal_type na NEW_CUSTOMER_ACQUISITION i skonfiguruj ustawienia w polu new_customer_acquisition_goal_settings za pomocą parametru GoalService.

Ustawienia używają parametru CustomerLifecycleOptimizationValueSettings do określania korekt wartości konwersji w przypadku pozyskanych klientów:

  • value_adjustment (oneof):
    • additional_value (double): 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 polegającej na pierwszym zakupie przez nowego klienta (jeszcze nie obsługiwany).
  • high_lifetime_value_adjustment (oneof):
    • additional_high_lifetime_value (podwójna): przyrost wartości konwersji w przypadku nowych klientów, którzy są uznawani za klientów o wysokiej wartości od początku śledzenia.
    • high_lifetime_value_multiplier (double): 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).

Wartość od początku śledzenia musi być większa niż wartość, a mnożnik 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.
    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]
    )

Ustawienia celu dotyczącego utrzymania klientów

Aby skonfigurować utrzymanie klientów, ustaw wartość 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 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
    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]
    )

Spowoduje to utworzenie nowego celu związanego z utrzymaniem klientów na poziomie konta dla określonego konta klienta, który będzie stosowany we wszystkich jego kampaniach. Domyślnie ten cel będzie kierowany na wszystkich użytkowników z Twoich list użytkowników z kierowania na listę klientów.

Ustawienia celu dotyczącego utrzymania klientów w programie lojalnościowym

Aby skonfigurować cele dotyczące utrzymania klientów w przypadku uczestników programu lojalnościowego, ustaw wartość goal_type na LOYALTY_RETENTION i skonfiguruj ustawienia w polu loyalty_retention_goal_settings (LoyaltyRetentionGoal).

W przypadku celów dotyczących utrzymania uczestników programu lojalnościowego w value_settings obsługiwane jest tylko ustawienie value_multiplierCustomerLifecycleOptimizationValueSettings:

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 odbiorców

Aby segmentować listy odbiorców na potrzeby celów związanych z cyklem życia klienta (w tym celów „Pozyskiwanie nowych klientów”, „Utrzymanie klientów” i „Utrzymanie lojalności klientów”), musisz używać zasobu UserListCustomerType. Musisz powiązać każdą listę użytkowników z co najmniej jedną kategorią, tworząc UserListCustomerType dla każdej kombinacji listy użytkowników i kategorii.

Użyj UserListCustomerTypeService, aby utworzyć instancje UserListCustomerType.

UserListCustomerTypeService obsługuje tylko operacje createremove, więc jeśli chcesz zaktualizować istniejący element UserListCustomerType, musisz go usunąć, a następnie utworzyć nowy z niezbędnymi zmianami.

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 błąd UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES:

customer_type_category od opublikowania Drugi customer_type_category
KUPUJĄCY CONVERTED_LEADS
KUPUJĄCY QUALIFIED_LEADS
KUPUJĄCY 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 celów związanych z cyklem życia kampanii

Na poziomie kampanii możesz skonfigurować zastąpienia lub opcje kierowania specyficzne dla kampanii za pomocą ikony CampaignGoalConfig. Gdy masz już cel na poziomie konta, użyj ikony resource_name, aby utworzyć CampaignGoalConfig za pomocą metody mutate_campaign_goal_configs na stronie CampaignGoalConfigService.

Ustawienia kampanii nastawionej na pozyskiwanie 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 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 kierowana jest zarówno na nowych, jak i obecnych klientów, ale w przypadku nowych klientów ustala wyższe stawki przy użyciu 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.
    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]
    )

Ustawienia utrzymania klientów w kampanii

Aby zastąpić ustawienia lub skonfigurować kierowanie na cele związane z utrzymaniem 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ślna wartość to TARGET_ALL. Aby ustawić tę wartość na TARGET_SPECIFIC, musisz mieć konto na odpowiedniej liście dozwolonych kont.
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]
    )

Jeśli nie zostanie ustawiona, domyślna wartość campaign_retention_settings.target_option to TARGET_ALL. Opcja ustawienia TARGET_SPECIFIC jest dostępna tylko dla użytkowników z odpowiedniej listy dozwolonych.

Ustawienia utrzymania klientów w programie lojalnościowym w kampanii

Aby zastąpić ustawienia lub skonfigurować zachowanie na poziomie kampanii, które jest specyficzne dla uczestników programu lojalnościowego, w przypadku LOYALTY_RETENTION celów skonfiguruj campaign_loyalty_retention_settings pole typu CampaignLoyaltyRetentionGoalSettingsCampaignGoalConfig:

  • 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): czy w tej kampanii mają być włączone korekty stawek za uczestników programu lojalnościowego.
  • show_targeted_loyalty_member_benefits_in_pla (Typ: bool): czy wyświetlać kierowane korzyści dla uczestników programu lojalnościowego w reklamach z informacjami o produktach w kwalifikujących się krajach.
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]
    )

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

Konfiguracja zduplikowanego celu
Utworzenie zduplikowanego celu związanego z cyklem życia klienta, 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 celu „Utrzymanie klientów”) lub GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS (w przypadku celu „Utrzymanie klientów w programie lojalnościowym”).
Nieprawidłowe ustawienia wartości
Podczas konfigurowania ustawień wartości celu związanego z cyklem życia, jeśli występuje wysoka wartość od początku śledzenia, musi też występować wartość standardowa (GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT), a 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 multiplikatywnej, 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 dotyczący zastąpienia określonej wartości docelowej
W przypadku celów „Pozyskiwanie nowych klientów”, jeśli parametr target_option ma wartość TARGET_SPECIFIC (kierowanie 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). Korekty stawek nie mają zastosowania, gdy kierujesz reklamy tylko na nowych klientów.
Zastępowanie ustawień nieprawidłowej wartości
Podczas konfigurowania zastąpień ustawień wartości od początku śledzenia na poziomie kampanii, jeśli występuje wysoka wartość od początku śledzenia, musi też występować 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 multiplikatywnych: 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 niż mnożnik 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 wartości od początku śledzenia i zastąpienia mnożnika wartości od początku śledzenia można ustawić tylko w przypadku obsługiwanych typów kampanii (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE lub CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE).
Niezgodne cele
Jeśli kampania próbuje jednocześnie zastosować niezgodne ze sobą cele optymalizacji związane z cyklem życia klienta, pojawia się błąd (CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). W tabeli poniżej znajdziesz kombinacje celów, które wykluczają się wzajemnie i 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), docieranie do potencjalnych klientów
Utrzymanie klientów („Wyższe stawki w przypadku 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), utrzymywanie 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, „Wyższe stawki w przypadku 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 związanych z cyklem życia używaj metod search lub searchStream interfejsu GoogleAdsService.

To zapytanie pobiera szczegóły każdego skonfigurowanego 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