Masowa zmiana adresów URL na koncie Adwords

Masowa zmiana adresów URL na koncie Adwords
Wyobraźmy sobie, że sklep internetowy, dla którego prowadzimy kampanię linków sponsorowanych, postanawia zmienić kilkadziesiąt czy kilkaset adresów URL prowadzących do podstron kategorii lub produktów.
O autorze
4 min czytania 2016-02-01

Uzasadnionym argumentem dla takiego działania jest optymalizacja czynników on-site seo, w tym linków. Dotychczasowe adresy zostają praktycznie z dnia na dzień przekierowane na nowe w stosunku 1:1. Okazuje się, że na koncie Adwords mamy w sumie kilkaset reklam tekstowych w różnych grupach i kampaniach, które zawierają stare adresy URL. Pojawia się naturalne pytanie:

„Jakie znaczenie ma wprowadzenie nowych adresów URL dla aktualnie działających reklam Google Adwords?”.

Użytkownik klikający w reklamę w wyszukiwarce, z uwagi na automatyczne przekierowanie, prawdopodobnie nawet nie zauważy zmian. Ucierpieć mogą jednak statystyki naszych kampanii. Google Analytics (przy połączeniu z kontem Adwords) monitoruje i odpowiednio kategoryzuje ruch pochodzący z płatnych reklam na podstawie parametru GCLID, doklejanego do każdego adresu URL w momencie kliknięcia w reklamę. Z uwagi na przekierowanie, które pomija przekazanie tego parametru do nowego adresu URL, dane kanału CPC nie zostają powiązane z odsłoną tej konkretnej, nowej podstrony. W rezultacie ucierpią na tym raporty efektywności kanału CPC/Adwords w Google Analytics. Jak poradzić sobie z rozwiązaniem tego problemu?

Scenariuszy jest kilka. Można m.in. poprosić administratora serwera o stworzenie reguły przepisującej parametr GCLID do nowych adresów URL. Dzięki temu usunięty zostanie niejako objaw problemu, ale nie jego przyczyna. W dłuższej perspektywie czasu stosowanie reguł przepisujących parametr GCLID może prowadzić do bałaganu i zbyt mocnego rozjechania się nam URLi w Adwords i tych faktycznych na stronie www.

LinkedIn logo
Na LinkedInie obserwuje nas ponad 100 tys. osób. Jesteś tam z nami?
Obserwuj

Pokażę dziś jak poradzić sobie z takim wyzwaniem z poziomu konta Adwords, masowo tworząc nowe reklamy z nowymi końcowymi adresami URL i jednocześnie wstrzymując reklamy z dotychczasowymi adresami. Takie podejście dąży do zachowania zgodności linków w Adwords z tymi na stronie www i celuje nie tylko w objawy, ale rozwiązuje też właściwą przyczynę problemu. Z pomocą w masowej zamianie adresów przyjdzie nam możliwość zastosowania skryptu, który zautomatyzuje ten żmudny i mozolny proces. Dzięki temu my sami zyskamy więcej czasu na twórcze i kreatywne wyzwania.

Na początek przygotujemy listę starych i nowych adresów URL. Będziemy też posługiwać się standardowymi narzędziami Google m.in. Google Drive i Adwords Scripts.

Słuchaj podcastu NowyMarketing

Instrukcje krok za krokiem

Najpierw musimy uzyskać listę adresów „starych” i „nowych”, np:
Stary końcowy adres URL;Nowy końcowy adres URL
http://stary-url-1/;http://nowy-url-1/
http://stary-url-2/;http://nowy-url-2/
http://stary-url-3/;http://nowy-url-3/

http://stary-url-x/;http://nowy-url-x/

NowyMarketing logo
Mamy newsletter, który rozwija marketing w Polsce. A Ty czytasz?
Rozwijaj się

Adresy URL z listy wklejamy do nowo utworzonego arkusza kalkulacyjnego w Google Drive. Stare adresy do kolumny A, nowe odpowiednio do kolumny B.

Zostawiamy arkusz i w nowej zakładce przeglądarki uruchamiamy nasze konto Adwords. Będąc zalogowanym do konta, z menu po lewej stronie wybieramy Operacje zbiorcze >> Skrypty (Tworzenie skryptów i zarządzanie nimi).

Przyszedł czas, aby utworzyć nasz nowy skrypt. W tym celu klikamy czerwony przycisk +SKRYPT. Po chwili pojawi się okienko prostego edytora tekstowego przypominające to z obrazka poniżej:

Z okna edytora usuwamy treść z pustą funkcją (CTRL+A i Delete), a w puste miejsce przeklejamy treść poniżej zamieszczonego kodu. Kod opatrzony został licznymi komentarzami z wyjaśnieniami (są to fragmenty kodu występujące po znakach podwójnego ukośnika //).

W poniższym kodzie, zaraz na początku podmieniamy adres URL do wcześniej utworzonego arkusza Google oraz sprawdzamy i być może podmieniamy nazwę zakładki arkusza. Po uzupełnieniu kodu własnymi fragmentami testujemy go w trybie podglądu. Tryb podglądu nie powoduje zmian na koncie Adwords i może służyć do sprawdzenia poprawności działania naszego kodu. Testy skryptu proponuję przeprowadzać na zupełnie oddzielnym koncie Adwords utworzonym do celów testowych. Do takiego konta można skopiować zawartość konta, z którym mamy pracować i w tak przygotowanym środowisku testować nasze skrypty. Praca na „żywym” koncie Adwords ze skryptami wprowadzającymi wiele zmian na raz może mieć nieprzewidziane rezultaty, dlatego polecam testy na wydzielonym, odrębnym koncie, a przed uruchomieniem skryptu na koncie właściwym, dodatkowo wykonanie kopii całego konta Adwords w Adwords Edytorze. Adwords Edytor jest aplikacją, dzięki której możemy pracować z kontem Adwords offline. Aplikację Adwords Edytora można pobrać pod adresem.

Kod skryptu do przeklejenia:

function main() {
//Otwieramy arkusz Google, aby móc z niego pobierać kolejno adresy URL. Sprawdzamy też, ile mamy wierszy z danymi (i.e. numer ostatniego wiersza)
var adres_url_arkusza_google_drive = 'Pomiędzy apostrofami umieść adres URL arkusza’; // np: https://docs.google.com/spreadsheets/d/XXXXX/edit#gid=0
var nazwa_zakladki_arkusza = 'Nazwa zakładki arkusza’; // domyślnie jest to zwykle Arkusz1
var adres = SpreadsheetApp.openByUrl(adres_url_arkusza_google_drive);
var arkusz = adres.getSheetByName(nazwa_zakladki_arkusza);
var ostatni_niepusty_wiersz_arkusza = arkusz.getLastRow();

//Pobieramy w pętli kolejne wiersze arkusza, zaczynając od wiersza 1 (var i = 1) aż do ostatniego niepustego wiersza
for (var i = 1; i < ostatni_niepusty_wiersz_arkusza + 1; i++) {

//pobieramy URL z aktualnego wiersza w kolumnie 1 z arkusza (Dalej będziemy szukać wszystkich reklam, które mają taki URL jako Końcowy adres url)
var wartosc_komorki_z_kolumny_1 = arkusz.getRange(i, 1).getValue();

//pobieramy URL z aktualnego wiersza w kolumnie 2 z arkusza (to jest nasz nowy Końcowy adres url. Będziemy tworzyć kopie reklam zastępując stary Końcowy adres url tym nowym i pauzując stare reklamy)
var wartosc_komorki_z_kolumny_2 = arkusz.getRange(i, 2).getValue();

//Określamy warunki, jakie mają spełnić szukane przez nas reklamy – m.in. mają mieć status Włączony/Enabled. Mają byc reklamą tekstową. Określamy również, że Końcowy adres url ma zawierać adres pobrany wcześniej z kolumny 1. Dodatkowo możemy np. ograniczyć szukanie reklam do określonych kampanii.
var reklama = AdWordsApp
.ads()
//.withCondition(„CampaignName contains 'Tu można wpisać nazwę konkretnej kampanii'”)
.withCondition(„Status = ENABLED”)
.withCondition(„Type = TEXT_AD”)
.withCondition(„CreativeFinalUrls CONTAINS '” + wartosc_komorki_z_kolumny_1 + „'”)
.get();
Logger.log(’Teraz będę szukał reklam z URL: ’ + wartosc_komorki_z_kolumny_1);

//Po wszystkich odnalezionych reklamach, w których występuje URL z kolumny 1 arkusza uruchamiamy w pętli stworzenie kopii reklamy z nowych Końcowym adresem URL oraz zapauzowanie starej reklamy
while (reklama.hasNext()) {
var ad = reklama.next();

var headline = ad.getHeadline();
var d1 = ad.getDescription1()
var d2 = ad.getDescription2();
var displayUrl = ad.getDisplayUrl();
//Zastąpienie w nowej reklamie URLa końcowego na nowy pobrany z kolumny 2
var finalUrl = wartosc_komorki_z_kolumny_2;

var camp = ad.getCampaign();
var adgroup = ad.getAdGroup();

var newAd = adgroup.newTextAdBuilder()
.withHeadline(headline)
.withDescription1(d1)
.withDescription2(d2)
.withDisplayUrl(displayUrl)
.withFinalUrl(finalUrl)
.build();
//Pauzuje reklamę ze starym finalUrl
ad.pause();

//Wyświetlamy w dziennikach informację o grupie, w której stworzona została nowa reklama ze zmienionym Końcowym adresem url
Logger.log(’Grupa: ’ + adgroup.getName() + ’, stary url ’ + wartosc_komorki_z_kolumny_1 + ’, nowy url: ’ + wartosc_komorki_z_kolumny_2);
};
};
}

Remedium na syndrom sztywnych palców

Aktualizacja dużej liczby tekstowych reklam Adwords nie musi być drogą przez mękę i nie musi wiązać się z kilkugodzinnym wstukiwaniem CTRL+C, CTRL+V. Duże aktualizacje w kontach Adwords warto przynajmniej częściowo automatyzować przy pomocy skryptów adwords. Dzięki temu nie tylko oszczędzimy czas, ale unikniemy też syndromu sztywnych palców.