Negative Keywords

Stay organized with collections Save and categorize content based on your preferences.

Add negative keyword to a campaign

function addNegativeKeywordToCampaign(keyword, campaignName) {
  const campaignIterator = AdsApp.campaigns()
        .withCondition(`campaign.name = "${campaignName}"`)
        .get();
  if (campaignIterator.hasNext()) {
    const campaign = campaignIterator.next();
    campaign.createNegativeKeyword(keyword);
  } else {
    throw new Error(`Cannot find campaign with the name '${campaignName}'`);
  }
}

Get negative keywords in a campaign

function getNegativeKeywordsForCampaign(campaignName) {
  const campaignIterator = AdsApp.campaigns()
      .withCondition(`campaign.name = "${campaignName}"`)
      .get();
  if (campaignIterator.hasNext()) {
    const campaign = campaignIterator.next();
    const negativeKeywordIterator = campaign.negativeKeywords().get();
    console.log(`Found ${negativeKeywordIterator.totalNumEntities()} negative keywords.`);
    return negativeKeywordIterator;
  } else {
    throw new Error(`Cannot find campaign with the name '${campaignName}'`);
  }
}

Add a negative keyword to an ad group

function addNegativeKeywordToAdGroup(keyword, adGroupName) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${adGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`Cannot find ad group with the name '${adGroupName}'`);
  }
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Found more than one ad group named '${adGroupName}', using the first one.`);
  }
  const adGroup = adGroupIterator.next();
  adGroup.createNegativeKeyword(keyword);
}

Get negative keywords in an ad group

function getNegativeKeywordsForAdGroup(adGroupName) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${adGroupName}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`Cannot find ad group with the name '${adGroupName}'`);
  }
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Found more than one ad group named '${adGroupName}', using the first one.`);
  }
  const adGroup = adGroupIterator.next();
  const negativeKeywordIterator = adGroup.negativeKeywords().get();
  if (negativeKeywordIterator.hasNext()) {
    const negativeKeyword = negativeKeywordIterator.next();
    console.log(`Found ${negativeKeywordIterator.totalNumEntities()} negative keywords.`);
    return negativeKeywordIterator;
  }
}