Cele cyklu życia

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 utrzymania klientów, które umożliwiają 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 utraconych klientów.
LOYALTY_RETENTION
Umożliwia zwiększanie utrzymania klientów i zaangażowania 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 cel każdego typu (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.

Ustawienia używają CustomerLifecycleOptimizationValueSettings, aby określić korekty wartości konwersji w przypadku pozyskanych klientów:

  • value_adjustment (oneof):
    • additional_value (double): przyrostowa wartość konwersji, która ma zostać dodana do pierwszej konwersji zakupu nowego klienta.
    • value_multiplier (double): mnożnik, który ma zostać zastosowany do wartości konwersji w przypadku pierwszego zakupu nowego klienta (jeszcze nieobsługiwany).
  • high_lifetime_value_adjustment (oneof):
    • additional_high_lifetime_value (double): przyrostowa wartość konwersji w przypadku nowych klientów, którzy zostali uznani za klientów 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 (jeszcze nieobsługiwany).

Jeśli ustawiono wartość od początku śledzenia, powinna być ona większa niż wartość.

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 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 m.in. 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
    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 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 będzie kierowany na wszystkich użytkowników na listach użytkowników z kierowania na listę klientów.

Ustawienia celu „Utrzymanie uczestników programu lojalnościowego”

Aby skonfigurować cele dotyczące utrzymania uczestników programu lojalnościowego, ustaw 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 za pomocą CustomerLifecycleOptimizationValueSettings obsługiwane jest tylko ustawienie 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]
    )

Segmentowanie list 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 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 operacje create i remove. 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 celów związanych z cyklem życia 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 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 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 stawki są wyższe w przypadku nowych klientów, którzy korzystają ze 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 kampanii dotyczące utrzymania klientów

Aby zastąpić ustawienia lub skonfigurować kierowanie na potrzeby celów dotyczących 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 jest to TARGET_ALL. Aby ustawić tę opcję na 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_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 kampanii dotyczące utrzymania uczestników programu lojalnościowego

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 uczestników programu lojalnościowego na poziomie konta.
  • enable_bid_adjustments_for_loyalty_members (typ: bool): czy w tej kampanii mają być włączone korekty 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 reklamy z informacjami o produkcie.
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

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 dotyczących utrzymania klientów) lub GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS (w przypadku celów dotyczących 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 ustawiona wartość od początku śledzenia, musi być też ustawiona wartość standardowa (GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT). Ponadto 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).

Błędy weryfikacji konfiguracji celu kampanii

Konflikt zastąpienia wartości docelowej
W przypadku celów „Pozyskiwanie nowych klientów”, jeśli target_option jest ustawiona na TARGET_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.
Obsługa typu kampanii z wartością od początku śledzenia
Zastąpienia 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_TYPE).
Niezgodne cele
Jeśli kampania próbuje jednocześnie zastosować niezgodne cele optymalizacji cyklu życia klienta, wyświetlany jest błąd (CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). W tabeli poniżej 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 utraconych klientów” / TARGET_SPECIFIC) Pozyskiwanie nowych klientów („Ustalaj stawki tylko dla nowych klientów” / TARGET_SPECIFIC, „Ustalaj wyższe stawki dla nowych klientów” / TARGET_ALL), pozyskiwanie potencjalnych klientów
Utrzymanie klientów („Ustalaj wyższe stawki dla utraconych 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 utraconych klientów” / TARGET_SPECIFIC), pozyskiwanie potencjalnych klientów, zysk brutto
Utrzymanie lojalności (korzyści w PLA) 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, „Ustalaj wyższe stawki dla 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 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