public void Run(AdWordsUser user, long adGroupId)
{
// Get the AdGroupCriterionService.
AdGroupCriterionService adGroupCriterionService =
(AdGroupCriterionService) user.GetService(AdWordsService.v201306.AdGroupCriterionService);
// Create biddable ad group criterion for gender
Gender genderTarget = new Gender();
// Criterion Id for male. The IDs can be found here
// https://developers.google.com/adwords/api/docs/appendix/genders
genderTarget.id = 10;
BiddableAdGroupCriterion genderBiddableAdGroupCriterion = new BiddableAdGroupCriterion();
genderBiddableAdGroupCriterion.adGroupId = adGroupId;
genderBiddableAdGroupCriterion.criterion = genderTarget;
// Create negative ad group criterion for age range
AgeRange ageRangeNegative = new AgeRange();
// Criterion Id for age 18 to 24. The IDs can be found here
// https://developers.google.com/adwords/api/docs/appendix/ages
ageRangeNegative.id = 503001;
NegativeAdGroupCriterion ageRangeNegativeAdGroupCriterion = new NegativeAdGroupCriterion();
ageRangeNegativeAdGroupCriterion.adGroupId = adGroupId;
ageRangeNegativeAdGroupCriterion.criterion = ageRangeNegative;
// Create operations.
AdGroupCriterionOperation genderBiddableAdGroupCriterionOperation =
new AdGroupCriterionOperation();
genderBiddableAdGroupCriterionOperation.operand = genderBiddableAdGroupCriterion;
genderBiddableAdGroupCriterionOperation.@operator = Operator.ADD;
AdGroupCriterionOperation ageRangeNegativeAdGroupCriterionOperation =
new AdGroupCriterionOperation();
ageRangeNegativeAdGroupCriterionOperation.operand = ageRangeNegativeAdGroupCriterion;
ageRangeNegativeAdGroupCriterionOperation.@operator = Operator.ADD;
AdGroupCriterionOperation[] operations = new AdGroupCriterionOperation[] {
genderBiddableAdGroupCriterionOperation, ageRangeNegativeAdGroupCriterionOperation};
try {
// Add ad group criteria.
AdGroupCriterionReturnValue result = adGroupCriterionService.mutate(operations);
// Display ad group criteria.
if (result != null && result.value != null) {
foreach (AdGroupCriterion adGroupCriterionResult in result.value) {
Console.WriteLine("Ad group criterion with ad group id \"{0}\", criterion id " +
"\"{1}\", and type \"{2}\" was added.", adGroupCriterionResult.adGroupId,
adGroupCriterionResult.criterion.id,
adGroupCriterionResult.criterion.CriterionType);
}
} else {
Console.WriteLine("No ad group criteria were added.");
}
} catch (Exception ex) {
throw new System.ApplicationException("Failed to create ad group criteria.", ex);
}
}