4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

22
Analiza ruchu w aplikacji AngularJS Karol Borkowski 1

Transcript of 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Page 1: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacji AngularJS

Karol Borkowski

1

Page 2: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

O autorze

Karol Borkowski• Front-End Developer / Team

Leader @ Efigence • Pasjonat technologii Front-

End’owych • AngularJS geek

2

Page 3: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Agenda• Problem

• Wybór technologii

• Biblioteka Angulartics oraz jej implementacja

• Aplikacja testowa i wykorzystanie Angulartics

• Analiza statystyk

• Podsumowanie

3

Page 4: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Problem

• Jedna strona HTML, zmieniają się jedynie widoki

• Dynamiczne ładowanie treści

• Konieczność śledzenia ruchu po załadowaniu treści

4

Page 5: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Dlaczego to jest ważne?

• Marketing

• Biznes

• Trafność UX

• Okresowe badanie popytu

5

Page 6: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Wybór technologii

• Framework MVC AngularJS https://angularjs.org/

• Dostawca statystyk Google Analytics http://www.google.pl/intl/pl/analytics/

• Biblioteka Angulartics http://luisfarzati.github.io/angulartics/

6

Page 7: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Angulartics

• Wpięcie statystyk do aplikacji opartych o AngularJS

• Integracja m. in. z Google Analytics, Kissmetrics, Mixpanel, Flurry, Piwik, Segment.io oraz wiele innych

• Prosta implementacja

7

Page 8: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Implementacja Angulartics• W zależnościach aplikacji wystarczy dodać

Angulartics oraz odpowiedni plugin dostawcy statystyk

angular.module('myApp', ['angulartics', 'angulartics.google.analytics'])

• Pamiętaj! Należy usunąć linię dotyczącą automatycznego śledzenia z kodu dostawcy statystyk

// przykład z Google Analytics ga('send', 'pageview'); // <---- usuń linię!

8

Page 9: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Implementacja Angulartics• Angulartics domyślnie śledzi całą nawigację z

routingu aplikacji

• Można to wyłączyć w configu aplikacji dodając virtualPageviews(false)

module.config(function ($analyticsProvider) { // wyłączenie automatycznego śledzenia $analyticsProvider.virtualPageviews(false);

9

Page 10: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Implementacja Angulartics• Śledzenie zdarzeń poprzez dodanie do elementu

atrybutów analytics-on oraz analytics-event.

• Należy o tym myśleć jako: on ’click’, śledź event ’name’:

<a href="file.pdf" analytics-on="click" analytics-event="Download">Download</a>

10

Page 11: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Implementacja Angulartics• analytics-on powinien być zawsze obecny

• Pozostałe atrybuty będą implikowane

<!-- implikuje analytics-event z tekstu elementu --> <a href="file.pdf" analytics-on="click">Download</a>

<!-- implikuje wartość analytics-on z typu elementu; dla odnośników jest 'click' --> <a href="file.pdf" analytics-on>Download</a>

<!-- to samo co analytics-event="Step 3" --> <input type="submit" value="Step 3" analytics-on>

11

Page 12: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Implementacja Angulartics• Każdy dostawca statystyk posiada własne dodatkowe parametry śledzenia. Przykładowo Google Analytics ma category i label. Ustawiamy je jako atrybuty elementu zaczynające się od analytics-

<button analytics-on analytics-event="Play" analytics-category="Videos" analytics-label="Interstellar">Play</button>

• Do śledzenia zdarzeń z poziomu logiki aplikacji, należy dołączyć $analytics do kontrolera oraz wywołać odpowiednio metody pageTrack() lub eventTrack()

module.controller('SampleCtrl', function ($analytics) { $analytics.pageTrack('/my/url'); $analytics.eventTrack('eventName'); $analytics.eventTrack('eventName', { category: 'category', label: 'label' });

12

Page 13: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Aplikacja testowaMapa strony

13

Page 14: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Co chcemy analizować?• Liczbę osób, które poprawnie wypełniły formularz

• Na którym etapie ludzie rezygnują z wypełniania formularza

• Z której podstrony ludzie wychodzą ze strony konkursu

• Skąd ludzie trafiają na stronę konkursu

• Które zdjęcie jest najpopularniejsze

14

Page 15: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacjiLiczba osób, które poprawnie wypełniły formularz

15

Page 16: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacjiNa którym etapie ludzie rezygnują z wypełniania formularza

16

Page 17: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacjiZ której podstrony ludzie wychodzą ze strony konkursu

17

Page 18: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacjiSkąd ludzie trafiają na stronę konkursu

18

Page 19: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Analiza ruchu w aplikacjiKtóre zdjęcie jest najpopularniejsze

19

Page 20: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Podsumowanie• Dzięki bibliotece Angulartics możliwe jest używanie

statystyk w aplikacjach SPA opartych o framework AngularJS jak dla zwykłych stron www

• Istnieje możliwość integracji z wieloma różnymi dostawcami statystyk

• Być może tego typu rozwiązania będą mogły być wykorzystane w sklepach internetowych typu SPA

20

Page 21: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Kontakt: [email protected]

Aplikacja: http://4developers.efigence.com/

Page 22: 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski

Dziękuję

22