/resources/experiment_arm.proto

--- v23/resources/experiment_arm.proto  2026-05-08 16:34:11.000000000 +0000
+++ v24/resources/experiment_arm.proto  2026-05-08 16:34:19.000000000 +0000
@@ -38,6 +41,106 @@
     pattern: "customers/{customer_id}/experimentArms/{trial_id}~{trial_arm_id}"
   };

+  // Details of assets associated with the experimental copies of
+  // ads.
+  message AssetTestingInfo {
+    // Details of assets associated for each experimental copy of the ad.
+    repeated AssetVariationInfo asset_variation_infos = 1;
+  }
+
+  // Details of asset variations to be performed on an ad in the control ad
+  // group.
+  message AssetVariationInfo {
+    // Associated base AdGroup resource name.
+    string base_ad_group = 1 [(google.api.resource_reference) = {
+      type: "googleads.googleapis.com/AdGroup"
+    }];
+
+    // Associated base ad resource name.
+    string base_ad = 2 [
+      (google.api.resource_reference) = { type: "googleads.googleapis.com/Ad" }
+    ];
+
+    // Details for each asset that is being modified from the base
+    // ad.
+    repeated AssetDetail asset_details = 3;
+  }
+
+  // Details of an asset modification for the experiment ad, such as adding or
+  // removing the asset.
+  message AssetDetail {
+    // The asset that is being modified for the experiment.
+    string asset = 1 [(google.api.resource_reference) = {
+      type: "googleads.googleapis.com/Asset"
+    }];
+
+    // Field type for the asset.
+    google.ads.googleads.v24.enums.AssetFieldTypeEnum.AssetFieldType
+        field_type = 2;
+
+    // Enum to specify whether the asset is removed or added from the base
+    // ad.
+    google.ads.googleads.v24.enums.ExperimentAssetDetailOperationEnum
+        .ExperimentAssetDetailOperation asset_detail_operation = 3;
+  }
+
+  // Holds the asset groups included in an arm of an Optimize Assets experiment.
+  message AssetGroupInfo {
+    // Asset group resource name.
+    string asset_group = 1 [(google.api.resource_reference) = {
+      type: "googleads.googleapis.com/AssetGroup"
+    }];
+
+    // List of asset group assets under the asset group.
+    repeated AssetGroupAssetInfo asset_group_assets = 2;
+  }
+
+  // Holds the details of an asset within an asset group for an Optimize Assets
+  // experiment arm.
+  message AssetGroupAssetInfo {
+    // Asset resource name of the asset group asset.
+    string asset = 1 [(google.api.resource_reference) = {
+      type: "googleads.googleapis.com/Asset"
+    }];
+
+    // Field type of the asset group asset.
+    google.ads.googleads.v24.enums.AssetFieldTypeEnum.AssetFieldType
+        field_type = 2;
+  }
+
+  // Parameters for an experiment to create a Performance Max campaign.
+  // The experimental Performance Max campaign gets created automatically
+  // based on the existing SHOPPING campaign settings and the settings
+  // specified in this field.
+  message ExperimentalPerformanceMaxCampaignSettings {
+    // Immutable. The amount of budget of the Performance Max experiment
+    // campaign.
+    int64 budget_amount_micros = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+    // Immutable. Target ROAS of the Performance Max experiment campaign.
+    double target_roas = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+    // Immutable. Target CPA of the Performance Max experiment campaign.
+    int64 target_cpa_micros = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+    // Immutable. Bidding strategy type of the Performance Max experiment
+    // campaign.
+    google.ads.googleads.v24.enums.BiddingStrategyTypeEnum.BiddingStrategyType
+        bidding_strategy_type = 4 [(google.api.field_behavior) = IMMUTABLE];
+  }
+
+  // Information specific to the control or treatment campaign of a Performance
+  // Max experiment.
+  message PerformanceMaxExperimentArmInfo {
+    // Immutable. Performance Max campaign settings to be applied on the
+    // Google-created experimental campaign in a Performance Max experiment. The
+    // experimental campaign is automatically created by Google upon experiment
+    // creation.
+    ExperimentalPerformanceMaxCampaignSettings
+        experimental_performance_max_campaign_settings = 1
+        [(google.api.field_behavior) = IMMUTABLE];
+  }
+
   // Immutable. The resource name of the experiment arm.
   // Experiment arm resource names have the form:
   //
@@ -81,4 +184,20 @@
       type: "googleads.googleapis.com/Campaign"
     }
   ];
+
+  // Details of assets under experiment.
+  AssetTestingInfo asset_testing_info = 9;
+
+  // List of asset groups in the experiment arm.
+  repeated AssetGroupInfo asset_groups = 10;
+
+  // Immutable. Information specific to the control or treatment campaign of a
+  // Performance Max experiment.
+  //
+  // This field is specific to experiments of type PMAX_REPLACEMENT_SHOPPING.
+  // For example, the treatment experiment arm contains the
+  // information of treatment Performance Max campaign settings for
+  // PMAX_REPLACEMENT_SHOPPING experiments.
+  PerformanceMaxExperimentArmInfo performance_max_experiment_arm_info = 11
+      [(google.api.field_behavior) = IMMUTABLE];
 }