CONTACT

Single word keywords uitsluiten in Google Ads

Door Christian Broekmeulen op 31 oktober 2024

In Google Ads kunnen zoekwoorden die uit slechts één woord bestaan, ook wel single word keywords genoemd, een grote uitdaging vormen voor adverteerders. Deze termen hebben vaak een hoog zoekvolume, maar brengen ook onduidelijkheid met zich mee over de intentie van de gebruiker. Door single word keywords te vermijden, voorkom je dat je budget verloren gaat aan brede, algemene zoekopdrachten die mogelijk niet aansluiten bij wat je doelgroep daadwerkelijk zoekt. In dit artikel ga ik dieper in op hoe je single word keywords kunt uitsluiten in Google Ads, want standaard kan dit niet.

Google Ads Script

Standaard is er geen functionaliteit binnen Google Ads om zoekwoorden die uit één woord bestaan uit te sluiten. Als alternatief hebben we een Google Ads Script geschreven dat dit wel doet.

Ga naar Google Ads > Tools > Bulk actions > Scripts en voeg een nieuw script toe met de onderstaande code.

// Copyright dofollow.nl All Rights Reserved.
// Google Ads Script to exclude single-word search terms as exact match negative keywords
// Allows excluding specific campaign IDs from this logic
// 
// Created by: dofollow.nl
// Date: 09-10-2024
// Last update: 09-10-2024

function main() {
  // Specify campaign IDs to exclude
  var excludedCampaignIds = [""];

  var campaignIterator = AdsApp.campaigns().withCondition("Status = ENABLED").get();
  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();

    if (excludedCampaignIds.indexOf(campaign.getId().toString()) !== -1) {
      continue;
    }

    var searchReport = AdsApp.report(
      "SELECT Query, CampaignId, AdGroupId, Impressions " +
      "FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
      "WHERE CampaignId = " + campaign.getId() + " AND Impressions >= 1 DURING LAST_30_DAYS"
    );

    var rows = searchReport.rows();
    var negativeKeywords = [];
    var enabledKeywords = getEnabledKeywords(campaign);

    while (rows.hasNext()) {
      var row = rows.next();
      var searchTerm = row['Query'];

      if (isSingleWord(searchTerm) && !enabledKeywords.includes(searchTerm.toLowerCase())) {
        Logger.log("Single-word search term found: " + searchTerm);
        negativeKeywords.push("[" + searchTerm + "]");
      }
    }

    if (negativeKeywords.length > 0) {
      addNegativeKeywordsToList(campaign, negativeKeywords);
      addNegativeKeywordListToCampaign(campaign);
    }
  }
}

function isSingleWord(term) {
  return term.trim().split(" ").length === 1;
}

function getEnabledKeywords(campaign) {
  var keywords = [];
  var keywordIterator = campaign.keywords().withCondition("Status = ENABLED").get();
  while (keywordIterator.hasNext()) {
    var keyword = keywordIterator.next();
    keywords.push(keyword.getText().toLowerCase());
  }
  return keywords;
}

function addNegativeKeywordsToList(campaign, negativeKeywords) {
  var listName = "Single-word search terms - " + campaign.getName();
  var negativeKeywordListIterator = AdsApp.negativeKeywordLists().withCondition("Name = '" + listName + "'").get();
  var negativeKeywordList;

  if (negativeKeywordListIterator.hasNext()) {
    negativeKeywordList = negativeKeywordListIterator.next();
    Logger.log("Negative keyword list found: " + listName);
  } else {
    Logger.log("Creating new negative keyword list: " + listName);
    negativeKeywordList = AdsApp.newNegativeKeywordListBuilder().withName(listName).build().getResult();
  }

  negativeKeywordList.addNegativeKeywords(negativeKeywords);
  Logger.log("Batch added negative keywords to list: " + listName);
}

function addNegativeKeywordListToCampaign(campaign) {
  var listName = "Single-word search terms - " + campaign.getName();
  var negativeKeywordListIterator = AdsApp.negativeKeywordLists().withCondition("Name = '" + listName + "'").get();
  if (negativeKeywordListIterator.hasNext()) {
    var negativeKeywordList = negativeKeywordListIterator.next();
    campaign.addNegativeKeywordList(negativeKeywordList);
    Logger.log("Negative keyword list added to campaign: " + campaign.getName());
  }
}

function formatDate(date) {
  var year = date.getFullYear();
  var month = (date.getMonth() + 1).toString().padStart(2, '0');
  var day = date.getDate().toString().padStart(2, '0');
  return year + "-" + month + "-" + day;
}

Hoe werkt het script?

Het script haalt het account zoektermen rapport van het advertentieaccount op met daarin alle zoektermen die zijn gematcht met je zoekwoorden (in de afgelopen 30 dagen). Vervolgens maakt het script een selectie van alle zoektermen met één woord. Deze selectie wordt vervolgens uitgesloten met een zoekwoord uitsluitingslijst die toegevoegd wordt per campagne.

Wil je dat bepaalde single keyword zoekwoorden niet worden uitgesloten? Plaats dit woord dan als zoekwoord in de desbetreffende advertentiegroep. Zoekwoorden die geactiveerd zijn in de campagne staan, worden namelijk uitgesloten.

Standaard neemt dit script alle campagnes in het advertentieaccount mee. Wil je bepaalde campagnes uitsluiten van dit script? Voeg dan de desbetreffende campagne ID’s toe op rij 11:

  var excludedCampaignIds = ["15993401486", "15993401489"];

Je vindt het ID van een campagne in het campagneoverzicht in de kolom ‘Campagne ID’.

Single word keywords uitsluiten in Google Ads

Is deze kolom bij jou nog niet zichtbaar? Voeg de kolom dan toe: Kolommen aanpassen > Alle kolommen > Kenmerken > Selecteer Campagne ID en druk op Toepassen.

Uitgesloten zoekwoorden worden ge-logged na het uitvoeren van het script.
Afhankelijk van hoeveel nieuwe zoektermen er binnenkomen, raad ik in de meeste gevallen aan de frequentie van het uitvoeren van het script in te stellen op elke 7 dagen. Verder kun je het ook zo instellen dat je een mail ontvangt van de zoekwoorden die uitgesloten staan.

Hulp nodig?

Hulp nodig om je advertenties naar een hoger niveau te tillen? Neem contact met ons op en ontdek hoe we je kunnen helpen.

Online marketing bureau

Online marketing uitbesteden

Met onze data-gedreven aanpak en focus op meetbare resultaten zorgen we ervoor dat jouw marketingbudget maximaal rendeert. Of het nu gaat om campagnes, slimme optimalisaties of baanbrekende innovaties met A.I., wij leveren bewezen impact. Kies voor een team dat jouw groeiambities begrijpt en samenwerkt als verlengstuk van jouw organisatie. Samen maken we online succes waar.

Datagedreven online marketing met resultaat

Wij zijn online marketing 'vakidioten', echte 'nerds'. Wij volgen alle ontwikkelingen op de voet. Ontdek wie wij zijn, waar we voor staan en wat ons bijzonder maakt.

Online marketing team
Rooza Online Marketing heet nu dofollow.
Lees hier meer.

Wij zijn dofollow.
Wegwijs in online marketing.

Wij ben jij?

Willemsplein 44-2
6811 KD Arnhem
Parkeren

dofollow BV
KVK 88435016
IBAN NL11 KNAB 0254 8654 61
BTW NL864624189B01