/errors/experiment_arm_error.proto

--- v23/errors/experiment_arm_error.proto   2026-05-08 16:34:09.000000000 +0000
+++ v24/errors/experiment_arm_error.proto   2026-05-08 16:34:18.000000000 +0000
@@ -80,5 +80,36 @@

     // Traffic split is not supported for some channel types.
     TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE = 15;
+
+    // Shared budgets are not allowed in experiments.
+    BUDGET_MUST_NOT_BE_SHARED = 16;
+
+    // Campaign must enable performance search setting for ADOPT_AI_MAX
+    // experiments.
+    ADOPT_AI_MAX_CAMPAIGN_MISSING_PERFORMANCE_SEARCH_ENABLED = 17;
+
+    // Number of campaigns in the experiment arm is above limit.
+    TOO_MANY_CAMPAIGNS_IN_EXPERIMENT_ARM = 18;
+
+    // AI Max experiments do not support campaigns with a target ROAS tolerance
+    // (see
+    // campaign.maximize_conversion_value.target_roas_tolerance_percent_millis).
+    CANNOT_ADD_CAMPAIGN_WITH_TARGET_ROAS_TOLERANCE_PERCENT_MILLIS = 19;
+
+    // A campaign cannot be added to multiple arms in one experiment. Use
+    // different campaigns in each arm of the experiment.
+    CANNOT_HAVE_SAME_CAMPAIGN_CROSS_ARMS_IN_ONE_EXPERIMENT = 20;
+
+    // Campaigns in the ADOPT_BROAD_MATCH_KEYWORD experiment cannot target the
+    // Google Display Network.
+    SEARCH_PLUS_CAMPAIGN_NOT_ALLOWED = 21;
+
+    // An asset group asset cannot be added to multiple arms in one experiment.
+    // Use different asset group assets in each arm of the experiment.
+    DUPLICATE_ASSET_GROUP_ASSETS_BETWEEN_ARMS = 22;
+
+    // An asset group asset cannot be used multiple times in one arm.
+    // Use different asset group assets in one arm of the experiment.
+    DUPLICATE_ASSET_GROUP_ASSETS_IN_ONE_ARM = 23;
   }
 }