Wstrzymywanie kampanii AdWords po osiągnięciu limitu wydatków w danym miesiącu
Jak automatycznie wstrzymywać kampanie AdWords po wydaniu określonej kwoty od początku miesiąca? W przypadku pojedynczej kampanii możemy użyć reguł automatycznych, jednak gdy mamy bardziej rozbudowane konto, wiele kampanii i budżetów sprawa się komplikuje. Z pomocą przychodzą nam jednak skrypty AdWords.

Poniżej przykład prostego skryptu AdWords, który wstrzyma nam wszystkie kampanie AdWords oznaczone etykietą checkCost po przekroczeniu wydatków zdefiniowanych w parametrze maxCost w danym miesiącu.
Przed wdrożeniem skryptu musimy zaznaczyć kampanie, dla których chcemy by skrypt funkcjonował i nadać im etykietę checkCost, natomiast w samym skrypcie wystarczy określić kwotę wydatków miesięcznych po których nastąpi wstrzymanie kampanii jako parametr maxCost.
Każdego pierwszego dnia miesiąca skrypt wznowi wszystkie kampanie z etykietą checkCost dlatego należy pamiętać, by usunąć tą etykietę w kampaniach, które nie chcemy by były brane pod uwagę przez skrypt.
Po zapisaniu skryptu musimy ustawić harmonogram jego wykonywania zgodnie z naszymi preferencjami.
//etykieta kampanii, które będziemy sprawdzać
var label = "checkCost";//maksymalna kwota wydatków w miesiącu na wszystkie kampanie z etykietą checkCostvar maxCost = 1000;function main() { //sprawdzamy aktualny dzień miesiąca var today = new Date().getDate(); //jeśli dzisiaj pierwszy to wznawiamy kampanie if(today == 1){ Logger.log("wznawiamy kampanie"); changeStatus("enable"); }else{ var sum = 0; var campaigns = AdWordsApp.campaigns().withCondition("LabelNames CONTAINS_ANY [" + label + "]").get(); while(campaigns.hasNext()){ campaign = campaigns.next(); sum += campaign.getStatsFor("THIS_MONTH").getCost(); } //jeśli suma wydatków w obecnym miesiącu przekracza zadany limit if(sum > maxCost){ Logger.log("Wstrzymujemy kampanie"); changeStatus("pause"); } }}//funkcja pomocnicza, która wznawia lub wstrzymuje wszystkie kampanie na koncie z etykieta 'label'function changeStatus(newStatus){ var campaigns = AdWordsApp.campaigns().withCondition("LabelNames CONTAINS_ANY [" + label + "]").get(); while (campaigns.hasNext()){ campaign = campaigns.next(); if(newStatus == "enable"){ campaign.enable(); }else if (newStatus == "pause"){ campaign.pause(); } }}UWAGA!!!
Zanim zastosujesz skrypt na koncie swoim lub klienta upewnij się, że wiesz dokładnie, co dany skrypt po kolei robi i jakie zmiany wprowadza na koncie. Korzystaj z opcji podglądu by przetestować skrypt przed jego zastosowaniem.
Jeżeli uważasz ten skrypt AdWords za przydatny poleć go swoim znajomym!