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