Skip to content
Eenvoudig en veilig Dutch Search Awards

Google Ads Scripts beheren

Heb jij dezelfde Google Ads scripts in meerdere accounts draaien? Dan weet je net als ik dat een kleine wijziging of verbetering in je script tot veel werk leidt. Je moet deze wijziging namelijk in alle scripts verwerken. Dat kan veel makkelijker!

Nu komt er, natuurlijk, gelijk een vraag in je op: “Waarom gebruik je geen MCC-script?” Nou, de gebruikte scripts maken veelal gebruik van variabelen die account-specifiek zijn. Die wil ik dus ook per account kunnen instellen.

“Ja, maar…”, hoor ik je nu denken, “…dan gebruik je toch een MCC-script in combinatie met een Google Sheet, waarin je deze variabelen per account definieert?”. Ja, dat is een goed plan voor verschillende scripts, maar het probleem is dat je snel tegen een time-out aanloopt, omdat het script maximaal 30 minuten mag draaien.

Universele oplossing

Om alles overzichtelijk te houden en het beheer van de Google Ads scripts zo eenvoudig mogelijk te maken, hebben we bij Increase voor een andere oplossing gekozen. We beheren onze scripts nu op Google Drive, waardoor we een centrale plek hebben voor de scripts en een wijziging in dit script doorwerkt in alle accounts die van het script gebruikmaken.

Het aanmaken van .js-bestanden op Google Drive wordt gemakkelijk door de app ‘Javascript Editey’ te installeren als addon. Hiermee kan je nieuwe Javascript-bestanden aanmaken en deze bewerken. Het grote gemak hiervan is het gebruikersbeheer. Je kan bepalen wie er toegang hebben tot de scripts, zodat het niet gebeurd dat iemand het script per ongeluk kapot maakt.

Aanroepen van externe scripts

Bij het vervangen van een script in een Google Ads account voor een extern script, maken we twee nieuwe scripts aan op Google Drive. Eén met de inhoud van de function main (verplicht in het script) en een ander script met de overige functies uit het script. We kunnen deze scripts gebruiken door de inhoud ervan te laden met de DriveApp en uit te voeren middels de eval()-functie.

En dit werkt zoals gehoopt. Je kan variabelen gebruiken tussen verschillende scripts en de online Scripts-editor. Mogelijk is de uitvoering van je script wel wat trager dan direct vanuit Google Ads, maar in ons geval weegt dit niet op tegen het gemak van het beheer.

// Copyright 2019. Increase BV. All Rights Reserved.
//
// Created By: Tibbe van Asten
// for Increase B.V.
//
////////////////////////////////////////////////////////////////////

var config = {
 
  LOG : true,
  
  SCRIPT_MAIN : 'XXX',
  SCRIPT_OTHER : 'YYY',
  
}

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

function main() {
  
    var accountId = AdsApp.currentAccount().getCustomerId();

    // Load & execute external script by ID
    var main = DriveApp.getFileById(config.SCRIPT_MAIN).getBlob().getDataAsString();
    eval(main);
  
} // function main()

    // Load & execute external script by ID
    var other = DriveApp.getFileById(config.SCRIPT_OTHER).getBlob().getDataAsString();
    eval(other);

Beveiliging van je script

Om ervoor te zorgen dat onze scripts niet klakkeloos overgenomen worden door anderen, beschermen we deze. In een apart .js-bestand op Google Drive hebben we een array aangemaakt, met daarin de account-ID’s waarop onze scripts mogen draaien. Wanneer iemand dan onze code letterlijk overneemt, kan die niet in een ander account gebruikt worden, omdat het script controleert welk account gebruik probeert te maken van het script.

Bij voorkeur wil je de geschreven code uit het Google Ads Script geheimhouden, zodat er niemand mee aan de haal gaat. Maar daarvoor is bovenstaande uiteenzetting geen oplossing. Met een beetje moeite kan je uiteindelijk de achterliggende code wel achterhalen. Hoewel het niet het doel is van deze werkwijze, hebben we het overnemen van onze scripts wel een beetje moeilijker gemaakt.