ライフサイクル目標

CustomerLifecycleGoalCampaignLifecycleGoal の Google Ads API リソースを使用して、顧客ライフサイクルに関連する目標を設定します。Google Ads API では、Google 広告の検索キャンペーン、ショッピングキャンペーン、P-MAX キャンペーンを通じて新規顧客を効率的に獲得するための顧客獲得目標がサポートされています。

Google 広告アカウントでクロスアカウント コンバージョン トラッキングを使用している場合は、Google 広告アカウントで直接設定するのではなく、 Google 広告のコンバージョン アカウント で顧客ライフサイクル目標を設定する必要があります。ただし、キャンペーンのライフサイクル目標はアカウントで設定する必要があります。これは、クロスアカウントコンバージョン トラッキングを使用している場合に 他の目標を管理する方法と同様です。

顧客ライフサイクル目標を設定する

顧客レベルで、 CustomerLifecycleGoal を作成または更新してライフサイクル目標を設定します。Google 広告アカウントごとに設定できる CustomerLifecycleGoal は 1 つまでです。customer_acquisition_goal_value_settings.value フィールドは、新規顧客の最初の購入コンバージョンに加算する値の調整額を定義します。customer_acquisition_goal_value_settings.high_lifetime_value は、価値の高い新規顧客のコンバージョン値の伸びを定義します。設定されている場合、高いライフタイム バリューは値より大きくする必要があります。

オーディエンスを分割する

顧客ライフサイクル目標のオーディエンスを分割するには、 UserListCustomerType リソースを使用する必要があります。ユーザーリストとカテゴリの組み合わせごとに UserListCustomerType を作成して、各ユーザーリストを 1 つ以上のカテゴリに関連付ける必要があります。

UserListCustomerTypeService を 使用して UserListCustomerType インスタンスを作成します。 すでに非推奨となっている CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists フィールドにデータを入力している場合、アカウントには関連する UserListCustomerType インスタンスがすでに含まれています。

UserListCustomerTypeServicecreateremove オペレーションのみをサポートしているため、既存の UserListCustomerType を更新する場合は 削除してから必要な更新を加えて新しいインスタンスを作成する必要があります。

UserListCustomerType は 1 つのユーザーリストにのみ割り当てることができますが、ユーザーリストに複数の UserListCustomerType インスタンスを関連付けることができますインスタンス間に競合がない限りUserListCustomerType次の組み合わせの customer_type_category を持つ UserListCustomerType インスタンスを同じユーザーリストに割り当てようとすると、UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES エラーが発生します。

最初の customer_type_category 2 番目の 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

キャンペーンのライフサイクル目標を設定する

キャンペーン単位で、 作成または更新して、 CampaignLifecycleGoal顧客の獲得目標の設定を構成できます。顧客獲得のキャンペーンごとに設定できる CampaignLifecycleGoal は 1 つまでです。「ユーザー維持」目標など、他の目標タイプは個別に設定します。

キャンペーン単位の目標の customer_acquisition_goal_settings フィールドでは、キャンペーンの最適化モードを設定できるほか、親の顧客目標の値設定をオーバーライドすることもできます。

optimization_mode には次のいずれかの値を指定できます。

TARGET_ALL_EQUALLY
キャンペーンでは、新規顧客と既存顧客の両方を均等にターゲットに設定します。これがデフォルトの最適化モードです。
BID_HIGHER_FOR_NEW_CUSTOMERS
キャンペーンでは、新規顧客と既存顧客の両方をターゲットに設定しますが、新規顧客と予測され、existing_user_lists のいずれにも含まれていない顧客に対しては入札単価を引き上げます。
TARGET_NEW_CUSTOMERS
キャンペーンでは、新規顧客のみをターゲットに設定します。

value_settings は、顧客レベルの目標の customer_acquisition_goal_value_settingsと同じです。キャンペーン単位の設定を使用して、特定のキャンペーンの値をオーバーライドします。

「ユーザー維持」目標

「ユーザー維持」目標は、ビジネスにおける顧客ロイヤルティと高いライフタイム バリュー(LTV)を促進することを目的としています。P-MAX キャンペーンでは複数のモードが用意されており、 既存顧客の特定のセグメントをターゲットに設定できます。

「ユーザー維持」目標を作成する前に、 「ユーザー維持」目標についてで説明されている前提条件を満たす必要があります。これには、P-MAX キャンペーンとカスタマー マッチのユーザーリストが必要です。

「ユーザー維持」目標を作成するには、まず GoalServiceを初期化し、 mutate_goalsメソッドを使用してリクエストを発行して新しい 目標を作成する必要があります。

def create_goal(client: GoogleAdsClient, customer_id: str) -> None:
    """Sends an API request to add a new 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.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]
    )

これにより、指定したクライアント アカウントのアカウント レベルで新しい「ユーザー維持」目標が作成され、そのアカウントのすべてのキャンペーンに適用されます。デフォルトでは、この目標はカスタマー マッチのユーザーリスト内のすべてのユーザーをターゲットに設定します。

CampaignGoalConfigを使用して、キャンペーン単位の設定でこの目標をオーバーライドできます。アカウント単位の目標を設定したら、その resource_name を使用して、CampaignGoalConfigServicemutate_campaign_goal_configs メソッドで CampaignGoalConfig を作成します。

def create_campaign_goal_config(
  client: GoogleAdsClient,
  customer_id: str,
  goal_resource_name: str,
  campaign_resource_name: str
) -> None:
    """Sends an API request to add a new CampaignGoalConfig.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.
        goal_resource_name: the resource name of an existing 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

    # Note that the target_option will be set to TARGET_ALL by default. In order
    # to set it to TARGET_SPECIFIC your account must be on the appropriate
    # allowlist.
    #
    # 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 に設定するオプションは、適切な許可リストに登録されているユーザーのみが利用できます。

ライフサイクル目標を取得する

Google Ads API の他のリソースと同様に、search または searchStream メソッドを使用して、GoogleAdsService からライフサイクル目標を取得します。

次のクエリでは、Google 広告アカウント内のすべての CustomerLifecycleGoal の詳細を取得します。

SELECT
  customer_lifecycle_goal.owner_customer,
  customer_lifecycle_goal.customer_acquisition_goal_value_settings.value,
  customer_lifecycle_goal.customer_acquisition_goal_value_settings.high_lifetime_value
FROM customer_lifecycle_goal

同様に、次のクエリでは、すべての CampaignLifecycleGoal の詳細を取得します。

SELECT
  campaign_lifecycle_goal.campaign,
  campaign_lifecycle_goal.customer_acquisition_goal_settings.optimization_mode,
  campaign_lifecycle_goal.customer_acquisition_goal_settings.value_settings.value,
  campaign_lifecycle_goal.customer_acquisition_goal_settings.value_settings.high_lifetime_value
FROM campaign_lifecycle_goal