
Choć w Google AdWords można automatycznie otrzymywać drogą mailową wiele typów powiadomień, w tym także na temat niezaakceptowanych reklam tekstowych, to system wciąż w żaden sposób nie informuje o odrzuconych rozszerzeniach.
Jest to o tyle problematyczne, że szczególnie w przypadku zarządzania wieloma kontami, trudno jest codziennie sprawdzać, czy któreś z nich nie straciło właśnie akceptacji, a efekt takiej zmiany może nie być widoczny na pierwszy rzut oka w statystykach.
Należy podkreślić, że rozszerzenia reklam są jednym z czynników wpływających na ranking reklamy, dlatego istotne jest, by korzystać z nich w jak największym zakresie. Ktoś mógłby powiedzieć, że jeśli tworzy się teksty zgodnie z zasadami AdWords, nie ma potrzeby martwić się o odrzucone rozszerzenia reklam – niestety, niejednokrotnie zdarzają się one bez winy autorów, co zespół wsparcia po stronie Google określa wdzięczną nazwą “overflagging”.
Nie wliczając tych automatycznych, obecnie możemy korzystać z rozszerzeń:
- linków do podstron,
- połączeń,
- aplikacji,
- lokalizacji,
- opinii,
- objaśnień,
- informacji,
- wiadomości,
- ceny,
- promocji.
Jest więc ich całkiem sporo i by być pewnym, że każde z nich może się wyświetlać, warto skorzystać z dodatkowego rozwiązania, którym jest poniższy skrypt.
Jak działa skrypt sprawdzający odrzucone rozszerzenia reklam?
Skrypty w Google AdWords są zaawansowaną opcją, która pomaga zautomatyzować część pracy i procesów zachodzących na koncie. Do ich tworzenia wymagana jest znajomość JavaScript oraz dokumentacji, jednak by korzystać z już gotowych rozwiązań nie będą potrzebne żadne dodatkowe umiejętności.
Poniższy kod ma proste zadanie: informować użytkownika drogą mailową, jeśli na koncie AdWords pojawi się odrzucone rozszerzenie któregokolwiek z wyżej wymienionych rodzajów. Skrypt przygotowany jest z myślą o kontach menadżera, czyli kontach zbiorczych (MCK).
Za każdym razem, gdy kod jest uruchamiany, sprawdzane są wszystkie rozszerzenia na koncie, które można znaleźć w udostępnionych zasobach (a dokładnie w firmowych bazach danych, gdzie pojawiają się automatycznie po utworzeniu).
Jeśli wykryte zostaną elementy odrzucone, są one szczegółowo odnotowane w arkuszu kalkulacyjnym Google – można w nim znaleźć treść rozszerzenia, jego rodzaj, a także powód odrzucenia. Gdy wszystkie konta objęte analizą są już sprawdzone, na określony adres email wysyłana jest wiadomość zawierająca listę kont AdWords z błędami i linkiem do arkusza. W przypadku braku problematycznych rozszerzeń wiadomość nie jest wysyłana.
Wdrożenie skryptu
Przed wdrożeniem kodu zaloguj się na swoje konto Google i utwórz na dysku nowy arkusz kalkulacyjny – link do niego trzeba będzie wkleić w odpowiednim miejscu w kodzie. Zaloguj się na konto MCK. Utwórz nową etykietę “extensionsChecker” i oznacz nią konta, które mają być objęte analizą. Następnie wejdź w operacje zbiorcze i w menu “Skrypty” dodaj nowy, klikając na czerwony przycisk.

Dodaj nowy skrypt
Zastąp obecną treść okna następującym kodem:
/** * Copyright 2017, SmartYou All Rights Reserved. * * @name Ad Extensions Checker v 1.0. * * @author Maciek Tysper maciej@smartyou.pl * * INSTRUKCJA: * 1. Utwórz na poziomie MCK etykietę 'extensionsChecker' i oznacz nią konta, które mają być analizowane. * 2. Utwórz nowy arkusz Google i podaj jego adres w zmiennej 'spreadsheetUrl'. * 3. W zmiennej 'recipient' podaj adres email, na który mają przychodzić powiadomienia. * 4. Zapisz skrypt w MCK i ustaw harmonogram. * 5. Obsługiwane rozszerzenia: * - linki do podstron, * - rozszerzenia połączeń, * - rozszerzenia aplikacji, * - rozszerzenia lokalizacji, * - rozszerzenia opinii, * - rozszerzenia objaśnień, * - rozszerzenia informacji, * - rozszerzenia wiadomości, * - rozszerzenia cen, * - rozszerzenia promocji. */ function main() { /** * SPRAWDZ PONIZSZE DANE */ var includeLabel = "extensionsChecker"; //Utworz taka etykiete na MCK i oznacz nia konta, ktore beda analizowane var recipient = "twoj@email.pl"; //Twoj adres email var spreadsheetUrl = "https://docs.google.com/spreadsheets/d/ID/edit#gid=0"; //Podaj link do arkusza /** * Przygotownie arkusza */ var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl); var sheet = spreadsheet.getActiveSheet(); sheet.clear(); sheet.getRange("A1:E1").setValues([['Konto','Typ rozszerzenia','Atrybuty','Status','Powód odrzucenia']]); /** * Rejestr kont z odrzuconymi elementami */ var accountsList = "Konta z odrzuconymi rozszerzeniami:n"; var numberOfAccounts = 0; /** * Zapytanie API */ var query = "SELECT AccountDescriptiveName, PlaceholderType, AttributeValues, ValidationDetails, DisapprovalShortNames " + "FROM PLACEHOLDER_FEED_ITEM_REPORT " + "WHERE DisapprovalShortNames != '' " + "AND Status = 'ENABLED' " + "AND PlaceholderType IN [1,2,3,7,8,17,24,31,35,38]"; /** * Przetwarzanie kont */ var accountIterator = MccApp.accounts() .withCondition("LabelNames CONTAINS '" + includeLabel + "'") .get(); while (accountIterator.hasNext()) { var account = accountIterator.next(); var accountName = account.getName(); MccApp.select(account); var report = AdWordsApp.report(query); var rows = report.rows(); if (rows.hasNext()) { accountsList += accountName + 'n'; numberOfAccounts++; } while (rows.hasNext()) { var row = rows.next(); var attributes = row['AttributeValues']; var placeholderType = placeholderName(parseInt(row['PlaceholderType'])); var status = row['ValidationDetails']; var disapprovalReason = row['DisapprovalShortNames']; sheet.appendRow([accountName, placeholderType, attributes, status, disapprovalReason]); } } /** * Wysyłanie maila */ if (numberOfAccounts > 0) { MailApp.sendEmail(recipient, "[SKRYPT] Odrzucone rozszerzenia", accountsList + "nnZobacz szczegóły:n" + spreadsheetUrl); } function placeholderName (int) { switch (int) { case 1: return 'Link do podstrony'; case 2: return 'Rozszerzenie połączeń'; case 3: return 'Rozszerzenie aplikacji'; case 7: return 'Rozszerzenie lokalizacji'; case 8: return 'Rozszerzenie opinii'; case 17: return 'Rozszerzenie objaśnień'; case 24: return 'Rozszerzenie informacji'; case 31: return 'Rozszerzenie wiadomości'; case 35: return 'Rozszerzenie ceny'; case 38: return 'Rozszerzenie promocji'; default: return 'Inny'; } } }
W skrypcie potrzebne są dwie modyfikacje:
1) Podaj swój adres email w cudzysłowie dla zmiennej “recipient”,
2) Wklej adres do utworzonego wcześniej arkusza kalkulacyjnego w cudzysłowie przy zmiennej “spreadsheetUrl”.

Podaj email oraz adres URL do arkusza w Google Sheet
Następnie kliknij “Podgląd” i autoryzuj skrypt. Uruchom podgląd jeszcze raz – teraz wszystkie konta powinny zostać przeskanowane.

Uruchom podgląd i autoryzuj skrypt
Zapisz zmiany, po czym ustaw harmonogram, by kod uruchamiał się z określoną częstotliwością (np. raz dziennie).

Ustaw harmonogram
To już wszystko – dzięki bieżącym poprawkom w rozszerzeniach, alerty mailowe będą przychodzić tylko wtedy, gdy pojawią się nowe odrzucenia. W ten sposób udaje się załatać jedną z luk w komunikatach systemowych.