Regexp w połączeniu z Google Data Studio to potężna broń w rękach analityka. Tzw. regexpy to działania na wyrażeniach regularnych. Ponieważ pytaliście o to w czasie naszych webinarów, przygotowałem wpis objaśniający podstawy tego zagadnienia. Znajdziesz tu kilka użytecznych regexpów do Google Data Studio. Zapraszam 🙂

Z tego wpisu dowiesz się:

  • Co to są wyrażenia regularne?
  • Jak korzystać z funkcji regexp match w Google Data Studio?
  • Do czego może przydać się regexp extract?
  • W jaki sposób w Google Data Studio możesz zbudować własną, użyteczną klasyfikację semantyczną fraz?

Google Data Studio i pola obliczeniowe

Google Data Studio to potężne narzędzie samo w sobie. Kiedy jednak zaczniesz budować własne wymiary i metryki, jego użyteczność stanie się dla Ciebie jeszcze większa. Mimo, że popularne źródła danych, jak Google Analytics czy Google Search Console – zawierają ogromne pokłady informacji o danych, to czasem dla ich lepszego rozumienia i analizy – przydają się dodatkowe informacje.

Jeśli dopiero stawiasz pierwsze kroki – proponuję zacząć od wpisu, gdzie omawiam jak zbudować pierwszy dashboard w Google Data Studio. Tam wyjaśniam krok po kroku od czego zacząć. Ten materiał jest przeznaczony dla osób o co najmniej średnim poziomie zaawansowania.

Jak zdefiniować pole obliczeniowe w Google Data Studio?

Przy edycji źródła danych kliknij „Dodaj pole”. Następnie nadaj nazwę nowego pola. Pod spodem (w tym największym polu tekstowym) edytujesz formułę. Możesz klikać na istniejące metryki i wykonywać na nich podstawowe operacje arytmetyczne.

Google Data Studio i własne pola obliczeniowe

Zacznijmy od czegoś prostego – załóżmy, że potrzebujesz metryki zbudowanej jako podwojona liczba wyświetleń Twojej strony na dane słowo kluczowe. Czyli potrzebujesz podwoić to, co w Google Search Console nazywamy impressions. Jak pokazuję na GIF’ie powyżej, klikasz UTWÓRZ NOWE POLE, nadajesz mu nazwę, a następnie edytujesz formułę. Wystarczy kliknąć po lewej i z listy pól wybrać to, które chcesz wciąć jako składnik formuły.

W przeciwieństwie do MS Excel nie zaczynamy od znaku równości, nie jest to potrzebne. Możesz stosować proste operacje arytmetyczne, albo bardziej zaawansowane funkcje, do których należą wyrażenia regularne. Poniżej pokażę Ci na przykładach, jak użyteczną wiedzę z nich jesteś w stanie uzyskać.

Co to jest regexp?

Regexp, czyli regular expression – po polsku: wyrażenie regularne. To wyrażenie, które da się opisać pewnym wzorem. Najłatwiej opisać to na przykładzie. Zacznijmy od czegoś prostego, np. kod pocztowy w Polsce ma dość prostą strukturę: dwie cyfry, myślnik, trzy cyfry. Jeśli chcielibyśmy wykrywać kody pocztowe, to powinniśmy szukać ciągów, które spełniają regułę [0-9]{2}-[0-9]{3}.

Oznacza to znak z zakresu od 0 do 9, powtórzony dwukrotnie, myślnik, znak z zakresu 0-9 powtórzony trzykrotnie. Jeśli w dowolnym większym tekście uruchomimy takie wyrażenie regularne, powinno ono wychwycić nasz kod ukryty wewnątrz tego tekstu.

Google Data Studio jest super, więc po co nam jeszcze regexep?

Przy pomocy wyrażeń regularnych możemy znajdować różne ciągi znaków. Przyda nam się do to dalszych prac w celu ułatwienia analizy danych. Przykładowo możemy przy pomocy takich wyrażeń policzyć liczbę słów w danej frazie kluczowej, albo też klasyfikować frazy tematycznie i przeglądać później tematami. Zastosowań jest wiele, ale najpierw podstawy:

Google Data Studio i regexp – wielkość liter

Domyślnie reguły w DataStudio są case-sensivite, czyli wrażliwe na wielkość liter. Czyli słowa „produkt” i „Produkt” są traktowane jako różne. Jeśli chcesz pracować z pominięciem różnic wynikających z wielkich i małych liter, na początku wyrażenia wpisz: (?i). Przykładowo:

(?i)produkt

Będzie szukać zarówno słowa „produkt” jak i „Produkt”

Regexp – znaki specjalne

Znaki specjalne nie mogą być użyte wprost, trzeba je „escapować”. Innymi słowy, musimy powiedzieć interpreterowi, żeby znaku nie traktował zgodnie z jego specjalnym charakterem, ale że ma go traktować literalnie.

Przykładem takiego znaku jest kropka, która w wyrażeniu regularnym oznacza dowolny znak, poza końcem linii. Nie możesz więc wprost wyszukać wyrażenia linuxpl.com z kropką, po prostu ją wpisując, ponieważ wówczas wyrażenie złapałoby słowa typu:

  • linux1com
  • linux com
  • linuxAcom
  • i wiele innych.

Data Studio korzysta z escapowania przez dwa ukośniki backslash. Notacja powinna być więc następująca:

linuxpl\\.com

Wówczas wyrażenie zadziała jeśli w ciągu znajdzie się właśnie linuxpl.com.

Najważniejsze znaki specjalne w składni regexp w Data Studio:

. – oznacza dowolny znak
* – oznacza od zera do dowolnej liczby wystąpień poprzedzającego elementu (.* to zatem dowolny ciąg znaków)
+ oznacza co najmniej jedno wystąpienie poprzedzającego elementu
? oznacza zero lub jedno wystąpienie elementu
() – nawiasy grupują elementy tak, że znak po nawiasie odnosi się do całego nawiasu
{0,5} – liczba wystąpień danego elementu od 0 do pięć
[a-z] – dowolna litera mała
[A-Z] – każda litera wielka
[0-9] – cyfra z zakresu 0-9

Regexp – Bardzo przydatny znak – alternatywa

Pionowa pałka | to bardzo użyteczny znak specjalny, oznaczający „lub”. Jakaś część frazy może znajdować się w nawiasie w którym wystąpią warianty. Każdy wariant spełni wyrażenie. Przykład:

linuxpl\\.(com|eu|info|pl)

Wyrażenie zadziała dla dowolnej domeny z końcówkami wymienionymi w nawiasie, ale nie zadziała dla domeny linuxpl.org, ponieważ „org” nie było jako wariantu.

Regexp w Data Studio – praktyczne zastosowania

Data Studio – unifikacja źródeł danych – REGEXP REPLACE

Wyrażenia regularne w Google Data Studio możesz wykorzystać na kilka sposobów. Jednym z nich jest poradzenie sobie z sytuacją, w której ruch z kilku źródeł jest „prawie” taki sam i dla Twojego raportu dobrze byłoby go zunifikować.

Regexp Replace – ta funkcja zastępuje wzór znaleziony w zadanym ciągu podanym innym ciągiem. Jeśli masz na przykład niespójne dane, bo zmieniła się konwencja nazewnictwa, albo jeśli chcesz ujednolicić dane o źródle ruchu, możesz użyć tej funkcji do zagregowania całego ruchu pod jedną nazwą źródła.

Oto praktyczny przykład. Tworzysz pole obliczeniowe z formułą:

REGEXP_REPLACE(Source, '(?i)((l|m|lm)\\.)?facebook\\.com', 'facebook')

Ta formuła bez względu na wielkość liter (?i) wychwyci dla „Source” wszystkie wystąpienia, gdzie słowo facebook.com jest poprzedzone l., m. lub lm. lub… niczym, bo znak zapytania oznacza, że wystąpienie nawiasu ma być zero lub jeden raz. Następnie zamieni (stąd w nazwie funkcji słowo „replace”) na ciąg „facebook”. Zatem dokona transformacji:

PrzedPo
facebook.com facebook
m.facebook.com facebook
l.facebook.com facebook
lm.facebook.com facebook

Data Studio – jak zmierzyć długi ogon?

Poprzez omawianą funkcję REGEXP REPLACE możesz mierzyć złożoność frazy, w sensie – liczby słów we frazie. Przyda Ci się wówczas następująca formuła:

LENGTH(REGEXP_REPLACE(Query, "[^\t\n\f\r ]", "")) + 1

Funkcja zwraca długość ciągu, powstałego jako zastąpienie w zapytaniu użytkownika („query”), wszystkich znaków nie będących znakami specjalnymi typu tabulator i spacjami – ciągiem pustym i dodanie jedynki. Jedynka jest poprzednia, ponieważ fraza jednowyrazowa po takiej transformacji miałaby 0 znaków, a zawiera przecież jeden wyraz.

Data Studio i ekstracja parametrów zapytania – REGEXP EXTRACT

Funkcja Regex Extract pozwala wyciągnąć część informacji, która spełnia danych wzór. Jeśli zatem w adresie url znajduje się wiele zmiennych GET, stanowiących parametry, możesz wyciągać informacje o nich, bazując na funkcji REGEXP EXTRACT.

Dla przykładu wyświetlane adresy URL mają postać typu sklep.pl/?produktId=23552&rozmiar=36&kategoria=sukienki, a Ty chcesz przygotować raport, dotyczący rozmiarów. Potrzebowałbyś zatem czegoś, co zgrabnie wyciągnie ze zmiennej rozmiar odpowiednią wartość. Tworzysz zatem (przykładowo, dla źródła danych Google Analytics) pole obliczeniowe z formułą:

REGEXP_EXTRACT(Wyświetlany adres URL,'rozmiar=(.*)[&^]')

Taka formuła będzie zwracać wartości rozmiaru i przyjmować wartość pustą w razie braku rozmiaru.

Data Studio – zagadnienie kategoryzacji – REGEXP MATCH

Kolejny ciekawy przykład to sposób na kategoryzowanie. Osobiście bardzo często korzystam z tego rodzaju rozwiązania. REGEXP MATCH pozwala zbadać dopasowanie tekstu do wzorca.

Zagadnienie, z którym ja osobiście chciałem się zmierzyć, polegało na kategoryzacji zapytań względem intencji wyszukującego, w kontekście faz zakupowych. No wiesz, na początku interesujemy się ogólnie kategorią, a czym bardziej nasze myślenie zbliża się do konkretnego produktu, tym bardziej interesuje nas produkt, opinie czy porównania go z konkurencyjnymi rozwiązaniami. Chciałem też wiedzieć, kiedy ktoś szuka informacji jak coś zrobić (mój produkt może w tym pomóc) lub też informacji o cenach.

Aby dokonać tego rodzaju analiz, potrzebujesz poznać i spróbować choć w przybliżeniu zrozumieć intencję użytkownika. Przyda się nieco słów charakterystycznych dla określonych intencji oraz struktura CASE… WHEN.

Budujemy raport w Google Data Studio w oparciu o dane z Google Search Console. Definiujesz własne pole obliczeniowe i wpisujesz jako formułę:

case
when REGEXP_MATCH(Query, '.(jak ).') then 'jak'
when REGEXP_MATCH(Query, '.( wybrać|jaki ).') then 'jak wybrać'
when REGEXP_MATCH(Query, '.(dlaczego |po co|w jakim celu).') then 'dlaczego'
 when REGEXP_MATCH(Query, '.(cena|ceny|koszt|za ile |po ile|cennik).') then 'cennik'
when REGEXP_MATCH(Query, '.(tania|tanio |najtańsz|taniej |wyprzedaż. |promocj).') then 'obniżenie ceny i promocje'
 when REGEXP_MATCH(Query, '.(porówna|vs|versus| czy |ranking).') then 'porównanie'
 when REGEXP_MATCH(Query, '.(opini|poleca).') then 'opinie'
 else 'nieokreślona'
 end

Konstrukcja tego pola obliczeniowego zakłada szereg kolejno sprawdzanych warunków – KIEDY fraza spełnia określone wyrażenie regularne WÓWCZAS przypisz określoną wartość pola. Stosuję tu wyrażenia regularne oparte o listy słów rozdzielone pionową pałką, czyli spełniane jeśli wystąpi co najmniej jedno z określonych w nawiasie słów… No właśnie – nawet nie całych słów, wystarczy wpisać nieodmienną część słowa. Przykładowo zamiast „najtańsza|najtańszy|najtańsze” itd. wystarczy użyć „tajtańsz”, bo wyrażenie będzie wówczas spełnione.

Taka struktura pozwoli Ci na zaklasyfikowanie różnego rodzaju zapytań do określonych intencji użytkownika. Możesz więc „złapać” wszystkie frazy, odnoszące się do cen, znaleźć frazy wpisywane przez użytkowników poszukujących najtańszego rozwiązania, czy też zidentyfikować frazy, związane z porównywaniem albo opiniami.

W przedostatniej linii tej struktury znajdziesz wartość , która powinna zostać przypisana, jeśli fraza nie spełniła żadnej ze zdefiniowanych przez Ciebie reguł (klauzula ELSE, czyli „w przeciwnym wypadku”) .

REGEXP MATCH w kategoryzacji – praktyczne problemy

Google Data Studio - efekty stosowania Regexp Match

Na powyższej ilustracji możesz obejrzeć, jak wygląda to w wypadku naszej strony. Utworzony własny wymiar „Kategoria motywacji”, którego struktura jest podobna, jak w zaprezentowanym przykładzie. Następnie zbudowałem filtr w oparciu o ten wymiar. Włączając ten filtr uzyskałem w Data Studio tabelę, w które mam jedynie frazy organiczne, w których użytkownicy chcieli dokonywać porównań.

Widać tu drobną niedoskonałość wnioskowania opartego o takie proste wzorce, ponieważ słowo „czy” jest charakterystyczne dla porównywania produktów („rower czy samochód?”), ale także dla innych pytań, w tym wypadku „DNS Anycast czy warto?”. Z tym zagadnieniem możemy sobie poradzić stosując operator wykluczający:

REGEXP_MATCH(Query, '.(porówna|vs|versus| czy (warto)^|ranking).')

W takim wypadku reguła będzie spełniona, jeśli w ciągu wystąpi słowo „czy” wraz ze spacją, ale nie będzie po nim spacji i słowa „warto”. Zwróć uwagę, że w tej regule słowo „czy” jest poprzedzone spacją. Zrobiłem tak, aby nie wychwytywać zapytań w rodzaju „Czy warto stosować…” – zatem zaczynających się od „czy”. Mogą to być oczywiście wartościowe frazy, tylko, że nie powinny one być zaklasyfikowane jako „porównujące”, stąd wykluczyłem je w tym wypadku.

Google Data Studio – potęga regexp!

Podsumowując – omówiliśmy w jaki sposób dodać własne pole obliczeniowe w Google Data Studio oraz jak korzystać z trzech funkcji regexp:

  • match
  • replace
  • extract

Życzę Ci, żeby Twoja analityka dzięki tej wiedzy stała się bardziej efektywna. Daj znać w komentarzu, co w tym wpisie było dla Ciebie inspirujące i co z tej wiedzy planujesz użyć w Twojej pracy. Zachęcam też do podzielenia się linkiem do materiału w sieciach społecznościowych – z pewnością masz sporo znajomych, którzy mogą skorzystać z tej wiedzy. Powodzenia w implementacji, a w razie pytań zapraszam do kontaktu przez naszą stronę lub mój profil na LinkedIn.

Artur Pajkert z kubkiem cyber_Folks
>
Artur Pajkert
Od 18 lat dzieli się wiedzą i poradami w sprawach e-marketingu i hostingu, jako menedżer, autor publikacji, prelegent, bloger, wykładowca akademicki.

5 odpowiedzi do "Google Data Studio – cz. 2 – cała prawda o REGEXP – to Cię odmieni."

  1. Rewelacyjnie napisany artykuł. Czapki z głów. Dziękuję!

    1. Artur Pajkert pisze:

      Dzięki wielkie – takie słowa to potężna motywacja do dalszych prac w tym kierunku. Pozdrawiam!

  2. Kate pisze:

    Szkoda tylko, że osoba wyżej pozyskiwała link pozycjonujący 😉
    Jeśli chodzi o sam artykuł to jest super i czekam na następne!

    1. Artur Pajkert pisze:

      Ale tam z takiego no-follow to chyba aż tak się nie nacieszy 😉 Dzięki, kolejny w drodze! Tym razem będzie o nietypowym zastosowaniu Data Studio i technologii od Google – nietypowym dla światka seo.

  3. Karol O pisze:

    Cześć, dziękuje za rzeczowe podejście do zagadnienia, i uchylenia rąbka możliwości które daje Google Data Studio. Chętnie przeczytam Twoje kolejne artykuły.

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Polecane dla Ciebie

Szukasz dalej?