Does setting bids work differently for YouTube campaigns? When using AdGroupService to set an adgroup bid, I get the following error:
I'm using v6.4.0 of the PHP Client Library against API v201509. The AdWords account has been upgraded to handle YouTube campaigns.
I noticed that the client library does not have a CpvBid class, so I wonder if that is the reason, since YouTube campaigns are CPV bids. In the API call that resulted in the above error, I used a CpmBid object. What is the proper way to set bids on a YouTube campaign?
[Oct 21 2015 21:04:39.000000 - ERROR] POST /api/adwords/cm/v201509/AdGroupService HTTP/1.1
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.5.9-1ubuntu4.13, gzip
Accept-Encoding: gzip, deflate
Content-Encoding: gzip
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 494
Authorization:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Header>
<ns1:RequestHeader>
<ns1:clientCustomerId>----</ns1:clientCustomerId>
<ns1:developerToken>----</ns1:developerToken>
<ns1:userAgent>----</ns1:userAgent>
</ns1:RequestHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:mutate>
<ns1:operations>
<ns1:operator>SET</ns1:operator>
<ns1:operand>
<ns1:id>23896520884</ns1:id>
<ns1:biddingStrategyConfiguration>
<ns1:bids xsi:type="ns1:CpmBid">
<ns1:bid>
<ns1:microAmount>4000000</ns1:microAmount>
</ns1:bid>
</ns1:bids>
</ns1:biddingStrategyConfiguration>
</ns1:operand>
</ns1:operations>
</ns1:mutate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Wed, 21 Oct 2015 21:04:39 GMT
Expires: Wed, 21 Oct 2015 21:04:39 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 515
Server: GSE
<?xml version="1.0"?>
<soap:Header>
<requestId>----</requestId>
<serviceName>AdGroupService</serviceName>
<methodName>mutate</methodName>
<operations>1</operations>
<responseTime>54</responseTime>
</ResponseHeader>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>[OperationAccessDenied.MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT @ operations[0]]</faultstring>
<detail>
<message>[OperationAccessDenied.MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT @ operations[0]]</message>
<ApplicationException.Type>ApiException</ApplicationException.Type>
<fieldPath>operations[0]</fieldPath>
<trigger/>
<errorString>OperationAccessDenied.MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT</errorString>
<ApiError.Type>OperationAccessDenied</ApiError.Type>
<reason>MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT</reason>
</errors>
</ApiExceptionFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>