Campagnenamen in bulk aanpassen

Pas in bulk campagnenames aan in meerdere Google Ads accounts tegelijk

Start nu!
Campagnenamen Get started!

Tegelijk meerdere campagnenamen aanpassen in meerdere Google Ads accounts in een MCC? Dit script gaat je daarbij helpen. Plaats de oude en nieuwe campagnenamen in een Google Sheet en voer het script uit. Lees verder voor meer uitleg!

Difficulty


Tags

Waarom dit script?

Het aanpassen van campagnenamen in bulk is helaas niet mogelijk via de Google Ads editor omdat een campagnenaam een unieke identifier is bij elke bulk edit. Ook heeft niet iedereen de beschikking over tooling waarmee bulk edits mogelijk zijn (denk bijv. aan Search Ads 360). Het verzoek voor het aanpassen van Google Ads namen in bulk is recent een aantal keer voorgevallen, met name i.v.m. het uitrollen van naming conventions.

Hoe stel ik dit script in?

Het instellen van het script is vrij eenvoudig. Volg de onderstaande stappen en succes is gegarandeerd:

  1. Maak een kopie van deze Google Sheet
  2. Maak een tabblad per account. Zorg dat de naam van het tabblad exact overeenkomt met de naam van het account. Let op: hoofdlettergevoelig!
  3. Vul in kolom 1 de huidige campagnenaam in en in kolom 2 de nieuwe campagnenaam. De eerste rij (header) wordt overgeslagen door het script
  4. Verberg eventueel tabs die je niet gebruikt; deze wordt genegeerd
  5. Preview het script en kijk of de output naar wens is
  6. Voer het script eenmalig uit

Wat het script niet kan

Het script kan geen campagnes hernoemen die een enkele quote bevatten zoals bijvoorbeeld in A'dam. Het script kan wel Search, Shopping, Display en Video campagnes aanpassen, maar geen Discovery of Universal App campagnes. Die laatste worden helaas nog niet ondersteund door Google Ads scripts.

Settings

  • SPREADSHEET_URL: De URL van de Google sheet met de oude en nieuwe campagnenamen
  • ACCOUNT_IDS of LABEL_NAME: Kies of je het script wil beperken tot bepaalde Account ID's of tot account met een specifiek label. Laat leeg om alle accounts in het MCC te selecteren

Frequentie: Het instellen van een bepaalde frequentie is niet nodig. Voer het script eenmalig uit en de campagnenamen zijn aangepast.

The script
// Bulk rename Campaign names (MCC)
//
// ABOUT THE SCRIPT
// Rename campaigns in Bulk on MCC level
//
// Created By: Martijn Kraan
// Brightstep.nl
// 
// Created: 28-12-2019
// Last update: 28-12-2019
//
////////////////////////////////////////////////////////////////////

var config = {

    // This is the part where you configure the script

    SPREADSHEET_URL: 'https://docs.google.com/YOUR-SPREADSHEET-URL-HERE',
    // The URL of the Google Sheet that contains your old and new campaign names
    // Grab a copy of the template here: https://docs.google.com/spreadsheets/d/1uwjQBkyhdsGtLhMseShsOa7_lx1UoPq4V1sWGV5V53c/copy

    ACCOUNT_IDS: [],
    LABEL_NAME: '',
    // Pick you preferred method of selecting accounts. Leave empty to process all the accounts in the MCC
    // Fill in the account ID's or apply a label to the account(s) you want to check
    // E.g. ACCOUNT_IDS: ['123-456-7891', '987-654-3211'] or leave empty by using []
    // E.g. LABEL_NAME: 'script: Bulk Rename Campaigns' or leave empty by using ''  

}

////////////////////////////////////////////////////////////////////

function main() {

    var accountSelector;

    if (config.ACCOUNT_IDS.length != 0) {
        accountSelector = AdsManagerApp.accounts()
          .withIds(config.ACCOUNT_IDS)
          .orderBy('Name ASC')
          .withLimit(50);
      
    } else if (config.LABEL_NAME) {
        accountSelector = AdsManagerApp.accounts()
          .withCondition('LabelNames CONTAINS "' + config.LABEL_NAME + '"')
          .orderBy('Name ASC')
          .withLimit(50);
      
    } else {
        accountSelector = AdsManagerApp.accounts()
          .orderBy('Name ASC')
          .withLimit(50)
    }

    accountSelector.executeInParallel('renameCampaigns');

}

function renameCampaigns() {

    var accountName = AdWordsApp.currentAccount().getName();
    var sheet = SpreadsheetApp.openByUrl(config.SPREADSHEET_URL).getSheetByName(accountName)

    if (sheet == null || sheet.isSheetHidden() == true) {
        Logger.log('No sheet found for "' + accountName + '"')
    } else {
        var lastRow = sheet.getLastRow() - 1;
        var values = sheet.getSheetValues(2, 1, lastRow, 2);
      
        for (i = 0; i < values.length; i++) {
            renameSearchCampaign(values[i][0], values[i][1])
            renameShoppingCampaign(values[i][0], values[i][1])
            renameVideoCampaign(values[i][0], values[i][1])
        }
      
        Logger.log('Renamed campaigns for "' + accountName + '"')
    }
}

function renameSearchCampaign(oldName, newName) {
    var campaignSelector = AdWordsApp
        .campaigns()
        .withCondition("Name = '" + oldName + "'")
        .get();
    while (campaignSelector.hasNext()) {
        var campaign = campaignSelector.next();
        campaign.setName(newName);
    }
}

function renameShoppingCampaign(oldName, newName) {
    var campaignSelector = AdWordsApp
        .shoppingCampaigns()
        .withCondition("Name = '" + oldName + "'")
        .get();
    while (campaignSelector.hasNext()) {
        var campaign = campaignSelector.next();
        campaign.setName(newName);
    }
}

function renameVideoCampaign(oldName, newName) {
    var campaignSelector = AdWordsApp
        .videoCampaigns()
        .withCondition("Name = '" + oldName + "'")
        .get();
    while (campaignSelector.hasNext()) {
        var campaign = campaignSelector.next();
        campaign.setName(newName);
    }
}
Show whole script!
The Experts
Tibbe van Asten Head of PPC @ Increase
Nils Rooijmans Water Cooler Topics
Martijn Kraan Freelance PPC Specialist
Bas Baudoin Teamlead SEA @ Happy Leads
How about you? JOIN US!
Sharing Knowledge
Caring

Kennis delen

Adsscripts.com staat voor het delen van kennis. In de huidige markt houden SEA-specialisten de kennis en ervaring graag voor zich. Wij zijn er van overtuigd dat het delen van kennis ervoor kan zorgen dat iedereen beter wordt in haar of zijn werk. Daarom lopen wij hier graag in voorop, door onze kennis over scripts te delen met iedereen.

Wil jij ook graag een bijdrage leveren? Wij staan open voor nieuwe ideeën en feedback op alles wat je op Adsscripts.com vindt.

Neem contact op

Training &
Workshop
Neem contact op!
Adsscripts Training & Workshop