{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-mutate-goals-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateGoalsRequest",
  "description": "Request message for GoalService.MutateGoals.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-goals-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateGoalsRequest",
  "type": "object",
  "properties": {
    "partialFailure": {
      "description": "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.",
      "type": "boolean"
    },
    "operations": {
      "description": "Required. The list of operations to perform on the goals.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__GoalOperation"
      },
      "type": "array"
    },
    "validateOnly": {
      "type": "boolean",
      "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common_GoalSetting_LoyaltyRetentionGoal": {
      "type": "object",
      "properties": {
        "valueSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings",
          "description": "Loyalty retention goal value settings."
        }
      },
      "description": "Loyalty retention goal settings."
    },
    "GoogleAdsGoogleadsV25Common_GoalSetting_NewCustomerAcquisitionGoal": {
      "description": "New Customer Acquisition goal settings.",
      "type": "object",
      "properties": {
        "valueSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings",
          "description": "New Customer Acquisition goal value settings."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_GoalSetting_RetentionGoal": {
      "type": "object",
      "properties": {
        "valueSettings": {
          "description": "Retention goal value settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings"
        }
      },
      "description": "Retention goal settings."
    },
    "GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings": {
      "type": "object",
      "properties": {
        "valueMultiplier": {
          "format": "double",
          "type": "number",
          "description": "Conversion value multiplier."
        },
        "additionalValue": {
          "description": "Incremental conversion value.",
          "type": "number",
          "format": "double"
        },
        "additionalHighLifetimeValue": {
          "description": "Incremental high lifetime conversion value.",
          "type": "number",
          "format": "double"
        },
        "highLifetimeValueMultiplier": {
          "format": "double",
          "type": "number",
          "description": "High lifetime conversion value multiplier."
        }
      },
      "description": "Lifecycle goal optimization value settings."
    },
    "GoogleAdsGoogleadsV25Resources__Goal": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`",
          "type": "string"
        },
        "ownerCustomer": {
          "type": "string",
          "description": "Output only. The resource name of the goal owner customer."
        },
        "newCustomerAcquisitionGoalSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_NewCustomerAcquisitionGoal",
          "description": "New customer acquisition goal settings."
        },
        "optimizationEligibility": {
          "x-enumDescriptions": [
            "The goal optimization status has not been specified.",
            "The goal optimization status is not known in this version.",
            "The goal is eligible for campaign optimization.",
            "The goal is not eligible for campaign optimization."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "INELIGIBLE"
          ],
          "type": "string",
          "description": "Output only. Indicates if this goal is eligible for campaign optimization."
        },
        "loyaltyRetentionGoalSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_LoyaltyRetentionGoal",
          "description": "Loyalty retention goal settings."
        },
        "goalType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)",
            "New customer acquisition goal, which allows advertisers to optimize campaigns to acquire new customers.",
            "Loyalty retention goal, which allows advertisers to optimize campaigns for retaining loyalty program members."
          ],
          "type": "string",
          "description": "Output only. The type of this goal.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER_RETENTION",
            "NEW_CUSTOMER_ACQUISITION",
            "LOYALTY_RETENTION"
          ]
        },
        "retentionGoalSettings": {
          "description": "Retention goal settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_RetentionGoal"
        },
        "goalId": {
          "type": "string",
          "description": "Output only. The ID of this goal.",
          "format": "int64"
        }
      },
      "description": "Representation of goals."
    },
    "GoogleAdsGoogleadsV25Services__GoalOperation": {
      "description": "A single mutate operation on the goal.",
      "type": "object",
      "properties": {
        "updateMask": {
          "type": "string",
          "description": "FieldMask that determines which resource fields are modified in an update.",
          "format": "google-fieldmask"
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Goal",
          "description": "Create a new goal."
        },
        "update": {
          "description": "Update an existing goal.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Goal"
        }
      }
    }
  }
}