This is exactly the approach.
-Danial, AdWords API Team.
On Thursday, November 27, 2014 4:28:19 PM UTC+3, Filip Holmberg wrote:
Okey, so I got keyword bids changed individually(executed as a grouped mutate of course) by setting a individual biddingStrategyConfiguration. Might this be the best way or am I missing something here?
$keywordTest = [
['keywordID' => '11372600', 'adgroupID' => '8941319456'],
['keywordID' => '11938331', 'adgroupID' => '8941319456'],
];
$TestApi = new Api(true);
$TestApi->getUser()->SetClientCustomerId('542-765-9912');
$CriteriaService = $TestApi->getUser()->GetService('AdGroupCriterionService');
$operations = array();
foreach($keywordTest as $keyword)
{
$adGroupCriterion = new \BiddableAdGroupCriterion();
$adGroupCriterion->adGroupId = $keyword['adgroupID'];
$adGroupCriterion->criterion = new \Criterion($keyword['keywordID']);
$bid = new \CpcBid();
$bid->bid = new \Money(2.34 * \AdWordsConstants::MICROS_PER_DOLLAR);
$biddingStrategyConfiguration = new \BiddingStrategyConfiguration();
$biddingStrategyConfiguration->bids[] = $bid;
$adGroupCriterion->biddingStrategyConfiguration = $biddingStrategyConfiguration;
$operation = new \AdGroupCriterionOperation();
$operation->operand = $adGroupCriterion;
$operation->operator = 'SET';
array_push($operations, $operation);
}
$CriteriaService->mutate($operations);