I'm doing final testing of our code to start handling the upcoming migration to shopping campaigns. One common thing we do on all our campaign types (including PLA, and will need to do on shopping campaigns) is adjust mobile bid modifiers at the ad group and campaign level. However, every attempt at doing this at the ad group level in our test account is failing (campaign level is working fine). The exact same code is used to manage this for every type of campaign we manage, and has been working (and still does work) on all of them (PLA, search, and display), except for shopping. We get a very generic error back from the API whenever we do it for a shopping campaign, saying "Fault occurred while processing.". An example request/response is below. We can add/modify these bid modifiers in the AdWords UI, so it's not that shopping campaigns don't support mobile bid modifiers -- the API just appears to have a bug adding them.
Could someone please look into this? We are using v201406 via the latest version of the Java client API, if that matters.
<soapenv:Header>
<ns1:clientCustomerId>redacted</ns1:clientCustomerId>
<ns1:developerToken>redacted</ns1:developerToken>
<ns1:userAgent>redacted</ns1:userAgent>
<ns1:validateOnly>false</ns1:validateOnly>
<ns1:partialFailure>false</ns1:partialFailure>
</ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
<operations>
<operator>ADD</operator>
<operand>
<adGroupId>18347850910</adGroupId>
<criterion>
<id>30001</id>
</criterion>
<bidModifier>0.49999999999999994</bidModifier>
</operand>
</operations>
<operations>
<operator>ADD</operator>
<operand>
<adGroupId>18347851030</adGroupId>
<criterion>
<id>30001</id>
</criterion>
<bidModifier>0.49999999999999994</bidModifier>
</operand>
</operations>
</mutate>
</soapenv:Body>
</soapenv:Envelope>
08-12-14 17:26:54,409 [main] WARN soapXmlLogger - SOAP Response:
<soap:Header>
<requestId>000500762a915dc00a8076c81c009ef5</requestId>
<serviceName>AdGroupBidModifierService</serviceName>
<methodName>mutate</methodName>
<operations>2</operations>
<responseTime>114</responseTime>
</ResponseHeader>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Fault occurred while processing.</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>