private function createAdGroupCriterionOperation(array $criterion){ $adGroupCriterion = new \BiddableAdGroupCriterion(); $adGroupCriterion->adGroupId = $criterion['adGroupId']; $adGroupCriterion->criterion = new \Criterion($criterion['id']);
$operator = 'SET';
if ('pause' == $criterion['type']) { $adGroupCriterion->userStatus = 'PAUSED';
if ($criterion['criterionType'] == "placement") { $adGroupCriterion = new \NegativeAdGroupCriterion(); $adGroupCriterion->adGroupId = $criterion['adGroupId']; $adGroupCriterion->criterion = new \Criterion($criterion['id']); $operator = 'ADD'; } }
// Create operation. $operation = new \AdGroupCriterionOperation(); $operation->operand = $adGroupCriterion; $operation->operator = $operator;
return $operation;}
<?php
require 'vendor/autoload.php';
use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201705\cm\CampaignCriterion;
use Google\AdsApi\AdWords\v201705\cm\CampaignCriterionOperation;
use Google\AdsApi\AdWords\v201705\cm\CampaignCriterionService;
use Google\AdsApi\AdWords\v201705\cm\ConstantOperand;
use Google\AdsApi\AdWords\v201705\cm\ConstantOperandConstantType;
use Google\AdsApi\AdWords\v201705\cm\ConstantOperandUnit;
use Google\AdsApi\AdWords\v201705\cm\FunctionOperator;
use Google\AdsApi\AdWords\v201705\cm\Placement;
use Google\AdsApi\AdWords\v201705\cm\PlacementMatchType;
use Google\AdsApi\AdWords\v201705\cm\Location;
use Google\AdsApi\AdWords\v201705\cm\LocationExtensionOperand;
use Google\AdsApi\AdWords\v201705\cm\LocationGroups;
use Google\AdsApi\AdWords\v201705\cm\Language;
use Google\AdsApi\AdWords\v201705\cm\MatchingFunction;
use Google\AdsApi\AdWords\v201705\cm\NegativeCampaignCriterion;
use Google\AdsApi\AdWords\v201705\cm\Operator;
use Google\AdsApi\Common\OAuth2TokenBuilder;
/**
* This example adds various types of targeting criteria to a campaign.
* To get campaigns, run BasicOperations/GetCampaigns.php.
*/
class AddCampaignTargetingCrtieria {
const CAMPAIGN_ID = '869044770';
public static function runExample(AdWordsServices $adWordsServices,
AdWordsSession $session, $campaignId) {
$campaignCriterionService =
$adWordsServices->get($session, CampaignCriterionService::class);
$campaignCriteria = [];
$operations = [];
foreach ($campaignCriteria as $campaignCriterion) {
$operation = new CampaignCriterionOperation();
$operation->setOperator(Operator::ADD);
$operation->setOperand($campaignCriterion);
$operations[] = $operation;
}
// Add a negative campaign criterion.
$negativePlacement = new Placement();
$negativePlacement->setUrl('lovebscott.com');
//$negativePlacement->setCriterionType(PlacementMatchType::BROAD);
$negativeCriterion = new NegativeCampaignCriterion();
$negativeCriterion->setCampaignId($campaignId);
$negativeCriterion->setCriterion($negativePlacement);
$operation = new CampaignCriterionOperation();
$operation->setOperator(Operator::ADD);
$operation->setOperand($negativeCriterion);
$operations[] = $operation;
$result = $campaignCriterionService->mutate($operations);
// Print out some information about added campaign criteria.
foreach ($result->getValue() as $campaignCriterion) {
printf(
"Campaign targeting criterion with ID %d and type '%s' was added.\n",
$campaignCriterion->getCriterion()->getId(),
$campaignCriterion->getCriterion()->getType());
}
}
public static function main() {
// Generate a refreshable OAuth2 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
// Construct an API session configured from a properties file and the OAuth2
// credentials above.
$session = (new AdWordsSessionBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
self::runExample(
new AdWordsServices(), $session, intval(self::CAMPAIGN_ID));
}
}
// Create negative ad group criterion.
$negativeAdGroupCriterion = new NegativeAdGroupCriterion();
$negativeAdGroupCriterion->setAdGroupId($adGroupId);
$negativeAdGroupCriterion->setCriterion($placement);
$adGroupCriterion = new \NegativeAdGroupCriterion();$adGroupCriterion->adGroupId = $criterion['adGroupId']; $adGroupCriterion->criterion = new \Criterion($criterion['id']);$operator = 'ADD';
$negativePlacement = new \Placement();$negativePlacement->url = 'supersite.com';
$adGroupCriterion = new \NegativeAdGroupCriterion();$adGroupCriterion->adGroupId = $criterion['adGroupId'];
$adGroupCriterion->criterion = $negativePlacement;$operator = 'ADD';
$adGroupCriterion = new \BiddableAdGroupCriterion();$adGroupCriterion->adGroupId = $criterion['adGroupId'];
$adGroupCriterion->criterion = new \Criterion($criterion['id']);
$adGroupCriterion->userStatus = 'PAUSED';
$operator = 'SET';