SlideShare a Scribd company logo
Analiza ruchu w
aplikacji AngularJS
Karol Borkowski
1
O autorze
Karol Borkowski
• Front-End Developer / Team
Leader @ Efigence
• Pasjonat technologii Front-
End’owych
• AngularJS geek
2
Agenda
• Problem
• Wybór technologii
• Biblioteka Angulartics oraz jej implementacja
• Aplikacja testowa i wykorzystanie Angulartics
• Analiza statystyk
• Podsumowanie
3
Problem
• Jedna strona HTML, zmieniają się jedynie widoki
• Dynamiczne ładowanie treści
• Konieczność śledzenia ruchu po załadowaniu treści
4
Dlaczego to jest ważne?
• Marketing
• Biznes
• Trafność UX
• Okresowe badanie popytu
5
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
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
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
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
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
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
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
Aplikacja testowa
Mapa strony
13
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
Analiza ruchu w aplikacji
Liczba osób, które poprawnie wypełniły formularz
15
Analiza ruchu w aplikacji
Na którym etapie ludzie rezygnują z wypełniania formularza
16
Analiza ruchu w aplikacji
Z której podstrony ludzie wychodzą ze strony konkursu
17
Analiza ruchu w aplikacji
Skąd ludzie trafiają na stronę konkursu
18
Analiza ruchu w aplikacji
Które zdjęcie jest najpopularniejsze
19
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
Kontakt:
karol.borkowski@efigence.com
Aplikacja:
http://4developers.efigence.com/
Dziękuję
22

More Related Content

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

Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji androidSages
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach3camp
 
Oferta GA4 I More Bananas
Oferta GA4 I More BananasOferta GA4 I More Bananas
Oferta GA4 I More BananasMore Bananas
 
XIII Targi eHandlu - AtomStore - Łukasz Plutecki
XIII Targi eHandlu - AtomStore - Łukasz PluteckiXIII Targi eHandlu - AtomStore - Łukasz Plutecki
XIII Targi eHandlu - AtomStore - Łukasz Pluteckiecommerce poland expo
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznieSages
 
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!Maciej Popiołek
 
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...Błażej Abel
 
Divante - Mała książeczka sukcesów - część 2
Divante - Mała książeczka sukcesów - część 2Divante - Mała książeczka sukcesów - część 2
Divante - Mała książeczka sukcesów - część 2Divante
 
Angular js warsztaty stopień 2
Angular js   warsztaty stopień 2Angular js   warsztaty stopień 2
Angular js warsztaty stopień 2Marcin Wosinek
 
Grill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwGrill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwDmitrij Żatuchin
 
Wiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentuWiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentuMaciej Pałubicki
 
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe n...
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe  n...Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe  n...
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe n...Marcin Kowalik
 
Gtm shoper-wrzesień 2017
Gtm shoper-wrzesień 2017Gtm shoper-wrzesień 2017
Gtm shoper-wrzesień 2017ROIExperts
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...Trójmiejska Grupa Testerska
 
Case study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SACase study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SATomasz Karwatka
 
Case Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SACase Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SADivante
 
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUAMagento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUAMagento Meetup Wrocław
 

Similar to 4Developers 2015: Analiza ruchu w aplikacji AngularJS - Kamil Borkowski (20)

Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach
 
Oferta GA4 I More Bananas
Oferta GA4 I More BananasOferta GA4 I More Bananas
Oferta GA4 I More Bananas
 
XIII Targi eHandlu - AtomStore - Łukasz Plutecki
XIII Targi eHandlu - AtomStore - Łukasz PluteckiXIII Targi eHandlu - AtomStore - Łukasz Plutecki
XIII Targi eHandlu - AtomStore - Łukasz Plutecki
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!
Darmowy poradnik - TOP 24 narzędzia Google dla biznesu!
 
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...
Techniczne założenia dla projektów internetowych. Przybliżenie narzędzia Goog...
 
Divante - Mała książeczka sukcesów - część 2
Divante - Mała książeczka sukcesów - część 2Divante - Mała książeczka sukcesów - część 2
Divante - Mała książeczka sukcesów - część 2
 
Angular js warsztaty stopień 2
Angular js   warsztaty stopień 2Angular js   warsztaty stopień 2
Angular js warsztaty stopień 2
 
Grill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring wwwGrill It Krakow - Usability Lab, monitoring www
Grill It Krakow - Usability Lab, monitoring www
 
Wiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentuWiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentu
 
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe n...
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe  n...Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe  n...
Poradnik sieci Affiliando - optymalizacja landing page - czesc 6 - Darmowe n...
 
Gtm shoper-wrzesień 2017
Gtm shoper-wrzesień 2017Gtm shoper-wrzesień 2017
Gtm shoper-wrzesień 2017
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
Case study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SACase study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SA
 
Case Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SACase Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SA
 
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUAMagento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA
Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA
 
Zwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_PanelZwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_Panel
 

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

  • 1. Analiza ruchu w aplikacji AngularJS Karol Borkowski 1
  • 2. O autorze Karol Borkowski • Front-End Developer / Team Leader @ Efigence • Pasjonat technologii Front- End’owych • AngularJS geek 2
  • 3. Agenda • Problem • Wybór technologii • Biblioteka Angulartics oraz jej implementacja • Aplikacja testowa i wykorzystanie Angulartics • Analiza statystyk • Podsumowanie 3
  • 4. Problem • Jedna strona HTML, zmieniają się jedynie widoki • Dynamiczne ładowanie treści • Konieczność śledzenia ruchu po załadowaniu treści 4
  • 5. Dlaczego to jest ważne? • Marketing • Biznes • Trafność UX • Okresowe badanie popytu 5
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 14. 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
  • 15. Analiza ruchu w aplikacji Liczba osób, które poprawnie wypełniły formularz 15
  • 16. Analiza ruchu w aplikacji Na którym etapie ludzie rezygnują z wypełniania formularza 16
  • 17. Analiza ruchu w aplikacji Z której podstrony ludzie wychodzą ze strony konkursu 17
  • 18. Analiza ruchu w aplikacji Skąd ludzie trafiają na stronę konkursu 18
  • 19. Analiza ruchu w aplikacji Które zdjęcie jest najpopularniejsze 19
  • 20. 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