When updating to v201802, I came across a migration issue that is associated with v201710. I am using the dotnet client library to get campaigns from the API, perform some updates to them, and make mutate requests. However, although I am not setting
AdServingOptimizationStatus (which is deprecated at the campaign level), the campaigns automatically come back from the API with AdServingOptimizationStatusSpecified set to true. This needs to be set to false when reading any campaign in order to avoid CANNOT_SET_AD_ROTATION_MODE errors.