DOŁĄCZ DO GRUPY
BEZPŁATNY AUDYT
SKRYPT PMAX
NEWSLETTER

Zaawansowane Google Ads

5,001 członków

Dołącz do naszej społeczności ekspertów Google Ads i zyskaj dostęp do zaawansowanych strategii, wsparcia specjalistów i inspirujących case studies.

Prywatna grupa - Tylko zatwierdzeni członkowie

Nie jesteś pewny, czy Twoje reklamy działają tak, jak powinny?

Umów się na bezpłatny audyt konta Google Ads

Profesjonalna analiza

Szybki kontakt i konkretne informacje zwrotne.

Analiza efektywności
Weryfikacja Strategii
Praktyczne rekomendacje
Propozycja współpracy

Chcesz lepiej zrozumieć działanie kampanii Performance Max?

PMax Channels Analyzer

Darmowy skrypt dla Google Ads

Analizuj wydatki i konwersje z poszczególnych kanałów w kampaniach Performance Max.

Podział na kanały
Szczegółowe statystyki
Łatwa instalacja
Automatyczne raporty

Zapisz się na newsletter i otrzymuj praktyczne porady oraz narzędzia, które usprawnią twoje konto reklamowe.

Skrypt Google Ads: Budget Monitor

Poniższy skrypt Google Ads sprawdza, czy na koncie są kampanie, które wyczerpały dzienny budżet.

Czasami zdarza się, że ze względu na wzrost popytu lub sezonowość produktów niektóre kampanie szybciej niż zwykle zużywają przeznaczony na nie budżet.
Może to skutkować wyczerpaniem środków np. w połowie dnia.

Jeśli tak się stanie, skrypt wyśle nam e-mail z nazwą kampanii.

Dzięki tej informacji będziemy mogli zdecydować, czy chcemy zwiększyć budżet czy zostawiamy kampanię w obecnym stanie.

Konfiguracja: Wprowadź swój e-mail do zmiennej EMAIL


Po więcej na temat Google Ads dla e-commerce zapraszam na moją grupę FB:
https://www.facebook.com/groups/zaawansowane.google.ads


//Updated on 19.03.2020: Small code structure improvements

/*

Copyright 2019 Krzysztof Bycina, www.LiveAds.pl
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

// --------------------------------------- Configuration:

var EMAIL = "ENTER YOUR EMAIL HERE";

// --------------------------------------- End of the configuration




function main() {
    validateEmail(EMAIL);
    var badCampaigns = checkSpend();
    sendEmails(badCampaigns);
}

//Check the today's spend
function checkSpend() {
    var badCampaigns = [];
    var allCampaigns = AdsApp.campaigns()
        .withCondition("Clicks > 0")
        .forDateRange("TODAY")
        .get();
    while (allCampaigns.hasNext()) {
        var iterator = allCampaigns.next();
        var campaignBudget = iterator.getBudget();
        var campaignCost = iterator.getStatsFor('TODAY').getCost();

        //Is the budget depleted?
        if (campaignCost >= campaignBudget) {
            Logger.log("The campaign: " + iterator.getName() + " has depleted the daily budget");
            badCampaigns.push(iterator.getName() + " has daily budget of: " + campaignBudget + ", today's spend is: " + campaignCost);
        }
    }
    return badCampaigns;
}

function sendEmails(emailData) {
    MailApp.sendEmail(EMAIL, AdWordsApp.currentAccount().getName() + ' has campaigns that reached the daily budget.',
        'Hi, \n\nYou have campaigns that reached the daily budget. Please, check them now:\n\n' + emailData.join("\n"));
}

function validateEmail(email) {
    var key = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if (key.test(email) === false) {
        throw new Error('You must eneter a valid email address to run the script!');
    }
}

3 comments / Add your comment below

  1. Cześć. W imieniu swoim i osób, które korzystają z Twojej pracy – dziękuję za nią. A teraz pytanie: czy sama zmiana nierówności z campaignCost >= campaignBudget na campaignCost <= campaignBudget (wiersz 37 Twojego kodu) (+ zmiany odpowiednich komentarzy) spowoduje, że ze skryptu, który informuje nas o niewystarczającym budżecie dziennym w kampanii, otrzymamy skrypt, który będzie nas informował o kampaniach, które nie wydają dziennego budżetu? Często i taka sytuacja się zdarza i prawdopodobnie będzie się zdarzać częściej, jak zostanie wyłączona opcja "przyśpieszonego wyświetlania". Pozdrawiam, Radek.

      1. dzięki wielkie to miłe i cieszę się, że skrypty się przydają 🙂 trzeba zrobić tak jak napisałeś w drugim komentarzu – myślę, że to zadziała.

        Przepraszam, ze opóźnienia w odpowiedzi. Jeśli to możliwe piszę proszę komentarze na grupie FB. Jeszcze raz dzięki.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *