Lifecycle Goals

  • Leverage the Google Ads API's CustomerLifecycleGoal and CampaignLifecycleGoal resources to manage goals throughout the customer lifecycle, including efficient customer acquisition through Search and Performance Max campaigns.

  • When using cross-account conversion tracking, configure customer lifecycle goals in the Google Ads conversion account while setting campaign lifecycle goals directly in your Google Ads account.

  • Starting with Google Ads API v17, utilize the UserListCustomerType resource for audience segmentation, replacing the deprecated method of adding user lists directly to CustomerLifecycleGoal.

  • Configure campaign-level lifecycle goals with CampaignLifecycleGoal to control optimization modes and override customer-level value settings, targeting new and existing customers strategically.

  • Retrieve lifecycle goal details using GoogleAdsService search methods, querying for CustomerLifecycleGoal and CampaignLifecycleGoal attributes.

Use the CustomerLifecycleGoal and CampaignLifecycleGoal resources of the Google Ads API to configure goals related to the customer lifecycle. The Google Ads API supports customer acquisition goals for efficiently acquiring new customers through your Google Ads Search and Performance Max campaigns.

If your Google Ads account is using cross-account conversion tracking, then you must configure customer lifecycle goals in the Google Ads conversion account instead of directly in your Google Ads account. You should still set campaign lifecycle goals in your account, however. This is similar to how you manage other goals when using cross-account conversion tracking.

Configure customer lifecycle goals

At the customer-level, configure a lifecycle goal by creating or updating a CustomerLifecycleGoal. There can be at most one CustomerLifecycleGoal per Google Ads account. The customer_acquisition_goal_value_settings.value field defines the additional value adjustment to add to a new customer's first purchase conversion. The customer_acquisition_goal_value_settings.high_lifetime_value defines the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.

Segment your audiences

You must use the UserListCustomerType resource to segment your audiences for customer lifecycle goals. You must associate each user list with one or more categories by creating a UserListCustomerType for each combination of user list and category.

Use the UserListCustomerTypeService to create UserListCustomerType instances. If you have previously populated the CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists field, then your account will already contain related UserListCustomerType instances.

The UserListCustomerTypeService only supports create and remove operations, so if you want to update an existing UserListCustomerType you must remove it and then create a new one with the necessary updates.

A UserListCustomerType can only be assigned to one user list, but a user list can have multiple associated UserListCustomerType instances as long as there are no conflicts between the UserListCustomerType instances. Trying to assign UserListCustomerType instances with the following combinations of customer_type_category to the same user list will result in a UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES error:

First customer_type_category Second 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

Configure campaign lifecycle goals

At the campaign level, configure a lifecycle goal by creating or updating a CampaignLifecycleGoal. There can be at most one CampaignLifecycleGoal per campaign.

The customer_acquisition_goal_settings field of a campaign-level goal lets you set the optimization mode of the campaign as well as override the value settings from the parent customer goal.

The optimization_mode can be one of the following values:

TARGET_ALL_EQUALLY
The campaign targets new and existing customers equally. This is the default optimization mode.
BID_HIGHER_FOR_NEW_CUSTOMERS
The campaign targets both new and existing customers, but bids higher for customers that are predicted be new and are not in one of the existing_user_lists.
TARGET_NEW_CUSTOMERS
The campaign only targets new customers.

The value_settings are the same as the customer_acquisition_goal_value_settings on the customer-level goal. Use these campaign-level settings to override the values for a specific campaign.

Retrieve lifecycle goals

As with other resources in the Google Ads API, use the search or searchStream methods of GoogleAdsService to retrieve lifecycle goals.

The following query retrieves the details of every CustomerLifecycleGoal in a Google Ads account:

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

Similarly, the following query retrieves the details of every 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