AI-generated Key Takeaways
-
Functions are provided to add negative keywords to both campaigns and ad groups.
-
Functions are also available to retrieve negative keywords associated with campaigns and ad groups.
-
Error handling is included in the functions to address cases where specified campaigns or ad groups are not found.
-
Warnings are logged if multiple ad groups with the same name are found when adding or getting negative keywords for an ad group.
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; } }