Pobieranie danych z Google Analytics poprzez SSIS

Temat Google Analytics został już poruszony na tym blogu. Pierwszy wpis mówił o tym jak bezpośrednio połączyć się do tego narzędzia przez POWER BI. Rzecz jest, można powiedzieć, banalnie prosta 🙂 

Więcej informacji znajdziecie w tym poście.

Teraz zajmiemy się użyciem SQL Server Integration Services do pobrania tych samych informacji i zrzucenia ich do naszej bazy danych. 

Zaczynajmy!

Przed rozpoczęciem pracy należy się upewnić, że posiadamy następujące komponenty i narzędzia:

  •  Posiadamy zainstalowane Visual Studio wraz z pakietem Data Tools.
  • Powinnyśmy również zainstalować dodatkowe rozszerzenie do SSIS zawierające konektory m.in do Google Analytics. Znajdziemy je tutaj. Można również w Visual Studio w Tools wpisać Google Analytics i zobaczymy nowy komponent do zainstalowania.
  • Dobrze jest również posiadać dedykowanego użytkownika, którym będziemy pobierać dane.
  • Finalnie wszystko ląduje na bazie danych, więc w przypadku procesu z tego posta powinnyśmy mieć zainstalowany SQL Server z SQL Server Managment Studio.
Przed rozpoczęciem pracy, warto się też zastanowić dlaczego to robimy?  W moim hipotetycznym przypadku, powiedzmy że chcemy zanalizować dane już znajdujące się w bazie, np. z systemów transakcyjnych i porównać je z wynikami z narzędzia jakim jest GA.

Zabierajmy się do roboty!

Ścieżka zadań wygląda następująco:

 1. Stworzymy nowy projekt SSIS, jedną paczkę.

2. Dodamy źródło danych Google Analytics z naszymi uprawnieniami.

3. Stworzymy prosty przykładowy Data Flow, który pobierze dane, a następnie je załaduje do tabeli. 

 

Krok pierwszy, czyli stworzenie paczki i nowego projektu w SQL Server Integration Services. Tworzymy nowy projekt, wybieramy Integration Services i nadajemy przyjazne nam nazwy. W moim przypadku będzie to GoogleAnalyticsUsers, ponieważ pobieram dane pod kątem analizy użytkownika.

W naszej przykładowej paczce będziemy mieli jeden kontener w Control Flow, który przeniesie nas do Data Flow, gdzie załadujemy dane. Control Flow paczki wygląda następująco i zawiera w sobie tylko przeciągnięte Date Flow Task, któremu zmieniłam na nazwę, na bardziej przyjazną – Users Session Data Load.

 

Po podwójnym kliknięciu na komponent przenosimy się do Data Flow, gdzie wyznaczymy źródło danych i miejsce docelowe.

Źródłem danych będzie Google Analytics. Jeżeli poprawnie zainstalowaliśmy dodatek SSIS Productivity Pack (odnośnik we wstępie posta), to pokażą nam się dostępne źródła, między innymi Google Analytics Source. Należy je przeciągnąć do naszego Data Flow. 

Widać, że Source zwraca nam błąd, ma rację, nie mamy przecież zintegrowanego połączenia do Google Analytics. W tym celu użyjemy konektora, który już powinien być zainstalowany.

Tworzenie połączenia do strony z Google Analytics. 

W polu Connection Manager klikamy prawym klawiszem myszy. Otworzy się nam okno, w którym wybierzemy do czego połączenie chcemy skonfigurować. W tym przypadku będzie to konektor Google Analytics dostarczony przez Kingsway Soft. Klikamy Add i..

Otworzy nam się okno, w którym musimy określić jak się łączymy z jakimi uprawnieniami itp. Żeby uzyskać połączeniu musimy pobrać token z aplikacji, aby to zrobić klikamy Get New w sekcji Account. Przeniesie nas o przeglądarki, gdzie musimy udzielić pozwolenia aplikacji Kingsway Soft. Instrukcję jak należy to zrobić zobaczymy nawet podczas szukania tokena.

Przeklejamy kod, który zobaczymy w przeglądarce i łączymy się z naszym nowym źródłem danych. Szczegółowe info możecie znaleźć tutaj, na stronie zappysys.

 

Połączenie jest gotowe !! Idźmy za ciosem i od razu skonfigurujmy kolejne połączenie, do bazy danych na której będą lądować nasze dane. 

Przykładową bazę stworzyłam sobie w lokalnej instancji SQL Server w SSMS. Nazywa się BLOG_TEST. 

Przy konfiguracji połączenia do bazy wybieramy OLE DB Connector i wybieramy nazwę serwera oraz bazy, u mnie jest to localhost i BLOG_TEST. Prezentuje się to tak:

 

Wróćmy do naszego Data Flow. Na ten moment mamy: 

  • skonfigurowane połączenie do źródła danych.
  • skonfigurowane połączenie do bazy docelowej.
  • dodany component źródła danych Google Analytics Source.

Czas na nasze Destination, czyli określmy gdzie wylądują pobrane dane. Wybieramy z Toolboxa OLE DB Destination. Wracamy teraz do źródła danych klikamy na Goole Analytics Source i określmy co dokładnie będziemy pobierać.  Interfejs tego komponentu jest bardzo przejrzysty. Powinno być już widoczne skąd bierzemy informacje, czyli z Google Analytics Connection Manager, z widoku Wszystkie dane witryny.  Zakres dat ustawiam sobie na dwa dni wstecz i przechodzę do określenia jakie metryki i wymiary będę pobierać. 

Pamiętam, że w poprzednim poście brałam dane o sesjach i użytkownikach i tutaj zrobię identycznie. 

 

 

Metryki, które wybrałam to:

Session duration z widoku Session. Dowiemy się ile trwała sesja przy zadanych parametrach.

Users z widoku User. Dostaniemy informację ile użytkowników było na stronie. 

Wymiary: 

Date z widoku Time. Pokaże nam z jakiego dnia dana sesja na stronie miała miejsce.

Dodatkowo posortowałam dane datą, od najnowszej do najstarszej. Należy pamiętać, że jest to przykładowa paczka, która ma tylko za zadanie pokazać nam możliwości. 

Przeszłam jeszcze na chwilę z widoku General na Columns, żeby podejrzeć jakie typy danych mają moje kolumny. Pozwoli mi to na dostosowanie tabeli docelowej. 

Klikamy OK i mamy wybrane nasze informacje do załadowania.

 

Następnie łączymy źródło danych z miejscem docelowym, do którego trafią. Czyli strzałkę przeciągamy od Google Analytics Source do OLE DB Destination, które nazwałam sobie Table UsersSession.

Jednym z ostatnich kroków jest dostosowanie miejsca docelowego, klikamy na Table UsersSessions.

Określamy gdzie dane trafią, korzystając z utworzonego połączenia OLE DB. Jako miejsce docelowe wybrałam tabelę UsersSessions na mojej testowej bazie.

 

CREATE TABLE [GoogleAnalytics].[UsersSessions](

[DateId] [bigint] NULL,

[Users] [bigint] NULL,

[SessionDuration] [decimal](12, 6) NULL

) ON [PRIMARY]

GO

Zanim uruchomię paczkę, upewnię się że kolumny pomiędzy Source a Destination (GA a DB), dobrze się zmapowały. Przechodzę do widoku Mappings i sprawdzam czy jest poprawnie.

Sprawdzamy czy nie ma żadnych czerwonych krzyżyków i błędów i jeżeli nie, odpalamy paczkę 🙂 Moja przeszła bez problemu i załadowała 3 wiersze do utworzonej tabeli.

 

Możemy się cieszyć naszymi nowo zebranymi danymi. Mam nadzieję, że komuś ten post się przyda i będziecie korzystać z tego narzędzia jakim jest Google Analytics. Zachęcam do przeczytania również pierwszego posta z tej seri. 

W razie pytań i uwag skontaktuj się ze mną 🙂 Jestem online i czekam na każdy mail !

Trzymajcie się, 

Dagmara

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top