SlideShare a Scribd company logo
Build your own
analytics power tools
like an artisan
Alban Gérôme
@albangerome
MeasureCamp London XII
24 March 2018
An epiphany
An epiphany
If I could strip down the code of the debugger to its
bare essentials
An epiphany
If I could strip down the code of the debugger to its
bare essentials, I could automate QA
Minified, impenetrable code
Minified, impenetrable code
• Browsers can’t tell you anything about web requests, not in client-
side Javascript
Minified, impenetrable code
• Browsers can’t tell you anything about web requests, not in client-
side Javascript
• But somehow, this debugger does just that
Minified, impenetrable code
• Browsers can’t tell you anything about web requests, not in client-
side Javascript
• But somehow, this debugger does just that
• The analytics library exposes a variable containing an <img> element
with src attribute and that’s the whole tracking request URL
Minified, impenetrable code
• Browsers can’t tell you anything about web requests, not in client-
side Javascript
• But somehow, this debugger does just that
• The analytics library exposes a variable containing an <img> element
with src attribute and that’s the whole tracking request URL
• I bet the other analytics tools this debugger supports all do
something similar but how could we expand this to more tools?
Fool me
• Trigger artificial click, change and blur events on all page elements
and I can get all the raw tracking requests
Fool me
• Trigger artificial click, change and blur events on all page elements
and I can get all the raw tracking requests
• I could represent the page view and the interactions in JSON format
Fool me
• Trigger artificial click, change and blur events on all page elements
and I can get all the raw tracking requests
• I could represent the page view and the interactions in JSON format
• I could represent our tracking requirements in JSON format too
Fool me
If the developers could generate the first JSON on the
fly and compare it with our tagging guide JSON, they
could catch implementation errors at build time
Fool me
If the developers could generate the first JSON on the
fly and compare it with our tagging guide JSON, they
could catch implementation errors at build time, before
going live
When the tough gets tough…
When the tough gets tough…
• Some links are outbound links
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
• Some events still fall through the cracks
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
• Some events still fall through the cracks
• How am I going to identify which elements are tracked?
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
• Some events still fall through the cracks
• How am I going to identify which elements are tracked?
• How can I make the script run fast enough?
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
• Some events still fall through the cracks
• How am I going to identify which elements are tracked?
• How can I make the script run fast enough?
• THE #@%£ script worked yesterday and today it doesn’t!
When the tough gets tough…
• Some links are outbound links
• I want to trigger the Javascript events, get them to trigger an analytics
tracking request but nothing else
• Some events still fall through the cracks
• How am I going to identify which elements are tracked?
• How can I make the script run fast enough?
• THE #@%£ script worked yesterday and today it doesn’t!
• Why can’t I replace the cursor to a spinner while the script runs?
Could a Chrome extension work?
Could a Chrome extension work?
• A manifest file with all permissions and settings
Could a Chrome extension work?
• A manifest file with all permissions and settings
• A content script that runs on the page you want to process
Could a Chrome extension work?
• A manifest file with all permissions and settings
• A content script that runs on the page you want to process
• A popup script that runs inside your extension popup if your
extension has one
Could a Chrome extension work?
• A manifest file with all permissions and settings
• A content script that runs on the page you want to process
• A popup script that runs inside your extension popup if your
extension has one
• A background script that sits between the content and popup scripts
with some limitations but also extra power
Could a Chrome extension work?
• A manifest file with all permissions and settings
• A content script that runs on the page you want to process
• A popup script that runs inside your extension popup if your
extension has one
• A background script that sits between the content and popup scripts
with some limitations but also extra power
• A messaging system to pass information between all three scripts
Could a Chrome extension work?
• A manifest file with all permissions and settings
• A content script that runs on the page you want to process
• A popup script that runs inside your extension popup if your
extension has one
• A background script that sits between the content and popup scripts
with some limitations but also extra power
• A messaging system to pass information between all three scripts
• A limited-capacity but useful common data storage to remember
custom settings
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
• This lets you cancel your test traffic and keep your server calls low or
let the requests reach your analytics servers and see the hit in a test
account or redirect them to somewhere else
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
• This lets you cancel your test traffic and keep your server calls low or
let the requests reach your analytics servers and see the hit in a test
account or redirect them to somewhere else – how flexible!
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
• This lets you cancel your test traffic and keep your server calls low or
let the requests reach your analytics servers and see the hit in a test
account or redirect them to somewhere else – how flexible!
• This lets you do screenshots – only what’s visible in the window but
some extensions can generate full page screenshots
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
• This lets you cancel your test traffic and keep your server calls low or
let the requests reach your analytics servers and see the hit in a test
account or redirect them to somewhere else – how flexible!
• This lets you do screenshots – only what’s visible in the window but
some extensions can generate full page screenshots – how useful!
Chrome extensions powers
• The background script can report and manage all web requests before
and after, any analytics tool that make web requests – oh yeah!
• This lets you cancel your test traffic and keep your server calls low or
let the requests reach your analytics servers and see the hit in a test
account or redirect them to somewhere else – how flexible!
• This lets you do screenshots – only what’s visible in the window but
some extensions can generate full page screenshots – how useful!
• You could actually package this into a commercial product
Useful Javascript libraries for us
Useful Javascript libraries for us
• jQuery – although you won’t care about cross-browser support, it will
make your code leaner and easier to maintain and add new features
Useful Javascript libraries for us
• jQuery – although you won’t care about cross-browser support, it will
make your code leaner and easier to maintain and add new features
• Bootstrap – makes interfaces look very slick
Useful Javascript libraries for us
• jQuery – although you won’t care about cross-browser support, it will
make your code leaner and easier to maintain and add new features
• Bootstrap – makes interfaces look very slick
• DataTables – a jQuery module that lets you convert Javascript arrays
and JSONs into sortable, searchable, paginated tables – perfect to
represent our decoded page view and interaction tracking requests
Useful Javascript libraries for us
• jQuery – although you won’t care about cross-browser support, it will
make your code leaner and easier to maintain and add new features
• Bootstrap – makes interfaces look very slick
• DataTables – a jQuery module that lets you convert Javascript arrays
and JSONs into sortable, searchable, paginated tables – perfect to
represent our decoded page view and interaction tracking requests
• jsPDF – a library that will generate a PDF from a HTML document.
Imagine generating a snazzy PDF report with your full page
screenshot showing which elements are tracked and a page number
reference for all the details about what each element tracks
Demo, anyone?
Thank you!
http://www.albangerome.com
@albangerome
Thank you!

More Related Content

What's hot

Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
Bastian Grimm
 
Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...
Bastian Grimm
 
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick StoxPubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
patrickstox
 
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Bastian Grimm
 
SEO Checklist for Google Mobile First Index
SEO Checklist for Google Mobile First IndexSEO Checklist for Google Mobile First Index
SEO Checklist for Google Mobile First Index
Erudite
 
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEOUse Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
Gerry White
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
Bastian Grimm
 
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
Branded3
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
Bastian Grimm
 
Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018
Bastian Grimm
 
AMP - SMX München 2018
AMP - SMX München 2018AMP - SMX München 2018
AMP - SMX München 2018
Bastian Grimm
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018
Bastian Grimm
 
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WESTDynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Onely
 
SEO for Large Websites
SEO for Large WebsitesSEO for Large Websites
SEO for Large Websites
Dominic Woodman
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
Bastian Grimm
 
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 DublinWhats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Bastian Grimm
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
Hamlet Batista
 
Mobile First et AMP - Developers Meetup - May 2017
Mobile First et AMP - Developers Meetup - May 2017Mobile First et AMP - Developers Meetup - May 2017
Mobile First et AMP - Developers Meetup - May 2017
Jahia Solutions Group
 
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
We Are Marketing
 
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Izabela Wisniewska
 

What's hot (20)

Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
 
Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...
 
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick StoxPubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
 
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
 
SEO Checklist for Google Mobile First Index
SEO Checklist for Google Mobile First IndexSEO Checklist for Google Mobile First Index
SEO Checklist for Google Mobile First Index
 
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEOUse Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
Use Google Docs to monitor SEO by pulling in Google Analytics #BrightonSEO
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
 
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
 
Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018
 
AMP - SMX München 2018
AMP - SMX München 2018AMP - SMX München 2018
AMP - SMX München 2018
 
Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018Migration Best Practices - SMX London 2018
Migration Best Practices - SMX London 2018
 
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WESTDynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
 
SEO for Large Websites
SEO for Large WebsitesSEO for Large Websites
SEO for Large Websites
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
 
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 DublinWhats Next in SEO & CRO - 3XE Conference 2018 Dublin
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
 
Mobile First et AMP - Developers Meetup - May 2017
Mobile First et AMP - Developers Meetup - May 2017Mobile First et AMP - Developers Meetup - May 2017
Mobile First et AMP - Developers Meetup - May 2017
 
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
Nine Things we're Checking for a Mobile First Index by Nichola Stott in The I...
 
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
 

Similar to Build your own analytics power tools

Easier and faster tagging with Kermit
Easier and faster tagging with KermitEasier and faster tagging with Kermit
Easier and faster tagging with Kermit
Alban Gérôme
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
John McCaffrey
 
A web app in pure Clojure
A web app in pure ClojureA web app in pure Clojure
A web app in pure Clojure
Dane Schneider
 
Technical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdfTechnical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdf
Bluebash
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
Josh Jeffryes
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
Taylor Lovett
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginning
Peter McLachlan
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
Tony Tam
 
DCI - Free Seo Tools
DCI - Free Seo ToolsDCI - Free Seo Tools
How to do a SEO Site Audit
How to do a SEO Site AuditHow to do a SEO Site Audit
How to do a SEO Site Audit
Kathy Alice Brown
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGIMatthew Wilkes
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
Yochay Kiriaty
 
Search Engine Optimization (Seo) for Developers
Search Engine Optimization (Seo) for DevelopersSearch Engine Optimization (Seo) for Developers
Search Engine Optimization (Seo) for Developers
Matthew Robinson
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
Craig Ulliott
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal project
Symetris
 
Creating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with ReactCreating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with React
Jp DeVries
 

Similar to Build your own analytics power tools (20)

Easier and faster tagging with Kermit
Easier and faster tagging with KermitEasier and faster tagging with Kermit
Easier and faster tagging with Kermit
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
NullMQ @ PDX
NullMQ @ PDXNullMQ @ PDX
NullMQ @ PDX
 
A web app in pure Clojure
A web app in pure ClojureA web app in pure Clojure
A web app in pure Clojure
 
Technical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdfTechnical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdf
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginning
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterprise
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
DCI - Free Seo Tools
DCI - Free Seo ToolsDCI - Free Seo Tools
DCI - Free Seo Tools
 
How to do a SEO Site Audit
How to do a SEO Site AuditHow to do a SEO Site Audit
How to do a SEO Site Audit
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGI
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Search Engine Optimization (Seo) for Developers
Search Engine Optimization (Seo) for DevelopersSearch Engine Optimization (Seo) for Developers
Search Engine Optimization (Seo) for Developers
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal project
 
Creating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with ReactCreating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with React
 

More from Alban Gérôme

Avoir de l’impact, autrement
Avoir de l’impact, autrementAvoir de l’impact, autrement
Avoir de l’impact, autrement
Alban Gérôme
 
Earning more as a Digital or Web Analyst
Earning more as a Digital or Web AnalystEarning more as a Digital or Web Analyst
Earning more as a Digital or Web Analyst
Alban Gérôme
 
Is it just me, or the C-suite doesn't care about data?
Is it just me, or the C-suite doesn't care about data?Is it just me, or the C-suite doesn't care about data?
Is it just me, or the C-suite doesn't care about data?
Alban Gérôme
 
Cracking trading cards packs and web analytics
Cracking trading cards packs and web analyticsCracking trading cards packs and web analytics
Cracking trading cards packs and web analytics
Alban Gérôme
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QA
Alban Gérôme
 
The us vs the uk web analytics job slideshare
The us vs the uk web analytics job slideshareThe us vs the uk web analytics job slideshare
The us vs the uk web analytics job slideshare
Alban Gérôme
 
Implementing Web Analytics on Single Page Applications
Implementing Web Analytics on Single Page ApplicationsImplementing Web Analytics on Single Page Applications
Implementing Web Analytics on Single Page Applications
Alban Gérôme
 
Tagging differently
Tagging differentlyTagging differently
Tagging differently
Alban Gérôme
 
Automating boring tasks with Powershell
Automating boring tasks with PowershellAutomating boring tasks with Powershell
Automating boring tasks with Powershell
Alban Gérôme
 
Influence and Persuasion
Influence and PersuasionInfluence and Persuasion
Influence and Persuasion
Alban Gérôme
 
Reshaping the Hype Cycle
Reshaping the Hype CycleReshaping the Hype Cycle
Reshaping the Hype Cycle
Alban Gérôme
 
Claiming credit for being data-driven
Claiming credit for being data-drivenClaiming credit for being data-driven
Claiming credit for being data-driven
Alban Gérôme
 
Acceptance, Accessible, Applicable et Auditable
Acceptance, Accessible, Applicable et AuditableAcceptance, Accessible, Applicable et Auditable
Acceptance, Accessible, Applicable et Auditable
Alban Gérôme
 
Acceptance, Accessible, Actionable and Auditable
Acceptance, Accessible, Actionable and AuditableAcceptance, Accessible, Actionable and Auditable
Acceptance, Accessible, Actionable and Auditable
Alban Gérôme
 
Logic or emotions
Logic or emotionsLogic or emotions
Logic or emotions
Alban Gérôme
 
Hub and spoke model
Hub and spoke modelHub and spoke model
Hub and spoke model
Alban Gérôme
 
Are you still working for a data justified company?
Are you still working for a data justified company?Are you still working for a data justified company?
Are you still working for a data justified company?
Alban Gérôme
 
Persuasion
PersuasionPersuasion
Persuasion
Alban Gérôme
 
Is data visualisation bullshit?
Is data visualisation bullshit?Is data visualisation bullshit?
Is data visualisation bullshit?
Alban Gérôme
 
Acceptance, accessible, actionable and auditable
Acceptance, accessible, actionable and auditableAcceptance, accessible, actionable and auditable
Acceptance, accessible, actionable and auditable
Alban Gérôme
 

More from Alban Gérôme (20)

Avoir de l’impact, autrement
Avoir de l’impact, autrementAvoir de l’impact, autrement
Avoir de l’impact, autrement
 
Earning more as a Digital or Web Analyst
Earning more as a Digital or Web AnalystEarning more as a Digital or Web Analyst
Earning more as a Digital or Web Analyst
 
Is it just me, or the C-suite doesn't care about data?
Is it just me, or the C-suite doesn't care about data?Is it just me, or the C-suite doesn't care about data?
Is it just me, or the C-suite doesn't care about data?
 
Cracking trading cards packs and web analytics
Cracking trading cards packs and web analyticsCracking trading cards packs and web analytics
Cracking trading cards packs and web analytics
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QA
 
The us vs the uk web analytics job slideshare
The us vs the uk web analytics job slideshareThe us vs the uk web analytics job slideshare
The us vs the uk web analytics job slideshare
 
Implementing Web Analytics on Single Page Applications
Implementing Web Analytics on Single Page ApplicationsImplementing Web Analytics on Single Page Applications
Implementing Web Analytics on Single Page Applications
 
Tagging differently
Tagging differentlyTagging differently
Tagging differently
 
Automating boring tasks with Powershell
Automating boring tasks with PowershellAutomating boring tasks with Powershell
Automating boring tasks with Powershell
 
Influence and Persuasion
Influence and PersuasionInfluence and Persuasion
Influence and Persuasion
 
Reshaping the Hype Cycle
Reshaping the Hype CycleReshaping the Hype Cycle
Reshaping the Hype Cycle
 
Claiming credit for being data-driven
Claiming credit for being data-drivenClaiming credit for being data-driven
Claiming credit for being data-driven
 
Acceptance, Accessible, Applicable et Auditable
Acceptance, Accessible, Applicable et AuditableAcceptance, Accessible, Applicable et Auditable
Acceptance, Accessible, Applicable et Auditable
 
Acceptance, Accessible, Actionable and Auditable
Acceptance, Accessible, Actionable and AuditableAcceptance, Accessible, Actionable and Auditable
Acceptance, Accessible, Actionable and Auditable
 
Logic or emotions
Logic or emotionsLogic or emotions
Logic or emotions
 
Hub and spoke model
Hub and spoke modelHub and spoke model
Hub and spoke model
 
Are you still working for a data justified company?
Are you still working for a data justified company?Are you still working for a data justified company?
Are you still working for a data justified company?
 
Persuasion
PersuasionPersuasion
Persuasion
 
Is data visualisation bullshit?
Is data visualisation bullshit?Is data visualisation bullshit?
Is data visualisation bullshit?
 
Acceptance, accessible, actionable and auditable
Acceptance, accessible, actionable and auditableAcceptance, accessible, actionable and auditable
Acceptance, accessible, actionable and auditable
 

Recently uploaded

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 

Recently uploaded (20)

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 

Build your own analytics power tools

  • 1. Build your own analytics power tools like an artisan Alban Gérôme @albangerome MeasureCamp London XII 24 March 2018
  • 2.
  • 4. An epiphany If I could strip down the code of the debugger to its bare essentials
  • 5. An epiphany If I could strip down the code of the debugger to its bare essentials, I could automate QA
  • 6.
  • 8. Minified, impenetrable code • Browsers can’t tell you anything about web requests, not in client- side Javascript
  • 9. Minified, impenetrable code • Browsers can’t tell you anything about web requests, not in client- side Javascript • But somehow, this debugger does just that
  • 10. Minified, impenetrable code • Browsers can’t tell you anything about web requests, not in client- side Javascript • But somehow, this debugger does just that • The analytics library exposes a variable containing an <img> element with src attribute and that’s the whole tracking request URL
  • 11. Minified, impenetrable code • Browsers can’t tell you anything about web requests, not in client- side Javascript • But somehow, this debugger does just that • The analytics library exposes a variable containing an <img> element with src attribute and that’s the whole tracking request URL • I bet the other analytics tools this debugger supports all do something similar but how could we expand this to more tools?
  • 12.
  • 13. Fool me • Trigger artificial click, change and blur events on all page elements and I can get all the raw tracking requests
  • 14. Fool me • Trigger artificial click, change and blur events on all page elements and I can get all the raw tracking requests • I could represent the page view and the interactions in JSON format
  • 15. Fool me • Trigger artificial click, change and blur events on all page elements and I can get all the raw tracking requests • I could represent the page view and the interactions in JSON format • I could represent our tracking requirements in JSON format too
  • 16. Fool me If the developers could generate the first JSON on the fly and compare it with our tagging guide JSON, they could catch implementation errors at build time
  • 17. Fool me If the developers could generate the first JSON on the fly and compare it with our tagging guide JSON, they could catch implementation errors at build time, before going live
  • 18.
  • 19. When the tough gets tough…
  • 20. When the tough gets tough… • Some links are outbound links
  • 21. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else
  • 22. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else • Some events still fall through the cracks
  • 23. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else • Some events still fall through the cracks • How am I going to identify which elements are tracked?
  • 24. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else • Some events still fall through the cracks • How am I going to identify which elements are tracked? • How can I make the script run fast enough?
  • 25. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else • Some events still fall through the cracks • How am I going to identify which elements are tracked? • How can I make the script run fast enough? • THE #@%£ script worked yesterday and today it doesn’t!
  • 26. When the tough gets tough… • Some links are outbound links • I want to trigger the Javascript events, get them to trigger an analytics tracking request but nothing else • Some events still fall through the cracks • How am I going to identify which elements are tracked? • How can I make the script run fast enough? • THE #@%£ script worked yesterday and today it doesn’t! • Why can’t I replace the cursor to a spinner while the script runs?
  • 27.
  • 28. Could a Chrome extension work?
  • 29. Could a Chrome extension work? • A manifest file with all permissions and settings
  • 30. Could a Chrome extension work? • A manifest file with all permissions and settings • A content script that runs on the page you want to process
  • 31. Could a Chrome extension work? • A manifest file with all permissions and settings • A content script that runs on the page you want to process • A popup script that runs inside your extension popup if your extension has one
  • 32. Could a Chrome extension work? • A manifest file with all permissions and settings • A content script that runs on the page you want to process • A popup script that runs inside your extension popup if your extension has one • A background script that sits between the content and popup scripts with some limitations but also extra power
  • 33. Could a Chrome extension work? • A manifest file with all permissions and settings • A content script that runs on the page you want to process • A popup script that runs inside your extension popup if your extension has one • A background script that sits between the content and popup scripts with some limitations but also extra power • A messaging system to pass information between all three scripts
  • 34. Could a Chrome extension work? • A manifest file with all permissions and settings • A content script that runs on the page you want to process • A popup script that runs inside your extension popup if your extension has one • A background script that sits between the content and popup scripts with some limitations but also extra power • A messaging system to pass information between all three scripts • A limited-capacity but useful common data storage to remember custom settings
  • 35.
  • 36. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests
  • 37. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah!
  • 38. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah! • This lets you cancel your test traffic and keep your server calls low or let the requests reach your analytics servers and see the hit in a test account or redirect them to somewhere else
  • 39. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah! • This lets you cancel your test traffic and keep your server calls low or let the requests reach your analytics servers and see the hit in a test account or redirect them to somewhere else – how flexible!
  • 40. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah! • This lets you cancel your test traffic and keep your server calls low or let the requests reach your analytics servers and see the hit in a test account or redirect them to somewhere else – how flexible! • This lets you do screenshots – only what’s visible in the window but some extensions can generate full page screenshots
  • 41. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah! • This lets you cancel your test traffic and keep your server calls low or let the requests reach your analytics servers and see the hit in a test account or redirect them to somewhere else – how flexible! • This lets you do screenshots – only what’s visible in the window but some extensions can generate full page screenshots – how useful!
  • 42. Chrome extensions powers • The background script can report and manage all web requests before and after, any analytics tool that make web requests – oh yeah! • This lets you cancel your test traffic and keep your server calls low or let the requests reach your analytics servers and see the hit in a test account or redirect them to somewhere else – how flexible! • This lets you do screenshots – only what’s visible in the window but some extensions can generate full page screenshots – how useful! • You could actually package this into a commercial product
  • 43.
  • 45. Useful Javascript libraries for us • jQuery – although you won’t care about cross-browser support, it will make your code leaner and easier to maintain and add new features
  • 46. Useful Javascript libraries for us • jQuery – although you won’t care about cross-browser support, it will make your code leaner and easier to maintain and add new features • Bootstrap – makes interfaces look very slick
  • 47. Useful Javascript libraries for us • jQuery – although you won’t care about cross-browser support, it will make your code leaner and easier to maintain and add new features • Bootstrap – makes interfaces look very slick • DataTables – a jQuery module that lets you convert Javascript arrays and JSONs into sortable, searchable, paginated tables – perfect to represent our decoded page view and interaction tracking requests
  • 48. Useful Javascript libraries for us • jQuery – although you won’t care about cross-browser support, it will make your code leaner and easier to maintain and add new features • Bootstrap – makes interfaces look very slick • DataTables – a jQuery module that lets you convert Javascript arrays and JSONs into sortable, searchable, paginated tables – perfect to represent our decoded page view and interaction tracking requests • jsPDF – a library that will generate a PDF from a HTML document. Imagine generating a snazzy PDF report with your full page screenshot showing which elements are tracked and a page number reference for all the details about what each element tracks
  • 49.