---
title: "POST /v23/customers/{+customerId}/Goals:mutate"
method: POST
path: "/v23/customers/{+customerId}/Goals:mutate"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/Goals:mutate

`POST /v23/customers/{+customerId}/Goals:mutate`

Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateGoalsRequest — Request message for GoalService.MutateGoals.
  - `partialFailure` boolean — Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
  - `validateOnly` boolean — Optional. If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesGoalOperation[] — Required. The list of operations to perform on the goals.
    - `create` GoogleAdsSearchads360V23ResourcesGoal — Representation of goals.
      - `optimizationEligibility` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'INELIGIBLE' — Output only. Indicates if this goal is eligible for campaign optimization.
      - `retentionGoalSettings` GoogleAdsSearchads360V23CommonGoalSettingRetentionGoal — Retention goal settings.
        - `valueSettings` GoogleAdsSearchads360V23CommonCustomerLifecycleOptimizationValueSettings — Lifecycle goal optimization value settings.
          - `additionalValue` number, double — Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
          - `additionalHighLifetimeValue` number, double — High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
      - `resourceName` string — Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
      - `goalType` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOMER_RETENTION' — Output only. The type of this goal.
      - `goalId` string, int64 — Output only. The ID of this goal.
      - `ownerCustomer` string — Output only. The resource name of the goal owner customer.
    - `update` GoogleAdsSearchads360V23ResourcesGoal — Representation of goals.
      - `optimizationEligibility` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'INELIGIBLE' — Output only. Indicates if this goal is eligible for campaign optimization.
      - `retentionGoalSettings` GoogleAdsSearchads360V23CommonGoalSettingRetentionGoal — Retention goal settings.
        - `valueSettings` GoogleAdsSearchads360V23CommonCustomerLifecycleOptimizationValueSettings — Lifecycle goal optimization value settings.
          - `additionalValue` number, double — Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
          - `additionalHighLifetimeValue` number, double — High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
      - `resourceName` string — Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
      - `goalType` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOMER_RETENTION' — Output only. The type of this goal.
      - `goalId` string, int64 — Output only. The ID of this goal.
      - `ownerCustomer` string — Output only. The resource name of the goal owner customer.
    - `updateMask` string, google-fieldmask — FieldMask that determines which resource fields are modified in an update.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/revisions/40d087435afd/schema)
