Lifecycle Goals

Use the CustomerLifecycleGoal and CampaignLifecycleGoal resources of the Google Ads API to configure goals related to the customer lifecycle. As of v15, 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 customer 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.

Handle create and update operations (for v15 only)

In Google Ads API v15, the operations supported in the CustomerLifecycleGoalService and CampaignLifecycleGoalService differ slightly from other services in the Google Ads API. Instead of having separate create and update operations, the v15 CustomerLifecycleGoalOperation and CampaignLifecycleGoalOperation have only a create operation, and you indicate your intent using the update_mask as follows:

  • To create a lifecycle goal using v15, populate create with the goal but don't set its resource_name and don't set the update_mask of the operation.

  • To update a lifecycle goal using v15, populate create with the goal, set the resource_name of the goal, and set the update_mask to list the fields you want to update.

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 lifecycle goal contains two fields:


Set the existing_user_lists field to indicate which user lists contain existing customers.

The high_lifetime_value_user_lists field indicates which user lists contain high lifetime value customers. You can read this field, but it is immutable in the Google Ads API.


Set the value field to define the additional value adjustment to add to a new customer's first purchase conversion.

You can read the high_lifetime_value of the goal, but this field is immutable in the Google Ads API.

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:

The campaign targets new and existing customers equally. This is the default optimization mode.
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.
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:

FROM customer_lifecycle_goal

Similarly, the following query retrieves the details of every CampaignLifecycleGoal:

FROM campaign_lifecycle_goal