Google Ads API の CustomerLifecycleGoal
リソースと CampaignLifecycleGoal
リソースを使用して、顧客ライフサイクルに関連する目標を構成します。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
インスタンスが含まれています。
UserListCustomerTypeService
は create
オペレーションと remove
オペレーションのみをサポートしているため、既存の UserListCustomerType
を更新する場合は、削除してから必要な更新を加えて新しい 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 |
キャンペーンのライフサイクル目標を設定する
キャンペーン単位で、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
を使用して、CampaignGoalConfigService
の mutate_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 allowlisted.
#
# 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 の他のリソースと同様に、GoogleAdsService
の search
メソッドまたは searchStream
メソッドを使用してライフサイクル目標を取得します。
次のクエリは、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