Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Analytics para Devs
Search
Marcus Ortense
April 28, 2020
97
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Analytics para Devs
Marcus Ortense
April 28, 2020
More Decks by Marcus Ortense
See All by Marcus Ortense
Concrete on Beer JavaScript - Offline first
ortense
0
130
Natura Meet Up PWA - Offline first
ortense
0
76
Escrevendo javascript testável
ortense
1
170
Serverless
ortense
0
85
Talk - let, const & arrow functions
ortense
0
68
Talk - JavaScript Isomórfico
ortense
0
83
Desenvolvimento vs Conversão
ortense
2
110
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
600
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
The SEO Collaboration Effect
kristinabergwall1
1
490
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Tell your own story through comics
letsgokoyo
1
960
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
A Modern Web Designer's Workflow
chriscoyier
698
190k
Transcript
None
None
analytics para devs
1 DE SETEMBRO DE 2013
Por onde começar?
None
None
instalação <script async src="https://www.googletagmanager.com/gtag/js?id=UA-000000-X"> </script> <script> window.dataLayer = window.dataLayer ||
[]; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-000000-X'); </script>
instalação <script async src="https://www.googletagmanager.com/gtag/js?id=UA-000000-X"> </script> <script> window.dataLayer = window.dataLayer ||
[]; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-000000-X'); </script>
instalação <script async src="https://www.googletagmanager.com/gtag/js?id=UA-000000-X"> </script> <script> window.dataLayer = window.dataLayer ||
[]; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-000000-X'); </script>
instalação <script async src="https://www.googletagmanager.com/gtag/js?id=UA-000000-X"> </script> <script> window.dataLayer = window.dataLayer ||
[]; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-000000-X'); </script>
<script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-00000'); </script>
instalação
<script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-00000'); </script>
instalação
relatórios built-in
tempo real
None
navegadores
None
sistemas operacionais
None
resoluções de tela
None
regiões
None
dispositivos
None
visualizações & eventos
visualização de página gtag('config', 'UA-000000-X')
gtag('config', 'UA-000000-X', { page_title: 'homepage', page_path: '/home', }) visualização de
página
gtag('config', 'UA-000000-X') gtag('config', 'UA-111111-Y', { page_title: 'homepage', page_path: '/home', })
visualização de página
gtag('event', 'play', { event_category: 'videos', event_label: 'video promocional', }) eventos
gtag('event', 'auto play', { event_category: 'videos', event_label: 'video promocional', non_interaction:
true, }) eventos
tem mais?
avaliando tempo
user timing
gtag('event', 'timing_complete', { name: 'load', value: performance.now(), event_category: 'JS Dependencies',
}) carregamento
gtag('event', 'timing_complete', { name: 'load', value: performance.now(), event_category: 'JS Dependencies',
}) carregamento
carregamento
None
None
export function getUserByID(id) { return axios .get(`/users/${id})}`) .then(response => response.data)
} http request
export function getUserByID(id) { return axios .get(`/users/${id})}`) .then(response => response.data)
} http request
axios.interceptors.request.use((config) => { config.startTime = Date.now() return config }, error
=> Promise.reject(error)) http request
client.interceptors.response.use((response) => { const successfulRequestTime = Date.now() - response.config.startTime return
response }, (error) => { const failedRequestTime = Date.now() - error.config.startTime return Promise.reject(error) }) http request
client.interceptors.response.use((response) => { const successfulRequestTime = Date.now() - response.config.startTime return
response }, (error) => { const failedRequestTime = Date.now() - error.config.startTime return Promise.reject(error) }) http request
gtag('event', 'timing_complete', { name: response.config.url, value: successfulRequestTime, event_category : 'api
request', event_label: 'success', }) http request
gtag('event', 'timing_complete', { name: error.config.url, value: failedRequestTime, event_category : 'api
request', event_label: 'fail', }) http request
request time
None
exceções & crashs
gtag('event', 'exception', { description: 'exception', fatal: false, }) coletando erros
window.addEventListener('error', (event) => { gtag('event', 'exception', { description: `${event.error.name}: ${event.error.message}`,
fatal: false, }) }) coletando erros
None
coletando erros
coletando erros
coletando erros
coletando erros
measurement protocol
http api
debug mode
consumindo dados
serviços google
extraindo via api
poderoso não é mesmo?
MUITO OBRIGADO!