Hi Declan, For the adServingOptimizationStatus <https://developers.google.com/adwords/api/docs/reference/v201710/CampaignService.Campaign#adservingoptimizationstatus> field, this will default to OPTIMIZE and not null based on that link under CONVERSION_OPTIMIZE. It says on the guide that "If the campaign is not in the conversion optimizer bidding strategy, it will default to OPTIMIZED.". You are correct that manually setting this will generate the CANNOT_SET_AD_ROTATION_MODE error in v201710, however, without setting this, the default value will be OPTIMIZE. This is the result on my testing.
SOAP request snippet: <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201710"> <operations> <operator>ADD</operator> <operand> <name>Sample Campaign #12345</name> <status>PAUSED</status> <startDate>20180208</startDate> <endDate>20180309</endDate> <budget> <budgetId>XXXXXX</budgetId> </budget> <frequencyCap> <impressions>5</impressions> <timeUnit>DAY</timeUnit> <level>ADGROUP</level> </frequencyCap> <settings xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201710" xsi:type="ns2:GeoTargetTypeSetting"> <ns2:positiveGeoTargetType>DONT_CARE</ns2:positiveGeoTargetType> </settings> <advertisingChannelType>SEARCH</advertisingChannelType> <networkSetting> <targetGoogleSearch>true</targetGoogleSearch> <targetSearchNetwork>true</targetSearchNetwork> <targetContentNetwork>false</targetContentNetwork> <targetPartnerSearchNetwork>false</targetPartnerSearchNetwork> </networkSetting> <biddingStrategyConfiguration> <biddingStrategyType>MANUAL_CPC</biddingStrategyType> <biddingScheme xmlns:ns3="https://adwords.google.com/api/adwords/cm/v201710" xsi:type="ns3:ManualCpcBiddingScheme"> <ns3:enhancedCpcEnabled>false</ns3:enhancedCpcEnabled> </biddingScheme> </biddingStrategyConfiguration> </operand> </operations> </mutate> SOAP response snippet: <mutateResponse xmlns="https://adwords.google.com/api/adwords/cm/v201710"> <rval> <ListReturnValue.Type>CampaignReturnValue</ListReturnValue.Type> <value> <id>XXXXXXXXXXX</id> <name>Sample Campaign #12345</name> <status>PAUSED</status> <servingStatus>PENDING</servingStatus> <startDate>20180208</startDate> <endDate>20180309</endDate> <budget> <budgetId>XXXXXxx</budgetId> <name>Budget sample</name> <amount> <ComparableValue.Type>Money</ComparableValue.Type> <microAmount>50000000</microAmount> </amount> <deliveryMethod>STANDARD</deliveryMethod> <isExplicitlyShared>true</isExplicitlyShared> <status>ENABLED</status> </budget> <conversionOptimizerEligibility> <eligible>false</eligible> <rejectionReasons>NOT_ENOUGH_CONVERSIONS</rejectionReasons> </conversionOptimizerEligibility> *<adServingOptimizationStatus>OPTIMIZE</adServingOptimizationStatus>* <frequencyCap> <impressions>5</impressions> <timeUnit>DAY</timeUnit> <level>ADGROUP</level> </frequencyCap> <settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="GeoTargetTypeSetting"> <Setting.Type>GeoTargetTypeSetting</Setting.Type> <positiveGeoTargetType>DONT_CARE</positiveGeoTargetType> </settings> <advertisingChannelType>SEARCH</advertisingChannelType> <networkSetting> <targetGoogleSearch>true</targetGoogleSearch> <targetSearchNetwork>true</targetSearchNetwork> <targetContentNetwork>false</targetContentNetwork> <targetPartnerSearchNetwork>false</targetPartnerSearchNetwork> </networkSetting> <biddingStrategyConfiguration> <biddingStrategyType>MANUAL_CPC</biddingStrategyType> <biddingScheme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ManualCpcBiddingScheme"> <BiddingScheme.Type>ManualCpcBiddingScheme</BiddingScheme.Type> <enhancedCpcEnabled>false</enhancedCpcEnabled> </biddingScheme> </biddingStrategyConfiguration> <campaignTrialType>BASE</campaignTrialType> <baseCampaignId>XXXXXXXXX</baseCampaignId> </value> </rval> </mutateResponse> So when I update this campaign, it does not need to manually set the adServingOptimizationStatus field to null in order for the request to be successful. I just set the status directly to REMOVE and there were no errors in my request. However, since your scenario is different than mine, can you provide to me the SOAP request and response logs for both of your create and update campaign requests? Kindly use the *Reply privately to author* option when replying. Thanks, Vincent AdWords API Team -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and Google+: https://googleadsdeveloper.blogspot.com/ https://plus.google.com/+GoogleAdsDevelopers/posts =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/d4d92a9b-b185-462b-9e98-78752af8f5f8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
