Transcript
Page 1: Optimizing site performance - Agility2013

Enterprise Tag Management

Josh Goodwin, CTO

Optimizing Site Performance

Page 2: Optimizing site performance - Agility2013

#agility2013

Introduction

Performance matters!

– You all know the data, faster website = better user experience = higher conversion rates.

Page 3: Optimizing site performance - Agility2013

#agility2013

Introduction --- agenda

Explaining “Performance” – Different metrics for performance

– Total page-load time

– Page render time

– Above the fold time

– Measurement methodology

– Gomez/Keynote/etc

– Webpagetest.org

– Understanding the underlying technology & processes

– What most affects page performance?

How does tag management help? – Ability to make informed trade-offs

– Asynchronous as much as possible

– Standardized deployment chain

Page 4: Optimizing site performance - Agility2013

#agility2013

Explaining Performance - Metrics

Page 5: Optimizing site performance - Agility2013

#agility2013

Explaining Performance - Metrics

Time to interactivity

– This is the time between starting a page load, and the actual user’s ability to interact with your website.

– This methodology was coined by Zakas from Yahoo!

– http://www.youtube.com/watch?v=2ERgBl6LKb8&#t=95s

Above the fold time

– This is the time it takes for the content 'above the fold' to become interactive.

– Majority of users don’t care about the content that is being loaded at the bottom of the page, they care about what is visible. And when the page is loading, their focus is the immediate screen visible to them, which is the “top of the page” aka “above the fold”.

Perceived load time:

– The amount of time an average user would measure as the load time

– An older, more generic version of the two aforementioned measurements:

– http://www.neustar.biz/blog/webmetrics-performance/actual-load-time-versus-perceived-load-time-and-the-support-of-service-level-agreements/

Page 6: Optimizing site performance - Agility2013

#agility2013

Explaining Performance - Metrics

Classical Metrics – Time to first byte – Time to last byte – Total requests – Total DOM nodes

Page 7: Optimizing site performance - Agility2013

#agility2013

Explaining Performance - Methodology

Know your goals:

– Is it to do better on Keynote vertical rankings?

– Worried about Google Page Rank?

– Purely user experience?

Know your limitations:

– Internet is almost totally out of your control

– Test everything, but stress over what you can act on

– Sample, sample, sample

– Investigate what sampling reveals, and take action!

Know your tools:

– Sampling: webpagetest.org

– Investigating: Gomez & Keynote

Page 8: Optimizing site performance - Agility2013

#agility2013

Explaining Performance - Methodology

Tips & concerns for sampling:

– Test each major browser / know your audience

– Test frequently, but focus on the pages / flows that count

– Have a way to test your testing tool

– Individual samples should never be more than concerning!

– WebPageTest.org: free, open-source, excellent

Tips & concerns for investigating:

– More expensive means more focus on specific pages / flows

– Test with more “volume” per page / flow. Establish trends.

– Be ready to initiate single page or scripted tests quickly

– Keynote, Gomez, Selenium (see: saucelabs)

Page 9: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details

Page 10: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details

Two-stroke engine: Network Traffic & Rendering

Network Traffic

– Browsers have to ask for everything they get

– Starts with the raw HTML, but continues through images, css, video, etc.

Rendering

– Browsers are getting better and better at drawing pages faster

– There are a few key blockers for rendering

Page 11: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details – Network Traffic

Network Traffic covers a lot of steps

– DNS lookups

– Connection building / tearing down

– SSL negotiation

Subject to hard and fast rules

– Overall connection limits

– Per-domain connection limits

Somewhat out of your control

– This is where uncertainty lives!

– Routes to content change frequently

– You can control concurrency to some extent

Page 12: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details – Network Traffic

Page 13: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details – Rendering

Rendering is: the process by which the browser draws content described by HTML to the screen

How content is rendered is where we can have big immediate impact

Rendering is really easy, and as computers get faster so does render time

If rendering is easy, then why are we talking about it?

Page 14: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details – Rendering

Page 15: Optimizing site performance - Agility2013

#agility2013

Underlying Technical Details – Rendering

When do the network traffic cycles and rendering cycles bump heads?

– Anytime what’s being rendered can mess with the HTML below it.

– Script tags (embedded code) with document.write

– Ad tags

– Optimization tags

– Script tags with the code in a JS file

– Almost all non-basic conversion pixel tags

– Link / Object tags

– CSS, and some multimedia tags

– This only applies to stuff embedded in your HTML!

Page 16: Optimizing site performance - Agility2013

#agility2013

General Tips for Performance Optimization

Quantify your performance issues

– Use analytics to relate site performance to conversion rates

– This is all about trade-offs, know how much your tags & analytics cost

Test & Optimize back-end systems separately from network traffic and rendering

– Testing with a single variable is hard enough

– Let IT focus on making the application faster

– Don’t let network or application performance color rendering decisions and vice versa

Use Ensighten to make your decisions actionable

Page 17: Optimizing site performance - Agility2013

#agility2013

How Can Ensighten Help?

Centralizing third party content – benefits:

– A consistent build-chain that guarantees standards like: minification and gzipping

– Forces you to go asynchronous with everything by default

– Makes you acknowledge when you’re doing something blocking / synchronous

Centralizing deployment methodology:

– What is tag performance?

– Codify best practices, and enforce adoption

Deploy tags when you know the value is greater than the potential performance cost based on data

Features coming soon…

Page 18: Optimizing site performance - Agility2013

Enterprise Tag Management

Thank You!


Recommended