Śledzenie wyszukiwań na stronie za pomocą Google Analytics

Śledzenie tego co użytkownicy wpisują do naszej wewnętrznej wyszukiwarki w witrynie potrafi dostarczyć całkiem ciekawych informacji. Możemy się dowiedzieć czego szukają (może brakuje nam w sklepie jakiegoś asortymentu, może powinniśmy dodać nowe treści na bloga, które ewidentnie interesują naszych czytelników), jakich fraz do tego używają (informacja o tym jak użytkownicy konstruują zapytania może się przydać do optymalizacji tytułów/opisów pod kątem SEO) i czy wyszukiwanie pomaga użytkownikom w podjęciu decyzji zakupowej (analiza zachowań użytkowników korzystających/niekorzystających z wyszukiwarki). Konfiguracja wyszukiwarki wewnętrznej w Google Analytics może być bardzo prosta albo skomplikowana – wszystko zależy od konstrukcji naszego serwisu. Do dzieła.

Gdzie to się konfiguruje

Konfigurację wewnętrznej wyszukiwarki znajdziemy w panelu administracyjnym w ustawieniach widoku.

Najprostszy scenariusz

Google Analytics w konfiguracji wyszukiwarki wewnętrznej wymaga od nas podania parametru wyszukiwania. Parametr ten to nic innego, jak fragment adresu url, który poprzedza zapytanie wpisane przez użytkownika. W przypadku mojego bloga, opartego na WordPress, strona wyników wyszukiwania dla frazy „GTM” wygląda tak:

https://beczkowski.com/?s=GTM

Tak więc parametrem, który poprzedza wpisaną frazę jest s.

Wystarczy więc ten parametr wpisać jak na screenie powyżej i gotowe. Dane o wyszukaniach w naszej witrynie zaczną spływać do GA.

W konfiguracji w panelu GA możemy podać do 5 parametrów – przydatne jeśli w witrynie występują różne parametry w zależności od sekcji serwisu – jednak jest to bardzo rzadko spotykane.

Drugą opcją konfiguracji jest podanie kategorii wyszukiwania – przydatne w przypadku bardziej rozbudowanych wyszukiwarek, gdzie można zdefiniować w jakiej kategorii ma być wyszukiwana dana fraza.

Nie mam takiego parametru, co robić, jak żyć

Sprawa się nieco komplikuje, jeśli w adresie url nie ma parametrów, a adres wygląda np. tak

https://www.coffeedesk.pl/search/yerba/

W takim przypadku nie możemy wpisać 'search’ w konfiguracji wyszukiwarki w panelu Google Analytics, ponieważ 'search’ nie jest parametrem.

Jeśli mamy do czynienia ze statycznym adresem url, musimy troszkę pokombinować.

Najprostszym rozwiązaniem będzie tutaj użycie zaawansowanego filtra w GA. Przechodzimy zatem w panelu administracyjnym do zakładki filtry, tworzymy nowy filtr, pamiętając, że adres url identyfikujący zapytanie wygląda tak:

/search/yerba/

Dodajemy nowy filtr:

ustawienia-filtra

Dzięki temu przechwytujemy frazę i przekazujemy ją do GA jako wyszukiwane słowo.

A co jeśli w adresie url nie ma frazy, którą użytkownik wpisuje w pole wyszukiwania?

W tym przypadku pomoże nam Google Tag Manager. Nasz cel możemy osiągnąć na dwa sposoby.

Po pierwsze, sprawdzić, czy na stronie widnieje jakiś tekst, w którym zawiera się nasza szukana fraza

W takim przypadku możemy stworzyć w GTM zmienną javascript, do której pobierzemy tekst wyszukiwanej frazy. Jeśli ktoś nie jest zaznajomiony z javascriptem, nie ma problemu. Istnieje świetny dodatek do Chrome o nazwie GTM Macro Builder (https://chrome.google.com/webstore/detail/gtm-macro-builder/feeboihdgpananoagfmbohoogoncndba), który pomoże skonstruować odpowiedni kod.

Mając już taką zmienną w GTM dodajemy nowy kod odsłony Google Analytics z odpowiednim polem

Musimy jeszcze zadbać o odpowiednie uruchamianie się tagów odsłon w GTM

Jeśli znajdujemy się na stronie wyników wyszukiwania, zmienna {{SearchPhrase}}  zwróci nam wyszukiwaną frazę, pobraną z treści strony. Jeśli będzie to inna strona, wówczas będziemy mieli wartość undefined .

Właśnie to posłuży nam do konstrukcji reguły uruchamiającej tagi odsłon.

Tag wyszukiwania uruchamiamy tylko jeśli zmienna {{SearchPhrase}}  nie jest równa się undefined . Taki sam warunek dodajemy jako regułę blokującą wywoływanie się tagu głównego kodu śledzenia. Chodzi o to, żeby nie zliczać podwójnie odsłon stron z wynikami wyszukiwania.

Jednak wystarczy mała zmiana w szablonie strony lub użytej klasie elementu i cała nasza praca idzie na marne i w zależności od tego jak często zaglądamy do raportu wyszukiwanych słów, możemy się zorientować, że danych od miesiąca nie ma w GA.

Dlatego ja preferuję używanie dataLayer przy pracy z GTM, ponieważ uważam, że ta opcja jest mniej podatna na tego typu sytuacje, choć oczywiście wymaga pracy programisty przy wdrożeniu.

Tak więc mając dokładnie taką samą sytuację możemy poprosić programistę o wstawienie dataLayer na stronie z wynikami wyszukiwania

dataLayer.push({
   'PageType': 'searchResults',
   'SearchPhrase': 'fraza',
   'SearchCount': 93
});

W tym wypadku, aby w GTM mieć szukaną frazę, tworzymy zmienną dataLayer i jako nazwę zmiennej podajemy SearchPhrase . Podobnie tworzymy dwie dodatkowe zmienne pobierające typ strony i ilość wyników wyszukiwania.

Tag odsłony GA definiujemy identycznie jak wyżej, z tą różnicą, że uruchamiamy go kiedy {{PageType}}  jest równe searchResults . Tą samą regułą blokujemy główny kod i gotowe.

Trochę więcej informacji

Jak pewnie zauważyliście, w dataLayer pojawiła się zmienna SearchCount. Fajnie jest wiedzieć, jakie frazy wpisują użytkownicy do naszej wewnętrznej wyszukiwarki, ale jeszcze fajniej jest wiedzieć, czy te wyszukiwania zwracają satysfakcjonujące wyniki.

Dlatego oprócz przekazywania informacji o frazie, warto sprawdzić ile wyników na daną frazę zostaje zaprezentowanych. Możemy to osiągnąć poprzez zdarzenie przesyłane do Google Analytics z poziomu GTM.

W poprzednich krokach utworzyliśmy już niezbędne zmienne oraz reguły, tak więc teraz pozostaje jedynie skonfigurować tag zdarzenia

Reguła uruchamiania oczywiście taka sama jak dla tagu odsłony z przekazywaniem informacji o wyszukiwanej frazie.

Dzięki temu otrzymamy raport, gdzie obok wyszukiwanej frazy mamy również podane ile wyników dana fraza zwróciła. Informacja ta możne nam posłużyć do optymalizacji silnika wyszukiwarki, bo jak wiadomo użytkownik, który znajdzie to czego szuka z pewnością ma większą szansę na skonwertowanie niż użytkownik, który dostaje pustą stronę wyników wyszukiwania.

15 myśli w temacie “Śledzenie wyszukiwań na stronie za pomocą Google Analytics”

    1. Tak, to jest adres statyczny. Tutaj najprościej będzie zastosować właśnie filtr. Dodatkowo, żeby oczyścić sobie frazę z tego „q-” można zastosować dodatkowy filtr „Search and Replace”, ale to już będzie tylko kosmetyka – nie wpłynie to na funkcjonalność.

  1. Witam, jakie parametry dla com/search?jobs=TEST2J&location=TEST2L ?
    Testowałem już tyle kombinacji i albo zbiera z jednego, albo w ogole

    1. Tutaj najlepiej użyć dodatkowo parametru kategorii – pole znajduje się tuż pod polem parametru wyszukiwania.
      Parametr wyszukiwania = „jobs”
      Parametr kategorii = „location”

      Po ustawieniu tego, w raporcie wyszukiwanych fraz, będzie można zobaczyć wyszukiwaną kategorię (Site Search Category) – do wybrania jako wymiar podstawowy w raporcie lub jako wymiar dodatkowy, tak, żeby było to widoczne obok wyszukiwanej frazy.

  2. Cześć,
    Na twoim przykładzie, gdy ustalamy filtr dla /search/yerba/, w Pole A i Konstruktor jakie wybieramy pola (select field i select term?)?

    1. Cześć,
      w pierwszym polu to „Request URI” (w polskiej wersji językowej to (Identyfikator URI żądania”) – faktycznie nie było tego na screenie – teraz poprawiłem. W polu konstruktor wybierasz „Search term” (w polskiej wersji „Wyszukiwane słowa”).

    2. Paweł, dzięki, tak właśnie zrobiłem i zadziałało :). Ale mam jeszcze jedno pytanie. W serwisie, w którym robie filtr adres url wygląda tak:
      https://domena.pl/search/fraza-wyszukiwana/1/
      i po każdej frazie jest jeszcze /1/.
      Czy można jakoś regułkę ustawić, aby pokazywało się samo fraza-wyszukiwana bez tego /1/ w wynikach haseł?

  3. Przydatne patenty szczególnie w sytuacji gdzie parametr nie jest taki oczywisty. Miałbym jeszcze pytanie o to jak podejść do Presty. Tam znów parametrów jest aż nad to np. https://domena.pl/szukaj?controller=search&s=spodnie :/ Chociaż mój przykład jest jeszcze prosty, bo widziałem gdzie tych parametrów PS wyrzuca jeszcze wiećej. W GA podanie parametru „s” nic nie daje. Taką sytuację jakoś ograć filtrami, przez GTM wyciągać frazę?

    1. Nie mam doświadczenia z Prestą, ale sądząc po adresie URL jaki podałeś, to parametr „s” powinien zadziałać. Może na tej stronie jest jakiś problem z wywołaniem kodu GA? Czy przy wynikach wyszukiwania następuje przeładowanie strony? Bo to zadziała tylko w momencie, kiedy prześle się do GA odsłona strony z takim parametrem.
      W GTM da się wyciągnąć taką frazę. Trzeba ustawić zmienną na pobieranie parametru z adresu URL:
      https://www.dropbox.com/s/4qwqrzp9ai8h388/google_tag_manager.png?dl=0

    2. @Paweł Bęczkowski
      dzięki za odp. :)
      Faktycznie poszło z samym parametrem, po prostu dane trochę potrzebowałby, żeby pokazać się w GA. Dzięki za info o zmiennej „parametr z URL” przyda się.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.