Niniejszym postem konkludujemy serię o tym, jak wystartować z Google Analytics. Jeśli nie znasz poprzednich części, zapraszam do przeczytania o czym pamiętać przy zakładaniu konta Google Analytics oraz jak poprawnie zainstalować kod Analytics na Twojej witrynie.
Notka: Przykłady i zrzuty ekranu w tym artykule są po angielsku. Jeśli chcesz naprawdę opanować zaawansowane zagadnienia dotyczące search marketingu, używaj angielskiej terminologii. W polskim internecie praktycznie nie ma źródeł informacji na ten temat.
Artykuł trochę rozrósł się w czasie pisania, więc wyjątkowo załączam spis treści:
- Ogólne zasady nakładania filtrów
- Wyklucz odsłony generowane przez Ciebie!
- Jak zobaczyć pełny referrer
- Jak zobaczyć realne zapytania przy reklamach AdWords w dopasowaniu frazy lub ogólnym
- Jak sprawdzić pozycję Twojej strony na każde zapytanie
- Jak śledzić zapytania ze wszystkich wyszukiwarek
- Jak śledzić ruch z Google Universal Search
- Podsumowanie
- Skomentuj :)
Ogólne zasady nakładania filtrów
Filtry w Analytics są przydatnymi narzędziami, tak jak na przykład noże. Przy pomocy noża można zrobić smaczną kanapkę, ale także skaleczyć się w palec. Podobnie filtr – może pomóc wydobyć bardzo cenne informacje, może również zniekształcić albo w ogóle utracić gromadzone dane. Dlatego korzystając z filtrów warto przestrzegać kilku zasad:
- Każdy filtr, który dopiero testujesz, uruchamiaj na osobnym profilu już śledzonej witryny.
- Zostaw sobie jeden profil w stanie surowym, tzn gromadzący dane bez żadnych modyfikacji. Posłuży Ci jako punkt odniesienia, kiedy zajdzie potrzeba porównania jak sprawują się profile z filtrami.
- Zawsze sprawdź w którym miejscu filtr zapisuje efekt swojego działania (
Output To -> Constructor). Jeśli na danym profilu wyjście jest już używane przez inny filtr – stwórz nowy profil. - Efekty działania filtrów w najlepszym razie są widoczne po 2-3h, w najgorszym po 24h.
- Google może w każdej chwili bez żadnego uprzedzenia dokonać zmian w Google Analytics. Tym samym, porady zawarte w niniejszym artykule mogą stać się mniej, bardziej lub zupełnie bezużyteczne.
Wyklucz odsłony generowane przez Ciebie!
Jako webmaster często odwiedzasz swoją witrynę, prawda? Tym samym generujesz dodatkowe wyświetlenia i wizyty. Nie sądzę, żeby komukolwiek zależało na analizowaniu własnych wizyt na witrynie :).
Problem skaluje się zależnie od wielkości serwisu, którego dotyczy. Witryna prowadzona przez jednego człowieka, dotycząca kilkuosobowej firmy, nie jest narażona na zawyżanie danych w takim stopniu, jak przedsiębiorstwo, gdzie pracuje kilkaset osób. Upewnij się więc, że wykluczasz ruch z adresów IP:
- wszystkich filii firmy
- Twoich ludzi pracujących ze swoich domów
- pracujących dla Ciebie firm (np reklamowych)
Pamiętaj, że kropki w adresie IP muszą być poprzedzone backslashem.
Powyższy sposób nadaje się przede wszystkim dla osób ze stałym adresem IP. W innym artykule piszemy o tym jak wykluczać swoje odsłony przy zmiennym IP.
Jak zobaczyć pełny referrer
Raport o źródłach odwiedzin daje Ci świetne rozeznanie jak w Twoim przypadku wygląda dywersyfikacja ruchu. Udział procentowy źródeł jest prezentowany na panelu głównym Analytics:
Po zajrzeniu do pełnej wersji raportu łatwo przekonać się, że nie zawiera on jednak informacji skąd dokładnie biorą się odwiedzający. Mój wcześniejszy artykuł zawiera dokładny opis problemu wraz ze szczegółowymi ustawieniami filtra, który umożliwia zobaczenie pełnego referrera w Analytics. Właśnie dzięki tej informacji wiesz dokładnie skąd pochodzą Twoi odwiedzający.
Jak zobaczyć realne zapytania przy reklamach AdWords w dopasowaniu frazy lub ogólnym
Założenie
Jako reklamodawca Google AdWords możesz skorzystać z kilku trybów dopasowania dla słów kluczowych. Pomoc AdWords przedstawia możliwości i sposób działania dopasowań.
W telegraficznym skrócie – posiadając w swoim zestawie reklamowym słowo kluczowe jabłko (w dopasowaniu ogólnym lub frazy), możesz notować emisję reklamy dla faktycznych zapytań takich jak: zielone jabłko, jabłko czy pc, itp. Domyślnie zarówno AdWords jak i Analytics raportują wyświetlenia/kliki dla słowa kluczowego, a nie realnych zapytań. Zapytania te są wspaniałym źródłem wiedzy.
Na chwilę obecną podobną rzecz można osiągnąć również korzystając z wbudowanego do AdWords raportu skuteczności wyszukiwanego hasła, ale posiadanie takich informacji bezpośrednio w Analytics pozwoli Ci skorzystać z wielu dodatkowych możliwości ich analizy.
Implementacja
Filtr składa się z dwóch części, ustawienia wyglądają tak:
- Field A -> Extract A pole:
Referral, wartość:(\?|&)(q|p)=([^&]*) - Field B -> Extract B pole:
Campaign Medium, wartość:ppc|cpc - Output To -> Constructor pole:
Custom Field 1, wartość:$A3
- Field A -> Extract A pole:
Custom Field 1, wartość:(.*) - Field B -> Extract B pole:
Campaign Term, wartość:(.*) - Output To -> Constructor pole:
Campaign Term, wartość:$B1 ($A1)
Ważne:
- Filtr nie jest doskonały. Pozwala zobaczyć realne zapytania, ale po zmodyfikowaniu pola
Campaign TermAnalytics przestaje śledzić konwersje dla poszczególnych słów kluczowych. Raz jeszcze przypominam o zasadzie ogólnej – filtry na osobnych profilach. - Filtr składa się z dwóch części i ich kolejność ma znaczenie. Upewnij się, że najpierw przetwarzana jest część 1, a potem część 2.
- Polskie znaki diakrytyczne będą pokazywać się jako %F3 i tym podobne krzaczki.
Dla tego rozwiązania istnieje alternatywa. Michael Harrison z ROI Revolution proponuje zmodyfikowanie kodu śledzącego i wzbogacenie go o zestaw funkcji, które dokonują ekstrakcji na poziomie przeglądarki odwiedzających. Całość operacji sprowadza się do pobrania pliku ga_keyword2.js, umieszczenia go na własnym serwerze i zmodyfikowaniu kodu śledzącego w następujący sposób:
<script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <!-- Tutaj dodana 1 linijka --> <script src="/sciezka/do/ga_keyword2.js" type="text/javascript"></script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-XXXXXX-1"); pageTracker._trackPageview(); } catch(err) {}</script>
Ta róża też ma kolce:
- Stworzona przez Michaela implementacja korzysta z
_setVar()– jest to nic innego jakUser Defined Value. Ten segment może zawierać tylko jedną wartość, nie da się więc skorzystać z żadnego innego filtra, który swoje działanie opiera na funkcji_setVar().
Jak sprawdzić pozycję Twojej strony na każde zapytanie
Założenie
Któż z nas nie ma obsesji rankingu ;). Założeniem tego zestawu jest dostarczenie jakichkolwiek informacji o pozycjach realnie zajmowanych w wynikach wyszukiwania. Przedstawiam dwa wdrożenia – jedno mniej, a drugie trochę bardziej dokładne.
Mniej dokładne przedstawia informację o tym, na której stronie wyników pojawił się odnośnik do Twojej witryny. Działa w oparciu o przekazywany w referrerze parametr start=.
Drugi sposób próbuje przedstawić dokładną pozycję. Działa w oparciu o bogatsze referrery, jakie Google obiecało przesyłać. Nie można na nim polegać w 100% – taki referrer nie jest przesyłany za każdym razem, to raz, a dwa – wartości przyjmowane przez parametry są dziwne :).
Oryginalnie sugestia o tym, jakoby Google załączało dane o ranku do referrera przy pomocy parametru cd pojawiła się na Blogstorm.co.uk. Od razu podchwyciły i przepisały ją dziesiątki innych serwisów. Problem jednak w tym, że wartość parametru fluktuuje. Oprócz tego, sporo osób zwróciło uwagę jakoby właściwym parametrem z numerem pozycji był resnum. Co z tego, skoro ten jest znowuż obecny w referrerach bardzo rzadko. Przykład:
Więc nie ma łatwo. Autor wspomnianego posta próbował wywołać Matta C. do tablicy, ale jedyne czego się dowiedział to:
Myślę, że przeprowadzając eksperymenty uda Wam się potwierdzić spekulacje (…) Myślę, że to wspaniałe dla webmasterów – jeszcze więcej informacji, które można gromadzić na podstawie referrera.
Przedstawiony filtr pokaże Wam wartości parametru cd, ale weźcie poprawkę na powyższe. Zachęcam do przyglądania się wartościom parametrów innych niż cd i resnum.
Implementacja – informacja o stronie wyników wyszukiwania
Notka: Moim zdaniem analizując pozycje przyjemniej pracuje się na profilach, które uwzględniają wyłącznie ruch z wyników organicznych. Aby doprowadzić profil do takiego stanu, musisz nałożyć dwa filtry początkowe. Najpierw włączamy tylko ruch organiczny:
- Filter Field pole:
Campaign Medium - Filter Pattern wartość:
organic
Następnie tylko ruch z domen Google:
- Filter Field pole:
Referral - Filter Pattern wartość:
(google)\.[a-z]+
Teraz możemy zastosować właściwy filtr:
- Field A -> Extract A pole:
Referral, wartość:(\?|&)q=([^&]*) - Field B -> Extract B pole:
Referral, wartość:(\?|&)start=([^&]*) - Output To -> Constructor pole:
User Defined, wartość:$A2 (strona: $B2)
W efekcie otrzymasz coś takiego:
Podkreślam, filtr pokaże stronę wyszukiwania, czyli pierwszą, drugą i kolejne dziesiątki wyników, a nie dokładną pozycję. (strona: 20) oznacza, że ten konkretny odwiedzający przyszedł dzięki linkowi na trzeciej stronie wyników wyszukiwania.
Implementacja – informacja o konkretnie zajmowanej pozycji
Filtr bazuje na wartości parametru cd=.
- Field A -> Extract A pole:
Campaign Term, wartość:(.*) - Field B -> Extract B pole:
Referral, wartość:(\?|&)(cd)=([^&]*) - Output To -> Constructor pole:
User Defined, wartość:$A1 | cd=$B3
Ważne:
- Oba filtry zapisują do
User Defined Value, więc nie mogą działać jednocześnie.
Jak śledzić zapytania ze wszystkich wyszukiwarek
Założenie
W chwili pisania tego artykułu, standardowe rozróżnianie silników wyszukiwawczych w Google Analytics (definiowane przez ga.js) wygląda tak:
c("yahoo","p"),
c("msn","q"),
c("bing","q"),
c("aol","query"),
c("aol","encquery"),
c("lycos","query"),
c("ask","q"),
c("altavista","q"),
c("netscape","query"),
c("cnn","query"),
c("looksmart","qt"),
c("about","terms"),
c("mamma","query"),
c("alltheweb","q"),
c("gigablast","q"),
c("voila","rdata"),
c("virgilio","qs"),
c("live","q"),
c("baidu","wd"),
c("alice","qs"),
c("yandex","text"),
c("najdi","q"),
c("aol","q"),
c("club-internet","query"),
c("mama","query"),
c("seznam","q"),
c("search","q"),
c("wp","szukaj"),
c("onet","qt"),
c("netsprint","q"),
c("google.interia","q"),
c("szukacz","q"),
c("yam","k"),
c("pchome","q"),
c("kvasir","searchExpr"),
c("sesam","q"),
c("ozu","q"),
c("terra","query"),
c("nostrum","query"),
c("mynet","q"),
c("ekolay","q"),
c("search.ilse","search_for"),
Co jest nie tak w powyższym?
- Nie ma wszystkich, zwłaszcza niszowych, wyszukiwarek.
- Wszystko, co przychodzi z Google, jest oznaczane jedną etykietką: google. Bez względu czy to silnik google.pl, google.com czy inny. Nie są również uwzględniane wyszukiwarki wertykalne tj. Blog Search czy Image Search. Wszystko jest oznaczone jako google
Trik polega na skasowaniu domyślnego zestawu wyszukiwarek i opracowaniu własnego. Spersonalizowany zestaw jest o wiele bardziej szczegółowy. Najbardziej rozbudowaną listę wyszukiwarek jaką widziałem, przygotował Sean Carlos. Lista jest plikiem .js, Sean pisał także o personalizowaniu zestawu wyszukiwarek.
Implementacja – szczegółowe informacje o wyszukiwarkach w Google Analytics
Aby dodać jakikolwiek silnik należy posłużyć się funkcją pageTracker._addOrganic();, która jako pierwszy argument przyjmuje domenę, a jako drugi nazwę parametru zawierającego zapytanie.
Aby skasować domyślny zestaw wyszukiwarek, należy użyć funkcji pageTracker._clearOrganic();
Zakładając, że chcielibyśmy zdefiniować zestaw dla polskiej witryny, wyglądałoby to mniej więcej tak:
// Kasujemy domyślny zestaw wyszukiwarek pageTracker._clearOrganic(); // Google Borg w mniejszych kawałeczkach, IE i UK ze względu na Polonię pageTracker._addOrganic("blogsearch.google.pl","q"); pageTracker._addOrganic("news.google.pl","q"); pageTracker._addOrganic("maps.google.pl","q"); pageTracker._addOrganic("video.google.pl","q"); pageTracker._addOrganic("blogsearch.google.ie","q"); pageTracker._addOrganic("news.google.ie","q"); pageTracker._addOrganic("maps.google.ie","q"); pageTracker._addOrganic("video.google.ie","q"); pageTracker._addOrganic("blogsearch.google.co.uk","q"); pageTracker._addOrganic("news.google.co.uk","q"); pageTracker._addOrganic("maps.google.co.uk","q"); pageTracker._addOrganic("video.google.co.uk","q"); pageTracker._addOrganic("blogsearch.google.com","q"); pageTracker._addOrganic("news.google.com","q"); pageTracker._addOrganic("maps.google.com","q"); pageTracker._addOrganic("video.google.com","q"); pageTracker._addOrganic("images.google","prev"); pageTracker._addOrganic("google.pl","q"); pageTracker._addOrganic("google.ie","q"); pageTracker._addOrganic("google.co.uk","q"); pageTracker._addOrganic("google.com","q"); // Dodajemy poprzednio skasowany, standardowy zestaw pageTracker._addOrganic("google","q"); pageTracker._addOrganic("bing","q"); pageTracker._addOrganic("yahoo","p"); pageTracker._addOrganic("msn","q"); pageTracker._addOrganic("aol","query"); pageTracker._addOrganic("aol","encquery"); pageTracker._addOrganic("lycos","query"); pageTracker._addOrganic("ask","q"); pageTracker._addOrganic("altavista","q"); pageTracker._addOrganic("netscape","query"); pageTracker._addOrganic("cnn","query"); pageTracker._addOrganic("looksmart","qt"); pageTracker._addOrganic("about","terms"); pageTracker._addOrganic("mamma","query"); pageTracker._addOrganic("alltheweb","q"); pageTracker._addOrganic("gigablast","q"); pageTracker._addOrganic("voila","rdata"); pageTracker._addOrganic("virgilio","qs"); pageTracker._addOrganic("live","q"); pageTracker._addOrganic("baidu","wd"); pageTracker._addOrganic("alice","qs"); pageTracker._addOrganic("yandex","text"); pageTracker._addOrganic("najdi","q"); pageTracker._addOrganic("aol","q"); pageTracker._addOrganic("club-internet","query"); pageTracker._addOrganic("mama","query"); pageTracker._addOrganic("seznam","q"); pageTracker._addOrganic("search","q"); pageTracker._addOrganic("wp","szukaj"); pageTracker._addOrganic("onet","qt"); pageTracker._addOrganic("netsprint","q"); pageTracker._addOrganic("google.interia","q"); pageTracker._addOrganic("szukacz","q"); pageTracker._addOrganic("yam","k"); pageTracker._addOrganic("pchome","q"); pageTracker._addOrganic("kvasir","searchExpr"); pageTracker._addOrganic("sesam","q"); pageTracker._addOrganic("ozu","q"); pageTracker._addOrganic("terra","query"); pageTracker._addOrganic("nostrum","query"); pageTracker._addOrganic("mynet","q"); pageTracker._addOrganic("ekolay","q"); pageTracker._addOrganic("search.ilse","search_for");
Całość powyższego kodu wypadałoby zapisać w osobnym pliku i zaimplementować w sposób bardzo podobny do tego, który pomagał przy uzyskiwaniu pełnego zapytania AdWords:
<script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-XXXXXX-1"); } catch(err) {}</script> <!-- Tutaj dodana 1 linijka --> <script src="/sciezka/do/zdefiniowanych-wyszukiwarek.js" type="text/javascript"></script> <script type="text/javascript"> try { pageTracker._trackPageview(); } catch(err) {}</script>
Efektem działania zmodyfikowanego zestawu wyszukiwarek będą bardziej szczegółowe informacje o źródłach ruchu:
Ważne
- Rozbicie globalnej wyszukiwarki na jej lokalne warianty pozwola na szczegółowe analizowanie ruchu i efektywności słów kluczowych. Każdy kij ma jednak dwa końce – taka konfiguracja utrudni spojrzenie na daną wyszukiwarkę z globalnej perspektywy (jako jedno źródło ruchu).
- Na obrazku z efektem działania widać źródło
images.google. W raporcie słów kluczowych zapytania z Image Search prezentowane są w następujący sposób:/images?q=slowo+kluczowe&gbv=2&hl=pl&sa=g. Aby temu zapobiec, należy uruchomić dodatkowy filtr.
Implementacja – filtr poprawiający wygląd słów kluczowych z Image Search
- Field A -> Extract A pole:
Campaign Term, wartość:images\?q=([A-Za-z0-9_\-\+]+)& - Output To -> Constructor pole:
Campaign Term, wartość:$A1
Jak śledzić ruch z Google Universal Search
Założenie
Wcześniejszy filtr wyciągający pozycję z parametru cd bazuje na stosunkowo nowych, rozbudowanych referrerach. Interesujące w nich są jeszcze dwa parametry:
sa=xoznacza eXtended listings (tradycyjne wyniki mają parametrsa=t)oi=zawiera informację o konkretnym rodzaju wyników z zakresu universal search, na przykład:blogsearch_grouplubblog_resultto wyniki z wyszukiwarki blogówimage_resultlubimage_result_group– wyszukiwarka obrazkówspell– autokorektasmap– sitelinkiglossary_definition– słownikrevisions_inlinelubrevisions_narrow– sugestienews_grouplubnews_result– serwisy analizowane przez Google News
Można więc wykorzystać parametr oi aby dowiedzieć się, czy nasza witryna została wyróżniona w konkretnej sekcji.
Implementacja – filtr ukazujący sekcje Universal Search
- Field A -> Extract A pole:
Referral, wartość:(.*)oi=([a-zA-Z_]+)&(.*) - Field B -> Extract B pole:
Referral, wartość:(\?|&)q=([^&]*) - Output To -> Constructor pole:
User Defined, wartość:$B2 : $A2
W efekcie otrzymamy mniej więcej coś takiego:
Podsumowanie
- Zawsze pamiętaj o tym, że modyfikując ustawienia Analytics lub nakładając filtry należy zachować ostrożność. Łatwo o wypadek.
- Efekty działania filtrów w najlepszym razie są widoczne po 2-3h, w najgorszym po 24h.
- Czytaj maksymalnie dużo i testuj na własną rękę.
- Jeśli nie masz czasu na własne wdrożenia – możemy Ci pomóc.

















{ 8 komentarze… przeczytaj je poniżej lub dodaj swój }
Bardzo dobry i kompetentny artykuł. :-)
Przy wszelkich analizach wykorzystujących GA do oceny ruchu z wyszukiwarek pamiętajmy tylko, że GA rozumie „search traffic” jako źródło pozyskania każdego użytkownika, jeśli ten wchodzi po miesiącu bezpośrednio, to nadal w statystykach z nowego miesiąca jego wizyta będzie z wyszukiwarki. Z tego też powodu śledzenie strony w SERP z której ktoś sobie wszedł może być tylko przybliżone.
Google przechowuje wszystkie informacje zebrane z Google Analytics na swoje komercyjne potrzeby. Sugeruje zamiast tego używanie opensource’owego Piwik ‘a. Instaluje się na własnej bazie MySql i dane zbierane są tylko i wyłącznie na Wasze potrzeby. Nikt inny ich nie widzi i nie kolekcjonuje.
Pozdrawiam :)
Bardzo rzadko dodaję jakąś stronę do swoich zakładek – ten wpis tam wylądował ;-).
Właściwie wszystko, co najważniejsze o filtrach w jednym miejscu, z pewnością się przyda, dzięki!
Bardzo dobry artykuł, niewiele jest na polskich blogach SEO, tekstów na takim poziomie.
odsłony generowane przez Ciebie!
a w przypadku gdy mamy dynamiczne IP, to jest opcje filtrowania swoich wejść ?
@Łukasz, #5
Myślę, że w tym wypadku najlepiej byłoby uzbroić się w Firefoksa z dodatkiem NoScript. NoScript pozwala na selektywne blokowanie skryptów – będziesz więc w stanie normalnie przeglądać witrynę i jednocześnie zablokujesz wykonywanie się kodu Analytics.
A czy może mi ktoś powiedzieć jak wykluczyć odesłania z określonej witryny ?
Chodzi o to, że np. firma na stronie http://www.###-praca.pl zamieszcza ogłoszenia o pracę, i jest tam w ogłoszeniach link do strony.
Wejścia http://www.###-praca.pl w analitycs to 50% ogólnej sumy wejść. Chciałbym je jakoś wykluczyć z raportów, ale nie wychodzi mi to ….
Pomocy!!!
A propos pozycji słowa:
1. (not set) 35
2. paintball (strona: ) 1
3. quady (strona: )1
Czy to „not set” oznacza że ….
Czy „strona:” oznacza, że nie ma w wynikach od 0 do 100 czy wcale?
Jak interpretować takie wyniki?