Skrypt Google Ads: Domain Checker

Domain Checker to skrypt Google Ads, który weryfikuje, czy nasze reklamy prowadzą do właściwej domeny.

System reklamowy Google nie blokuje reklam, które odsyłają do innej strony niż nasza. Teoretycznie nic nie stoi na przeszkodzie, aby włączyć reklamę, która przekieruje użytkowników do sklepu konkurencji (jest to oczywiście skrajny przykład).

Mimo wszystko, zarządzając wieloma kontami, można popełnić błąd podczas wprowadzania adresu URL. Może się później okazać, że nasze reklamy prowadziły zupełnie gdzie indziej, niż powinny.

Poniższy Skrypt sprawdzi czy reklamy oraz rozszerzenia linków prowadzą do wskazanej domeny. Jeśli znajdzie błędny adres to otrzymamy wiadomość e-mial.

Zalecany harmonogram: raz dziennie w godzinach porannych.
Konfiguracja wymagana: podaj email oraz nazwę właściwej domeny (bez http i www np. twojadomena.pl).


Po więcej na temat Skryptów zapraszam na grupę FB o automatyzacji:
https://www.facebook.com/groups/skrypty.google.ads


/*
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";
var URL = "TWOJASTRONA.PL";
//End of the configuration

var badLandingPages = [];
var badSiteLinks = [];
var iterator = -1;

function main() {
    validateEmail(EMAIL);
    checkTheAdsData();
    checkTheSitelinksData();
    if (badLandingPages.length || badSiteLinks.length) {
        sendEmails();
    } else {
        Logger.log("All landing pages look ok!");
    }
}
//Check the URLs of the Ads
function checkTheAdsData() {
    var report = AdWordsApp.report("SELECT CampaignName, AdGroupName, EffectiveFinalUrl, Impressions " +
        "FROM FINAL_URL_REPORT " +
        "WHERE Impressions > 0 " +
        "DURING LAST_30_DAYS ");
    var rows = report.rows();
    var currentUrl;
    while (rows.hasNext()) {
        iterator++
        var row = rows.next();
        currentUrl = row['EffectiveFinalUrl'];
        //Is the URL correct?
        if (currentUrl.indexOf(URL) === -1) {
            badLandingPages[iterator] = (row['CampaignName'] + " >> " + row['AdGroupName'] + " " + row['EffectiveFinalUrl']);
        }
    }
}
//Check the URLs of the Sitelinks
function checkTheSitelinksData() {
    var sitelinkSelector = AdsApp.extensions()
        .sitelinks()
        .withCondition("Impressions > 0")
        .forDateRange("LAST_30_DAYS");
    var sitelinkIterator = sitelinkSelector.get();
    while (sitelinkIterator.hasNext()) {
        var currentUrl;
        iterator++
        var sitelink = sitelinkIterator.next();
        currentUrl = sitelink.urls().getFinalUrl();
        //Is the URL correct?
        if (currentUrl.indexOf(URL) === -1) {
            badSiteLinks[iterator] = ("SiteLink >>" + sitelink.getLinkText() + ">>" + sitelink.urls().getFinalUrl());
        }
    }
}

function sendEmails() {
    MailApp.sendEmail(EMAIL, AdWordsApp.currentAccount().getName() + ' has ads with wrong links.', 'Hi, \n\nYou have incorrect links. Please, check these Campaigns and Ad groups:\n\n' + badLandingPages.join("\n") + '\n\n' + badSiteLinks.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!');
    }
}

Dodaj komentarz

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