Google Analytics dostarcza nam masę danych ilościowych na temat interakcji użytkowników z naszymi serwisami. Spotykamy się z problemem, że tych danych jest za dużo i nie wiemy co z nimi robić.
Z drugiej strony, czasem okazuje się jednak, że tych danych mamy w narzędziu za mało. Zapytacie pewnie jak to?
Google Analytics nie powie nam np. czy dane zamówienie jest pierwszym zamówieniem danego użytkownika i skąd przyszedł on przy pierwszym zamówieniu (ścieżki wielokanałowe zdradzają nam tylko część informacji). Nie powie nam także ile średnio odwiedzin naszego sklepu zajmuje mu podjęcie decyzji. Jeśli prowadzimy także sprzedaż offline to możemy pomarzyć o tym, aby Google Analytics powiedział nam, który użytkownik online odpowiada naszemu użytkownikowi offline 🙂
Zastanawialiście się kiedyś jak poradzić sobie ze zbudowaniem znacznie pełniejszego obrazu naszych klientów czy leadów pochodzących z kanału online? Prawdą jest, że im więcej danych mamy (i umiemy je wykorzystać), tym lepiej możemy dostosować nasze działania marketingowe, więc gra jest warta świeczki.
Czasem słyszałem pytania, czy istnieje możliwość importu danych z Google Analytics do zewnętrznych baz danych i łączenie tych danych ze sobą w celu dokładniejszej analizy.
Odpowiedź jest prosta: istnieje i to nie jedna.
Pewnie wielu z Was odrazu pomyślało: „hej, przecież możemy wyciągać dane z Google Analytics za pomocą API”.
Jasne, że możemy. Tylko jak je połączymy z danymi w innych systemach? Google Analytics nie przechowuje żadnych osobistych danych naszych użytkowników, czyli np. imienia i nazwiska, adresu zamieszkania czy adresu IP.
Oznacza to ni mniej ni więcej, że owszem możemy sobie wyeksportować liczbę odwiedzin w danym dniu, współczynnik odrzuceń (bounce rate) oraz źródło ich pochodzenia. Nie dowiemy się jednak, ilu z nich to klienci, którzy złożyli zamówienie dwa tygodnie temu. Google Analytics nam tych danych nie da, bo ich fizycznie nie posiada (a przynajmniej nam ich nie przedstawia ;))).
Jak więc zaadresować ten problem?
Jeżeli chcemy mieć możliwość analizy dodatkowych danych na temat naszych klientów czy leadów w naszych bazach CRM musimy te dodatkowe dane przekazać.
Wyobraźmy sobie sytuację sklepu internetowego, który chce widzieć jak zmieniały się źródła wejścia każdego z użytkowników wraz z kolejnymi zamówieniami. Czyli, że np. źródłem pierwszego zamówienia była kampania PPC, drugiego wejście bezpośrednie, a trzecie zamówienia danego klienta została zainicjowane mailingiem.
W normalnych warunkach, użytkownik przy składaniu zamówienia wypełniłby formularz (i pewnie się zarejestrował) zawierający takie dane:
Co musielibyśmy zrobić, żeby widzieć w naszym CRMie jakie było źródło odwiedzin użytkownika? Musielibyśmy taką informację przekazać do CRMu wraz z pozostałymi danymi z formularza.
Nie będziemy przecież pytać użytkownika w formularzu składania zamówienia: „z jakiego źródła odesłania przychodzisz dobry człowieku?” (tutaj dowiesz się jakie są elementy, które warto w formularzach przetestować, a tutaj jak stworzyć dobry formularz). Szczególnie, że nie musimy o to pytać, ponieważ takie dane zawierają ciasteczka Google Analytics przechowywane w przeglądarce użytkownika. Musimy je jedynie przeczytać, a następnie wartość źródła odesłania przekazać w ukrytym polu formularza.
Nie wydaje się to łatwe? Nie wiesz jak czytać ciasteczka Google Analytics?
Tak się składa, że niejaki Danny wyręczył nas w programowaniu i napisał skrypt, który czyta ciasteczka Google Analytics.
Wystarczy, że wczytamy skrypt na naszej stronie, a otrzymamy możliwość łatwego wykorzystania wszystkich elementów przechowywanych w ciasteczkach użytkownika. Przykładowo możemy m.in. poznać i przekazać w kodzie html:
a co za tym idzie także bezproblemowo te dane przesłać do naszej bazy CRM.
Przyznacie, że nie ma w tym nic trudnego, prawda?
Jest niestety jeden problem z wykorzystaniem tego podejścia. Tak jak pisałem, żeby analizować dane w CRMie, musimy je tam przekazać. Oznacza to, że już dziś musimy zadecydować, jakie dane będą nam potrzebne w przyszłości. Co jeśli ich nie przekażemy? Niestety nie będziemy mogli cofnąć czasu.
Na szczęście istnieje na to recepta.
Pamiętacie jak wspominałem o API Google Analytics? Daje nam ono dostęp do wszystkich danych historycznych zebranych w ramach naszego konta. Wspominałem, że standardowo nie da się tych danych wyeksportować dla pojedynczego użytkownika. Istnieje jednak na to pewien sposób.
Zawsze jest tak, że jeżeli chcemy połączyć dwa zestawy danych, muszą one posiadać jeden wspólny element, który przyjmuje unikalne wartości. Przykładowo w bazie CRM takim kluczem jest numer klienta. Do jednego numeru może być przypisany tylko jeden klient i jego unikalne dane.
Z drugiej strony mamy dane z Google Analytics w których nie ma unikalnego numeru, który rozróżniałby każdego użytkownika i jego działania. Prawda jest jednak taka, że unikalny numer każdego użytkownika istnieje, tylko Google Analytics nam go nie udostępnia 🙂
To jest standardowe ciasteczko utma, które zostało utworzone przez Google Analytics na mojej przeglądarce w trakcie odwiedzin naszego bloga:
32856364.423507134.1316540148.1319460289.1321559324.8
Pogrubiony numer to ID użytkownika – losowy unikalny identyfikator (więcej informacji o ciasteczku utma znajdziecie tutaj). To ID nie zmienia się przy kolejnych odwiedzinach – zawsze pozostaje takie samo (dopóki ktoś nie skasuje ciasteczek ;)).
Teraz, jeżeli każdemu użytkownikowi przy odwiedzinach przekażemy do Google Analytics jako zmienną niestandardową ten numer ID (znowu za pomocą skryptu Danny’ego), to będziemy mogli analizować poczynania każdego pojedynczego użytkownika na naszej stronie:
Mariusz korzystał z tego sposobu pisząc artykuł na temat _addIgnoredOrganic w Google Analytics.
Mamy więc taką sytuację:
Aby połączyć te dane ze sobą, w obu bazach każdy użytkownik musi posiadać wspólny rekord. Oznacza to, że do bazy CRM musimy przekazać unikalne ID naszego użytkownika przechowywane przez Google Analytics (w zmiennych niestandardowych). Możemy ro zrobić opisywanym już sposobem, a więc w trakcie składania formularza przekazać wartość unikalnego ID jako ukryte pole do naszej bazy.
Stworzy nam się wtedy w bazie CRM taka tabela:
| Login | Imię | Nazwisko | Adres | Unikalne ID |
| Login-1 | Jacek | Placek | Adres 1 | 1000020245 |
| Login-2 | Krzysztof | Iksiński | Adres 2 | 100057639 |
Z drugiej strony w Google Analytics będziemy mieli druga tabelę:
Jak widzicie mamy część wspólną, czyli Unikalne ID użytkownika w jednej i drugiej bazie. Dzięki temu możemy je połączyć. Teraz, jeżeli będziemy potrzebowali jakichkolwiek informacji na temat któregoś z naszych użytkowników, wystarczy że stworzymy odpowiednie zapytanie przez API. Podając jako wyróżnik jego unikalne ID będziemy mieli dostęp do wszystkich zbieranych przez Google Analytics danych na jego temat.
Google Analytics jest świetnym narzędziem do analizy danych ilościowych pochodzących z naszych serwisów. Niestety czasem jego możliwości się kończą i wtedy będziemy chcieli wykorzystać te dane w połączeniu z innymi, które mamy dostępne w hurtowniach danych lub bazach CRM. Dzięki takiemu podejściu będziecie mogli łączyć dane online i offline i przenieść swoją analizę i wnioski na prawdziwie wyższy poziom.
Co sądzicie o podejściu łączenia danych z Google Analytics z innymi systemami? Uważacie, że może to być przydatne?
Historie sukcesów
Ostatnie wpisy na blogu