Kategóriák
Google Ads Scripts a gyakorlatban

GDN blacklist script

A hazai PPC-sek körében igen népszerű tudásmegosztási platform lett a PPC Pro Facebook csoport. Sok hasznos dolog született már a közösség munkájából, talán az egyik leghasznosabb megoldás a GDN placement blacklist, amivel a gyenge minőségű placementek zárhatók ki AdWords display kampányainkból. A kizáró lista egy Google Spreadsheetben található meg, ahonnan manuálisan kell átmásolni a placementeket a saját fiókunkba.

Hogy ez a manuális folyamat se vigye el az időnket, illetve a lehető leggyakrabban frissüljön a fiókunk a spreadsheetben hozzáadott placementekkel, ezért készítettem egy scriptet, ami innentől kezdve teljesen automatikusan lekezeli a folyamatot.

Nézzük elsőként a scriptet és utána jönnek a magyarázatok az egyszeri beállításhoz.

function main() {
 
  //Ezeket a paramétereket kell beállítanod a scripthez.
  
  //Ha szeretnéd az adott listát beolvasni, akkor hagyd 1-esen a paramétert, ha nem, akkor pedig írd át 0-ra.
  
  var osszes = 1;
  var fake = 1;
  var jatek = 1;
  var filmek = 1;
  
  //Állítsd be, hogy az AdWords fiókodban milyen Campaign Placement Exclusions neveket használsz.
  
  var osszesListName = "Teszt"; 
  var fakeListName = "Teszt"; 
  var jatekListName = "Teszt"; 
  var filmekListName = "Teszt";
  
  //Innentől már nem kell paraméterezned.
  
  
  var url = "https://docs.google.com/spreadsheets/d/1KbpNTIXxyvmWUcnGjt7arUmyUT79U3_knfsh4KyDlDY/"; // Placement lista URL-je.
  var spreadsheet = SpreadsheetApp.openByUrl(url);
  
  var osszesRange = spreadsheet.getSheetByName('ÖSSZES').getRange('B1:B2000').getValues();
  var fakeRange = spreadsheet.getSheetByName('Fakenews-Likehunter').getRange('B1:B2000').getValues();
  var jatekRange = spreadsheet.getSheetByName('Játék-gyűjtemények').getRange('B1:B2000').getValues();
  var filmekRange = spreadsheet.getSheetByName('Filmek-sorozatok').getRange('B1:B2000').getValues();
  
  function placementUpdate(listName, range) {
  
    var sharedExcludedPlacementSelector = AdWordsApp.excludedPlacementLists().withCondition("Name CONTAINS '" +listName+ "'");
 
    var sharedExcludedPlacementIterator = sharedExcludedPlacementSelector.get();
 
    while (sharedExcludedPlacementIterator.hasNext()) {
   
      var sharedExcludedPlacement = sharedExcludedPlacementIterator.next();
    
      for (i=0;range.length > i;i++) {
      
        var placement = range[i].toString();
      
        if (placement != "") {
      
          sharedExcludedPlacement.addExcludedPlacement(placement);
        
        }  
      
      }  
      
    }
    
  }
 
  if (osszes == 1) {
    
    placementUpdate(osszesListName, osszesRange);
    Logger.log("Összes lista frissítve");
               
  }
  
  if (fake == 1) {
    
    placementUpdate(fakeListName, fakeRange);
    Logger.log("Fakenews-Likehunter lista frissítve");
               
  }
  
  if (jatek == 1) {
    
    placementUpdate(jatekListName, jatekRange);
    Logger.log("Játék-gyűjtemények lista frissítve");
               
  }
  
  if (filmek == 1) {
    
    placementUpdate(filmekListName, jatekRange);
    Logger.log("Filmek-sorozatok lista frissítve");
               
  }
  
  Logger.log("Frissítés kész");
  
}

A spreadsheeten három kategóriára vannak osztva a placementek: fakenews-likehunter, játék-gyűjtemény, filmek-sorozatok, illetve negyedikként van egy összegző kategória. A script 7-10. sora között tudod beállítani, hogy mely kategóriákat szeretnéd frissíteni. Ha szeretnéd adott kategóriát frissíteni, akkor írj be egy 1-est, ha pedig nem, akkor írj egy 0-t.  Amire még szükség van a beállításnál a 14-17. sor között, hogy az AdWords fiókodban milyen nevük van a campaign placement exclusions listáknak, így a script adott kategóriákat a spreadsheetből a megfelelő listára fogja áttölteni.

A mostani scriptet egy V1-es verziónak szánom, ugyanis még sok apró funkciót lehetne belerakni, hogy több egyedi igényt is le tudjon kezelni. Ezért arra bíztatlak, hogy írd meg kommentben, hogy milyen funkciót látnál még szívesen, hogy a V2 verzióban ez már elérhető legyen.