ライフサイクル目標

Google Ads API の Goal リソースと CampaignGoalConfig リソースを使用して、顧客ライフサイクルに関連する目標を構成します。Google 広告 API は、Google 広告の広告キャンペーンで顧客ライフサイクル価値の調整を効率的に管理するための「新規顧客の獲得」目標「ユーザー維持」目標をサポートしています。

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

顧客ライフサイクル目標の種類

顧客ライフサイクル目標は、Goal リソースを使用してアカウント単位で構成されます。目標は特定のライフサイクル目標を表し、goal_type によって定義されます。

サポートされているライフサイクル目標のタイプは次のとおりです。

NEW_CUSTOMER_ACQUISITION
コンバージョンに値の調整を割り当てることで、新規顧客を効率的に獲得できます。
CUSTOMER_RETENTION
既存ユーザー、価値の高いユーザー、休眠ユーザーのリエンゲージメント。
LOYALTY_RETENTION
ポイント プログラム メンバーの維持とエンゲージメントを特に高めるため。

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

顧客レベルで、Goal を作成してライフサイクル目標を構成します。Google 広告アカウントでは、目標タイプ(NEW_CUSTOMER_ACQUISITIONCUSTOMER_RETENTIONLOYALTY_RETENTION)ごとに Goal を 1 つだけ設定できます。

「新規顧客の獲得」目標の設定

新規顧客の獲得(NCA)を設定するには、goal_typeNEW_CUSTOMER_ACQUISITION に設定し、GoalService を使用して new_customer_acquisition_goal_settings フィールドで設定を構成します。

この設定では、CustomerLifecycleOptimizationValueSettings を使用して、新規顧客のコンバージョン値の調整額を指定します。

  • value_adjustment(oneof):
    • additional_value(倍精度浮動小数点数): 新規顧客の最初の購入コンバージョンに追加するコンバージョン値の伸び。
    • value_multiplier(倍精度浮動小数点数): 新規顧客の初回購入のコンバージョン値に適用する乗数(まだサポートされていません)。
  • high_lifetime_value_adjustment(oneof):
    • additional_high_lifetime_value(倍精度浮動小数点数): ライフタイム バリューが高いと判断された新規顧客のコンバージョン値の伸び。
    • high_lifetime_value_multiplier(double): ライフタイム バリューの高い新規顧客に適用するコンバージョン値の調整比(対象外)。

ライフタイム値の上限は、設定されている場合は値よりも大きくする必要があります。

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]
    )

「ユーザー維持」目標の設定

顧客維持を設定するには、goal_typeCUSTOMER_RETENTION に設定し、retention_goal_settings フィールドで設定を構成します。

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

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]
    )

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

ポイント プログラムのユーザー維持目標の設定

ポイント プログラム メンバーの顧客維持目標を設定するには、goal_typeLOYALTY_RETENTION に設定し、loyalty_retention_goal_settings フィールド(LoyaltyRetentionGoal)で設定を構成します。

ポイント プログラムの「顧客維持」目標では、CustomerLifecycleOptimizationValueSettings を使用する value_settingsvalue_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]
    )

オーディエンスをセグメント化する

UserListCustomerType リソースを使用して、顧客ライフサイクル目標(新規顧客の獲得、顧客維持、ロイヤリティ維持の各目標を含む)のオーディエンスをセグメント化する必要があります。ユーザーリストとカテゴリの組み合わせごとに UserListCustomerType を作成して、各ユーザーリストを 1 つ以上のカテゴリに関連付ける必要があります。

UserListCustomerTypeService を使用して、UserListCustomerType インスタンスを作成します。

UserListCustomerTypeServicecreate オペレーションと remove オペレーションのみをサポートしているため、既存の UserListCustomerType を更新する場合は、削除してから必要な更新を含む新しい を作成する必要があります。

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

最初の customer_type_category 2 番目の customer_type_category
購入者 CONVERTED_LEADS
購入者 QUALIFIED_LEADS
購入者 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

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

キャンペーン単位では、CampaignGoalConfig を使用して、キャンペーン固有の上書きまたはターゲティング オプションを設定できます。アカウント単位の目標を取得したら、その resource_name を使用して、CampaignGoalConfigServicemutate_campaign_goal_configs メソッドを使用して CampaignGoalConfig を作成します。

キャンペーンの「新規顧客の獲得」の設定

キャンペーン単位で「新規顧客の獲得」の設定をオーバーライドするか、ターゲティングを設定するには、タイプ CampaignNewCustomerAcquisitionGoalSettingscampaign_new_customer_acquisition_settings フィールドを構成します。

  • value_settings_override(タイプ: CustomerLifecycleOptimizationValueSettings): アカウント単位の設定をオーバーライドするカスタム値の調整。
  • target_option(タイプ: CustomerLifecycleOptimizationMode): 顧客ライフサイクルの最適化モードを制御します。次のオプションがあります。
    • TARGET_ALL: キャンペーンは新規顧客と既存顧客の両方をターゲットにしていますが、設定された値調整を使用して新規顧客に対する入札単価を高く設定しています。
    • TARGET_SPECIFIC: キャンペーンのターゲットは新規顧客のみです。このオプションでは入札単価調整は適用されません。
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]
    )

キャンペーンの顧客維持の設定

設定をオーバーライドするか、キャンペーン単位でユーザー維持目標のターゲティングを設定するには、タイプ CampaignRetentionGoalSettingscampaign_retention_settings フィールドを設定します。

  • value_settings_override(タイプ: CustomerLifecycleOptimizationValueSettings): アカウント単位の設定をオーバーライドするカスタム値の調整。
  • target_option(タイプ: CustomerLifecycleOptimizationMode): 最適化モードを制御します。デフォルトは TARGET_ALL ですTARGET_SPECIFIC に設定するには、アカウントが適切な許可リストに含まれている必要があります。
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]
    )

設定しない場合、campaign_retention_settings.target_option はデフォルトで TARGET_ALL になります。TARGET_SPECIFIC に設定するオプションは、適切な許可リストに登録されているユーザーのみが利用できます。

キャンペーンのリピート回数維持設定

LOYALTY_RETENTION 目標のキャンペーン単位で設定をオーバーライドするか、ロイヤリティ メンバー固有の動作を構成するには、CampaignGoalConfigCampaignLoyaltyRetentionGoalSettings タイプの campaign_loyalty_retention_settings フィールドを構成します。

  • value_settings_override(タイプ: CustomerLifecycleOptimizationValueSettings): アカウント単位のロイヤルティ維持値の設定をオーバーライドするカスタム値調整。
  • enable_bid_adjustments_for_loyalty_members(タイプ: bool): このキャンペーンでポイント プログラム メンバーに対する入札単価調整を有効にするかどうか。
  • show_targeted_loyalty_member_benefits_in_pla(タイプ: bool): 対象となる国で、商品リスティング広告(PLA)形式でポイント プログラムの対象メンバー特典を表示するかどうか。
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]
    )

検証とエラー

顧客ライフサイクル目標を構成する際に、次の制約とエラーが発生する可能性があります。

目標の検証エラー

目標設定の重複
ライフサイクル目標がすでに存在する場合に重複するライフサイクル目標を作成すると、GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(新規顧客の獲得の場合)、GoalError.RETENTION_GOAL_ALREADY_EXISTS(ユーザー維持目標の場合)、GoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(ロイヤリティ維持目標の場合)のエラーが発生します。
無効な値の設定
ライフサイクル目標の目標値の設定を構成する際、高いライフタイム バリューが存在する場合は、標準値(GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT)が存在する必要があります。また、高いライフタイム バリューは、設定されている場合は値(GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE)よりも大きくなければなりません。

キャンペーン目標の設定の検証エラー

特定の目標値のオーバーライドの競合
「新規顧客の獲得」目標の場合、target_optionTARGET_SPECIFIC(新規顧客のみをターゲットに設定)に設定されている場合、キャンペーン単位の価値の上書きは設定できません(CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION)。新規顧客のみをターゲットに設定している場合、入札単価の調整は適用されません。
ライフタイム バリューの高いキャンペーン タイプのサポート
高いライフタイム バリューのオーバーライドは、サポートされているキャンペーン タイプ(CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE)でのみ設定する必要があります。
互換性のない目標
キャンペーンで互換性のない顧客ライフサイクル最適化目標を同時に適用しようとすると、エラーがスローされます(CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS)。次の表に、このエラーをトリガーする相互に排他的な目標の組み合わせを示します。
顧客ライフサイクル目標のタイプ / モード 目標 / モードが対応していない
顧客維持(「休眠ユーザーに対してのみ入札単価を設定する」/ TARGET_SPECIFIC 新規顧客の獲得(「新規顧客に限定して入札単価を設定」/ TARGET_SPECIFIC、「新規顧客に対する入札単価を高く設定」/ TARGET_ALL)、見込み顧客発掘
顧客維持(「休眠ユーザーに対する入札単価を高く設定する」/ TARGET_ALL 新規顧客の獲得(「新規顧客に対してのみ入札単価を設定する」/ TARGET_SPECIFIC)、見込み顧客開拓
リピート回数の維持率(値の調整比) 新規顧客の獲得([新規顧客に対してのみ入札単価を設定する] / TARGET_SPECIFIC)、顧客の維持([休眠顧客に対する入札単価を高く設定] / TARGET_SPECIFIC)、見込み顧客発掘、粗利益
ポイント プログラムの維持(PLA の特典) 新規顧客の獲得(「新規顧客に対してのみ入札単価を設定する」/ TARGET_SPECIFIC)、見込み顧客開拓、粗利益
顧客開拓 新規顧客の獲得(「新規顧客のみに入札単価を設定」/ TARGET_SPECIFIC、「新規顧客に対する入札単価を高く設定」/ TARGET_ALL

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

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

次のクエリは、Google Ads API アカウントで構成されたすべての Goal の詳細を取得します。

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

同様に、次のクエリはすべての 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