Home

Awesome

Third Party Web

Check out the shiny new web UI https://www.thirdpartyweb.today/

Data on third party entities and their impact on the web.

This document is a summary of which third party scripts are most responsible for excessive JavaScript execution on the web today.

Table of Contents

  1. Goals
  2. Methodology
  3. npm Module
  4. Updates
  5. Data
    1. Summary
    2. How to Interpret
    3. Third Parties by Category
      1. Advertising
      2. Analytics
      3. Social
      4. Video
      5. Developer Utilities
      6. Hosting Platforms
      7. Marketing
      8. Customer Success
      9. Content & Publishing
      10. CDNs
      11. Tag Management
      12. Consent Management Provider
      13. Mixed / Other
    4. Third Parties by Total Impact
  6. Future Work
  7. FAQs
  8. Contributing

Goals

  1. Quantify the impact of third party scripts on the web.
  2. Identify the third party scripts on the web that have the greatest performance cost.
  3. Give developers the information they need to make informed decisions about which third parties to include on their sites.
  4. Incentivize responsible third party script behavior.
  5. Make this information accessible and useful.

Methodology

HTTP Archive is an initiative that tracks how the web is built. Every month, ~4 million sites are crawled with Lighthouse on mobile. Lighthouse breaks down the total script execution time of each page and attributes the execution to a URL. Using BigQuery, this project aggregates the script execution to the origin-level and assigns each origin to the responsible entity.

npm Module

The entity classification data is available as an npm module.

const {getEntity} = require('third-party-web')
const entity = getEntity('https://d36mpcpuzc4ztk.cloudfront.net/js/visitor.js')
console.log(entity)
//   {
//     "name": "Freshdesk",
//     "homepage": "https://freshdesk.com/",
//     "category": "customer-success",
//     "domains": ["d36mpcpuzc4ztk.cloudfront.net"]
//   }

Updates

2024-07-01 dataset

Some third parties use a dynamic subdomain to serve its main script on websites (e.g .domain.com). Some of these subdomain scripts are saved under observed-domains JSON file as results of the sql/all-observed-domains-query.sql query but analyzing http archive database we found a lot that are ignored because of number of occurrences (less than 50 ).

So, we've created a new query to keep observed domains with occurrence below 50 only if its mapped entity (based on entity.js) has a total occurrence (of all its declared domain) greater than 50.

2021-01-01 dataset

Due to a change in HTTPArchive measurement which temporarily disabled site-isolation (out-of-process iframes), all of the third-parties whose work previously took place off the main-thread are now counted on the main thread (and thus appear in our stats). This is most evident in the change to Google-owned properties such as YouTube and Doubleclick whose complete cost are now captured.

2019-05-13 dataset

A shortcoming of the attribution approach has been fixed. Total usage is now reported based on the number of pages in the dataset that use the third-party, not the number of scripts. Correspondingly, all average impact times are now reported per page rather than per script. Previously, a third party could appear to have a lower impact or be more popular simply by splitting their work across multiple files.

Third-parties that performed most of their work from a single script should see little to no impact from this change, but some entities have seen significant ranking movement. Hosting providers that host entire pages are, understandably, the most affected.

Some notable changes below:

Third-PartyPreviously (per-script)Now (per-page)
Beeketing137 ms465 ms
Sumo263 ms798 ms
Tumblr324 ms1499 ms
Yandex APIs393 ms1231 ms
Google Ads402 ms1285 ms
Wix972 ms5393 ms

2019-05-06 dataset

Google Ads clarified that www.googletagservices.com serves more ad scripts than generic tag management, and it has been reclassified accordingly. This has dropped the overall Tag Management share considerably back down to its earlier position.

2019-03-01 dataset

Almost 2,000 entities tracked now across ~3,000+ domains! Huge props to @simonhearne for making this massive increase possible. Tag Managers have now been split out into their own category since they represented such a large percentage of the "Mixed / Other" category.

2019-02-01 dataset

Huge props to WordAds for reducing their impact from ~2.5s to ~200ms on average! A few entities are showing considerably less data this cycle (Media Math, Crazy Egg, DoubleVerify, Bootstrap CDN). Perhaps they've added new CDNs/hostnames that we haven't identified or the basket of sites in HTTPArchive has shifted away from their usage.

Data

Summary

Across top ~4 million sites, ~2700 origins account for ~57% of all script execution time with the top 50 entities already accounting for ~47%. Third party script execution is the majority chunk of the web today, and it's important to make informed choices.

How to Interpret

Each entity has a number of data points available.

  1. Usage (Total Number of Occurrences) - how many scripts from their origins were included on pages
  2. Total Impact (Total Execution Time) - how many seconds were spent executing their scripts across the web
  3. Average Impact (Average Execution Time) - on average, how many milliseconds were spent executing each script
  4. Category - what type of script is this

<a name="by-category"></a>

Third Parties by Category

This section breaks down third parties by category. The third parties in each category are ranked from first to last based on the average impact of their scripts. Perhaps the most important comparisons lie here. You always need to pick an analytics provider, but at least you can pick the most well-behaved analytics provider.

Overall Breakdown

Unsurprisingly, ads account for the largest identifiable chunk of third party script execution.

breakdown by category

<a name="ad"></a>

Advertising

These scripts are part of advertising networks, either serving or measuring.

RankNameUsageAverage Impact
1Unruly Media5,1650 ms
2Nativo23,2650 ms
3Bidswitch64,3730 ms
4AdGear40,5921 ms
5MaxPoint Interactive7,9601 ms
6Tribal Fusion104,2761 ms
7Crimtan52,0161 ms
8iPROM49,1592 ms
9adKernel8,9092 ms
10TripleLift3,8952 ms
11Beeswax6,0502 ms
1233 Across130,98215 ms
13Adform76,15123 ms
14AppNexus150,30323 ms
15GumGum113,19025 ms
16Constant Contact17,52433 ms
17Adyoulike3,78533 ms
18LoopMe34,64840 ms
19Sonobi48,47950 ms
20Branch Metrics7,59959 ms
21Simpli.fi9,64063 ms
22MailMunch16,34665 ms
23The Trade Desk14,42368 ms
24RTB House AdPilot4,59371 ms
25OpenX66,68977 ms
26Twitter Online Conversion Tracking68,20777 ms
27BlueCava4,64580 ms
28ActiveCampaign17,07781 ms
29StackAdapt13,48582 ms
30Scorecard Research45,13783 ms
31DTSCOUT5,84883 ms
32Affiliate Window4,65290 ms
33LinkedIn Ads182,56691 ms
34Rocket Fuel2,82394 ms
35sovrn21,718111 ms
36Yahoo!20,784113 ms
37Criteo153,536118 ms
38Rakuten Marketing3,182123 ms
39Impact Radius4,026124 ms
40AudienceSearch43,349132 ms
41Index Exchange30,989133 ms
42Quora Ads9,943140 ms
43LINE Corporation24,223143 ms
44Crowd Control83,913146 ms
45Gemius15,845149 ms
46STINGRAY6,811152 ms
47Intercept Interactive18,073154 ms
48Boomtrain2,222155 ms
49ucfunnel ucX8,506161 ms
50Simplicity Marketing2,609162 ms
51Bing Ads47,579165 ms
52IPONWEB24,946165 ms
53AdRiver4,142174 ms
54TVSquared4,930181 ms
55Technorati22,687188 ms
56Smart AdServer99,408199 ms
57Tynt150,037203 ms
58InMobi94,109207 ms
59Microad6,816225 ms
60Outbrain11,336231 ms
61Media.net84,083233 ms
62i-mobile4,863236 ms
63Salesforce.com5,141244 ms
64ID5 Identity Cloud61,561247 ms
65TrafficStars7,538260 ms
66Unbounce9,031286 ms
67LiveRamp Privacy Manager18,102300 ms
68Teads6,162301 ms
69Amazon Ads173,879303 ms
70Adroll29,368308 ms
71fluct13,776317 ms
72Skimbit79,082326 ms
73Supership17,742373 ms
74Yandex Ads8,434461 ms
75Attentive8,692497 ms
76Cxense3,742515 ms
77Yahoo! JAPAN Ads52,852551 ms
78VigLink6,441563 ms
79OptiMonk10,175594 ms
80Klaviyo141,506595 ms
81Privy18,266608 ms
82WordAds91,869629 ms
83Integral Ad Science15,170671 ms
84AdScore4,391763 ms
85Taboola48,303768 ms
86LoyaltyLion3,994778 ms
87LongTail Ad Solutions5,663801 ms
88Moat3,508883 ms
89Rubicon Project207,350925 ms
90Geniee15,664960 ms
91DoubleVerify3,6471122 ms
92Sizmek5,2931433 ms
93Pubmatic214,2221545 ms
94Ad Lightning3,8651608 ms
95Infolinks6,0731617 ms
96Seedtag2,4331805 ms
97MGID8,7962016 ms
98Yahoo! Ad Exchange5,0242855 ms
99Google/Doubleclick Ads1,148,5252897 ms
100Mediavine10,8383682 ms

<a name="analytics"></a>

Analytics

These scripts measure or track users and their actions. There's a wide range in impact here depending on what's being tracked.

RankNameUsageAverage Impact
1Mouseflow4,80747 ms
2WordPress Site Stats56,46255 ms
3SpeedCurve RUM3,78361 ms
4Roxr Software10,34763 ms
5Movable Ink4,69978 ms
6Sailthru1,25982 ms
7Smartlook14,85889 ms
8Woopra1,22295 ms
9LiveRamp IdentityLink1,55796 ms
10Treasure Data13,19297 ms
11mPulse30,60898 ms
12XiTi5,761100 ms
13StatCounter48,566101 ms
14Exponea1,288104 ms
15Conversant47,288108 ms
16Google Analytics4,258,452108 ms
17Brandmetrics18,600112 ms
18Polldaddy2,024113 ms
19CleverTap1,227124 ms
20Stamped.io11,912132 ms
21Snowplow60,072138 ms
22Google Optimize40,491152 ms
23Mixpanel17,973157 ms
24Quantcast62,298162 ms
25Braze1,878162 ms
26Marchex6,120164 ms
27Usabilla1,331165 ms
28Reviews.co.uk1,888170 ms
29Smart Insight Tracking1,749180 ms
30Matomo13,769193 ms
31Amplitude Mobile Analytics35,143197 ms
32Chartbeat6,305198 ms
33Parse.ly6,077216 ms
34Clearbit4,050216 ms
35Baidu Analytics33,662222 ms
36Trust Pilot43,901234 ms
37CallRail28,748235 ms
38UpSellit2,967239 ms
39CallTrackingMetrics7,729242 ms
40etracker5,541265 ms
41PageSense5,634277 ms
42Nielsen NetRatings SiteCensus16,364336 ms
43Survicate3,250350 ms
44Pendo12,447354 ms
45Reviews.io4,135356 ms
46Segment26,540365 ms
47Evergage2,654372 ms
48Heap13,259380 ms
49Okta3,300381 ms
50Marketo1,802388 ms
51Bazaarvoice3,173420 ms
52Net Reviews2,645435 ms
53AB Tasty3,198461 ms
54BowNow2,318490 ms
55Evidon2,296517 ms
56Convert Insights4,048519 ms
57Crazy Egg19,740520 ms
58Feefo.com1,961591 ms
59Appcues2,378592 ms
60VWO7,604620 ms
61Nosto1,141634 ms
62Hotjar321,477638 ms
63FullStory13,065679 ms
64Qualtrics6,872680 ms
65PowerReviews1,475777 ms
66Clerk.io ApS1,924792 ms
67Optimizely13,015796 ms
68Lucky Orange13,287823 ms
69TrackJS1,973846 ms
70ContentSquare2,628891 ms
71Kameleoon2,187913 ms
72Insider1,856971 ms
73Revolver Maps2,0061035 ms
74Dynatrace3,3891096 ms
75Gigya2,0121231 ms
76Quantum Metric1,1491275 ms
77Inspectlet5,1421357 ms
78Yandex Metrica576,6591805 ms

<a name="social"></a>

Social

These scripts enable social features.

RankNameUsageAverage Impact
1Shareaholic1,18191 ms
2Pinterest126,785121 ms
3AddToAny63,826143 ms
4reddit16,175213 ms
5LinkedIn16,463287 ms
6ShareThis86,550328 ms
7Facebook3,103,706380 ms
8TikTok220,242448 ms
9Kakao64,115628 ms
10PIXNET14,881819 ms
11Instagram17,1601278 ms
12SocialShopWave4,0001463 ms
13Disqus1,7702008 ms
14Twitter319,5652211 ms
15Tumblr15,9622663 ms
16VK20,7712855 ms
17LiveJournal9,0276134 ms

<a name="video"></a>

Video

These scripts enable video player and streaming functionality.

RankNameUsageAverage Impact
1Brightcove12,8331070 ms
2Vimeo137,3732725 ms
3Wistia26,3173722 ms
4YouTube938,7944858 ms
5Twitch1,44613724 ms

<a name="utility"></a>

Developer Utilities

These scripts are developer utilities (API clients, site monitoring, fraud detection, etc).

RankNameUsageAverage Impact
1Statuspage1,20130 ms
2Raygun2,08884 ms
3Rollbar1,64386 ms
4Pusher1,37892 ms
5Checkout.com1,19698 ms
6iovation2,103107 ms
7Klarna8,565110 ms
8Cloudflare337,521125 ms
9Doofinder11,035129 ms
10CyberSource (Visa)2,058133 ms
11Ipify2,000140 ms
12Afterpay7,759154 ms
13Seznam8,535160 ms
14Amazon Pay6,517163 ms
15Macropod BugHerd2,478166 ms
16Netlify1,298196 ms
17Highcharts3,096205 ms
18LightWidget9,544206 ms
19Riskified1,842216 ms
20Cookie-Script.com46,664221 ms
21Wufoo1,541227 ms
22OneSignal64,794242 ms
23New Relic229,492243 ms
24Google reCAPTCHA31,586278 ms
25Foxentry1,884282 ms
26Cookiebot175,618308 ms
27Swiftype1,057343 ms
28TrustArc6,258343 ms
29Clarity345,295350 ms
30Hexton30,178358 ms
31Trusted Shops16,699366 ms
32Other Google APIs/SDKs2,297,272371 ms
33Bugsnag12,928391 ms
34Bold Commerce11,260430 ms
35Key CDN9,021440 ms
36Klevu Search1,373440 ms
37GitHub14,146442 ms
38GetSiteControl2,966453 ms
39Affirm6,276488 ms
40Yandex APIs43,302583 ms
41iubenda91,122596 ms
42ThreatMetrix2,785604 ms
43Sentry75,160619 ms
44Google Maps1,195,463621 ms
45Mapbox18,896654 ms
46AppDynamics3,374851 ms
47PayPal55,378859 ms
48Forter6,257885 ms
49GoDaddy122,531906 ms
50Vidyard1,049975 ms
51Secomapp1,9951053 ms
52Stripe123,6861108 ms
53WisePops1,9611200 ms
54Luigis Box2,0911208 ms
55Marker1,5761214 ms
56Signyfyd2,4071508 ms
57Fastly9,2741995 ms
58Adyen2,2782053 ms
59Datacamp1,2172422 ms
60Rambler15,9323996 ms
61POWr37,6524562 ms
62Esri ArcGIS3,1536060 ms

<a name="hosting"></a>

Hosting Platforms

These scripts are from web hosting platforms (WordPress, Wix, Squarespace, etc). Note that in this category, this can sometimes be the entirety of script on the page, and so the "impact" rank might be misleading. In the case of WordPress, this just indicates the libraries hosted and served by WordPress not all sites using self-hosted WordPress.

RankNameUsageAverage Impact
1Blogger210,802166 ms
2Dealer1,940332 ms
3Civic6,644342 ms
4Salesforce Commerce Cloud3,891370 ms
5WordPress295,900641 ms
6Global-e1,161723 ms
7Shopify296,099765 ms
8Ecwid5,357861 ms
9Rackspace1,916883 ms
10Tilda67,4541200 ms
11Hatena Blog42,2751949 ms
12Squarespace233,7933571 ms
13WebsiteBuilder.com4,7544230 ms
14Wix441,8494390 ms
15Weebly65,4635720 ms

<a name="marketing"></a>

Marketing

These scripts are from marketing tools that add popups/newsletters/etc.

RankNameUsageAverage Impact
1Albacross1,21265 ms
2DemandBase2,166128 ms
3Convertful1,473144 ms
4RD Station20,906297 ms
5SharpSpring2,021308 ms
6Listrak1,160392 ms
7Mailchimp44,823397 ms
8OptinMonster2,429401 ms
9Sojern4,001475 ms
10Hubspot146,221511 ms
11Wishpond Technologies1,628514 ms
12Yotpo25,832613 ms
13iZooto2,303618 ms
14PureCars1,408671 ms
15KARTE1,732903 ms
16Judge.me26,390943 ms
17Beeketing2,042973 ms
18Wunderkind1,1961282 ms
19Sumo11,2961386 ms
20Bigcommerce19,5802223 ms
21Drift5,5614261 ms
22Tray Commerce13,7784531 ms

<a name="customer-success"></a>

Customer Success

These scripts are from customer support/marketing providers that offer chat and contact solutions. These scripts are generally heavier in weight.

RankNameUsageAverage Impact
1iPerceptions4,572130 ms
2Help Scout4,399135 ms
3LiveTex1,892221 ms
4WebEngage2,158267 ms
5Pure Chat3,097323 ms
6Tawk.to107,991361 ms
7Smartsupp21,142391 ms
8Comm1001,019416 ms
9Jivochat52,339638 ms
10LivePerson2,680665 ms
11Intercom32,3221071 ms
12LiveChat38,2421073 ms
13Tidio Live Chat24,2091159 ms
14Olark6,5711288 ms
15ZenDesk72,6801471 ms
16Dynamic Yield1,7951907 ms
17Freshchat6,8102929 ms

<a name="content"></a>

Content & Publishing

These scripts are from content providers or publishing-specific affiliate tracking.

RankNameUsageAverage Impact
1Spotify10,7207 ms
2OpenTable4,22287 ms
3TripAdvisor2,000134 ms
4Accuweather1,565166 ms
5Tencent7,153286 ms
6Cloudinary2,472522 ms
7Booking.com2,493530 ms
8CPEx1,067603 ms
9Revcontent1,201858 ms
10AMP73,908989 ms
11Embedly10,2221456 ms
12issuu2,6371842 ms
13SoundCloud5,7112408 ms
14Hotmart4,0202865 ms
15Dailymotion5,1369346 ms
16Medium18,17010918 ms

<a name="cdn"></a>

CDNs

These are a mixture of publicly hosted open source libraries (e.g. jQuery) served over different public CDNs and private CDN usage. This category is unique in that the origin may have no responsibility for the performance of what's being served. Note that rank here does not imply one CDN is better than the other. It simply indicates that the scripts being served from that origin are lighter/heavier than the ones served by another.

RankNameUsageAverage Impact
1Google Fonts216,0740 ms
2Bootstrap CDN28,20555 ms
3Monotype3,181204 ms
4FontAwesome CDN306,673215 ms
5Microsoft Hosted Libs19,220219 ms
6Adobe TypeKit98,647345 ms
7Fort Awesome3,838357 ms
8jQuery CDN706,780364 ms
9Akamai9,598396 ms
10Cloudflare CDN612,210486 ms
11JSDelivr CDN345,059620 ms
12Azure Web Services49,287805 ms
13Google CDN3,277,6451068 ms
14CreateJS CDN4,0532868 ms

<a name="tag-manager"></a>

Tag Management

These scripts tend to load lots of other scripts and initiate many tasks.

RankNameUsageAverage Impact
1Adobe Tag Manager167,978193 ms
2TagCommander1,430293 ms
3Ensighten3,070510 ms
4Tealium27,039594 ms
5Google Tag Manager7,750,346697 ms

<a name="consent-provider"></a>

Consent Management Provider

IAB Consent Management Providers are the 'Cookie Consent' popups used by many publishers. They're invoked for every page and sit on the critical path between a page loading and adverts being displayed.

RankNameUsageAverage Impact
1Trustcommander1,647167 ms
2Optanon114,606430 ms
3Google FundingChoices404,501560 ms
4UniConsent CMP1,221627 ms
5Didomi39,040720 ms
6Usercentrics CMP47,221993 ms

<a name="other"></a>

Mixed / Other

These are miscellaneous scripts delivered via a shared origin with no precise category or attribution. Help us out by identifying more origins!

RankNameUsageAverage Impact
1ReadSpeaker5,694103 ms
2ResponsiveVoice6,349119 ms
3Browsealoud1,772311 ms
4Amazon Web Services114,939409 ms
5Heroku14,352955 ms
6Calendly3,9861615 ms

<a name="by-total-impact"></a>

Third Parties by Total Impact

This section highlights the entities responsible for the most script execution across the web. This helps inform which improvements would have the largest total impact.

NamePopularityTotal ImpactAverage Impact
Google Tag Manager7,750,3465,405,662 s697 ms
YouTube938,7944,560,336 s4858 ms
Google CDN3,277,6453,502,096 s1068 ms
Google/Doubleclick Ads1,148,5253,327,660 s2897 ms
Wix441,8491,939,898 s4390 ms
Facebook3,103,7061,178,628 s380 ms
Yandex Metrica576,6591,040,757 s1805 ms
Other Google APIs/SDKs2,297,272851,954 s371 ms
Squarespace233,793834,982 s3571 ms
Google Maps1,195,463741,985 s621 ms
Twitter319,565706,652 s2211 ms
Google Analytics4,258,452461,364 s108 ms
Weebly65,463374,457 s5720 ms
Vimeo137,373374,316 s2725 ms
Pubmatic214,222331,069 s1545 ms
Cloudflare CDN612,210297,470 s486 ms
jQuery CDN706,780257,591 s364 ms
Google FundingChoices404,501226,496 s560 ms
Shopify296,099226,454 s765 ms
JSDelivr CDN345,059213,879 s620 ms
Hotjar321,477205,054 s638 ms
Medium18,170198,383 s10918 ms
Rubicon Project207,350191,826 s925 ms
WordPress295,900189,704 s641 ms
POWr37,652171,775 s4562 ms
Stripe123,686137,094 s1108 ms
Clarity345,295120,722 s350 ms
GoDaddy122,531110,960 s906 ms
ZenDesk72,680106,919 s1471 ms
TikTok220,24298,596 s448 ms
Wistia26,31797,947 s3722 ms
Klaviyo141,50684,178 s595 ms
Hatena Blog42,27582,410 s1949 ms
Tilda67,45480,949 s1200 ms
Hubspot146,22174,698 s511 ms
AMP73,90873,126 s989 ms
FontAwesome CDN306,67365,797 s215 ms
Rambler15,93263,667 s3996 ms
Tray Commerce13,77862,434 s4531 ms
VK20,77159,304 s2855 ms
WordAds91,86957,759 s629 ms
New Relic229,49255,832 s243 ms
LiveJournal9,02755,367 s6134 ms
iubenda91,12254,306 s596 ms
Cookiebot175,61854,088 s308 ms
Amazon Ads173,87952,740 s303 ms
Optanon114,60649,310 s430 ms
Dailymotion5,13648,001 s9346 ms
PayPal55,37847,551 s859 ms
Amazon Web Services114,93947,065 s409 ms
Usercentrics CMP47,22146,881 s993 ms
Sentry75,16046,559 s619 ms
Bigcommerce19,58043,524 s2223 ms
Tumblr15,96242,503 s2663 ms
Cloudflare337,52142,245 s125 ms
LiveChat38,24241,035 s1073 ms
Kakao64,11540,275 s628 ms
Mediavine10,83839,909 s3682 ms
Azure Web Services49,28739,663 s805 ms
Tawk.to107,99138,947 s361 ms
Taboola48,30337,094 s768 ms
Blogger210,80235,092 s166 ms
Intercom32,32234,611 s1071 ms
Adobe TypeKit98,64734,065 s345 ms
Jivochat52,33933,398 s638 ms
Adobe Tag Manager167,97832,419 s193 ms
Tynt150,03730,446 s203 ms
Yahoo! JAPAN Ads52,85229,096 s551 ms
ShareThis86,55028,406 s328 ms
Didomi39,04028,125 s720 ms
Tidio Live Chat24,20928,056 s1159 ms
Skimbit79,08225,805 s326 ms
Yandex APIs43,30225,240 s583 ms
Judge.me26,39024,885 s943 ms
Drift5,56123,693 s4261 ms
Instagram17,16021,936 s1278 ms
WebsiteBuilder.com4,75420,109 s4230 ms
Freshchat6,81019,946 s2929 ms
Twitch1,44619,845 s13724 ms
Smart AdServer99,40819,754 s199 ms
Media.net84,08319,622 s233 ms
InMobi94,10919,480 s207 ms
Esri ArcGIS3,15319,107 s6060 ms
Fastly9,27418,502 s1995 ms
Criteo153,53618,074 s118 ms
Mailchimp44,82317,804 s397 ms
MGID8,79617,735 s2016 ms
LinkedIn Ads182,56616,704 s91 ms
Tealium27,03916,061 s594 ms
Yotpo25,83215,827 s613 ms
OneSignal64,79415,657 s242 ms
Sumo11,29615,652 s1386 ms
Pinterest126,78515,278 s121 ms
ID5 Identity Cloud61,56115,231 s247 ms
Geniee15,66415,032 s960 ms
Embedly10,22214,886 s1456 ms
Yahoo! Ad Exchange5,02414,342 s2855 ms
SoundCloud5,71113,752 s2408 ms
Brightcove12,83313,734 s1070 ms
Heroku14,35213,704 s955 ms
Mapbox18,89612,364 s654 ms
Crowd Control83,91312,230 s146 ms
PIXNET14,88112,189 s819 ms
CreateJS CDN4,05311,623 s2868 ms
Hotmart4,02011,516 s2865 ms
Privy18,26611,097 s608 ms
Lucky Orange13,28710,936 s823 ms
Hexton30,17810,795 s358 ms
Optimizely13,01510,354 s796 ms
Cookie-Script.com46,66410,322 s221 ms
Crazy Egg19,74010,267 s520 ms
Trust Pilot43,90110,267 s234 ms
Integral Ad Science15,17010,183 s671 ms
Quantcast62,29810,071 s162 ms
Infolinks6,0739,821 s1617 ms
Segment26,5409,678 s365 ms
AddToAny63,8269,140 s143 ms
Adroll29,3689,055 s308 ms
FullStory13,0658,875 s679 ms
Google reCAPTCHA31,5868,793 s278 ms
Olark6,5718,465 s1288 ms
Snowplow60,0728,271 s138 ms
Smartsupp21,1428,262 s391 ms
Bing Ads47,5797,849 s165 ms
Sizmek5,2937,584 s1433 ms
Baidu Analytics33,6627,468 s222 ms
Inspectlet5,1426,980 s1357 ms
Amplitude Mobile Analytics35,1436,916 s197 ms
CallRail28,7486,745 s235 ms
Supership17,7426,623 s373 ms
Calendly3,9866,439 s1615 ms
GitHub14,1466,257 s442 ms
Ad Lightning3,8656,216 s1608 ms
RD Station20,9066,202 s297 ms
Google Optimize40,4916,135 s152 ms
Trusted Shops16,6996,116 s366 ms
OptiMonk10,1756,047 s594 ms
SocialShopWave4,0005,852 s1463 ms
AudienceSearch43,3495,737 s132 ms
Forter6,2575,535 s885 ms
Nielsen NetRatings SiteCensus16,3645,497 s336 ms
LiveRamp Privacy Manager18,1025,431 s300 ms
Twitter Online Conversion Tracking68,2075,255 s77 ms
Conversant47,2885,119 s108 ms
OpenX66,6895,109 s77 ms
Bugsnag12,9285,058 s391 ms
Heap13,2595,043 s380 ms
StatCounter48,5664,912 s101 ms
issuu2,6374,857 s1842 ms
Bold Commerce11,2604,842 s430 ms
LinkedIn16,4634,731 s287 ms
VWO7,6044,715 s620 ms
Adyen2,2784,678 s2053 ms
Qualtrics6,8724,674 s680 ms
Ecwid5,3574,614 s861 ms
LongTail Ad Solutions5,6634,539 s801 ms
Pendo12,4474,409 s354 ms
Seedtag2,4334,392 s1805 ms
fluct13,7764,366 s317 ms
Attentive8,6924,323 s497 ms
Technorati22,6874,257 s188 ms
Microsoft Hosted Libs19,2204,203 s219 ms
IPONWEB24,9464,127 s165 ms
Index Exchange30,9894,119 s133 ms
DoubleVerify3,6474,092 s1122 ms
Key CDN9,0213,970 s440 ms
Yandex Ads8,4343,889 s461 ms
Akamai9,5983,801 s396 ms
Scorecard Research45,1373,736 s83 ms
Dynatrace3,3893,713 s1096 ms
Signyfyd2,4073,630 s1508 ms
VigLink6,4413,629 s563 ms
Disqus1,7703,555 s2008 ms
AppNexus150,3033,479 s23 ms
LINE Corporation24,2233,457 s143 ms
reddit16,1753,451 s213 ms
Dynamic Yield1,7953,422 s1907 ms
AdScore4,3913,349 s763 ms
LoyaltyLion3,9943,109 s778 ms
WordPress Site Stats56,4623,098 s55 ms
Moat3,5083,097 s883 ms
Affirm6,2763,063 s488 ms
mPulse30,6082,998 s98 ms
Datacamp1,2172,948 s2422 ms
Conversion Labs1,8762,907 s1550 ms
AppDynamics3,3742,871 s851 ms
Mixpanel17,9732,828 s157 ms
GumGum113,1902,806 s25 ms
Intercept Interactive18,0732,785 s154 ms
Matomo13,7692,653 s193 ms
Outbrain11,3362,618 s231 ms
Unbounce9,0312,579 s286 ms
Luigis Box2,0912,526 s1208 ms
Gigya2,0122,477 s1231 ms
Sonobi48,4792,437 s50 ms
sovrn21,7182,407 s111 ms
Gemius15,8452,361 s149 ms
WisePops1,9612,354 s1200 ms
Yahoo!20,7842,354 s113 ms
ContentSquare2,6282,342 s891 ms

Future Work

  1. Introduce URL-level data for more fine-grained analysis, i.e. which libraries from Cloudflare/Google CDNs are most expensive.
  2. Expand the scope, i.e. include more third parties and have greater entity/category coverage.

FAQs

I don't see entity X in the list. What's up with that?

This can be for one of several reasons:

  1. The entity does not have references to their origin on at least 50 pages in the dataset.
  2. The entity's origins have not yet been identified. See How can I contribute?

What is "Total Occurences"?

Total Occurrences is the number of pages on which the entity is included.

How is the "Average Impact" determined?

The HTTP Archive dataset includes Lighthouse reports for each URL on mobile. Lighthouse has an audit called "bootup-time" that summarizes the amount of time that each script spent on the main thread. The "Average Impact" for an entity is the total execution time of scripts whose domain matches one of the entity's domains divided by the total number of pages that included the entity.

Average Impact = Total Execution Time / Total Occurrences

How does Lighthouse determine the execution time of each script?

Lighthouse's bootup time audit attempts to attribute all toplevel main-thread tasks to a URL. A main thread task is attributed to the first script URL found in the stack. If you're interested in helping us improve this logic, see Contributing for details.

The data for entity X seems wrong. How can it be corrected?

Verify that the origins in data/entities.js are correct. Most issues will simply be the result of mislabelling of shared origins. If everything checks out, there is likely no further action and the data is valid. If you still believe there's errors, file an issue to discuss futher.

<a name="contribute"></a>

How can I contribute?

Only about 90% of the third party script execution has been assigned to an entity. We could use your help identifying the rest! See Contributing for details.

Contributing

Thanks

A huge thanks to @simonhearne and @soulgalore for their assistance in classifying additional domains!

Updating the Entities

The domain->entity mapping can be found in data/entities.js. Adding a new entity is as simple as adding a new array item with the following form.

{
    "name": "Facebook",
    "homepage": "https://www.facebook.com",
    "category": "social",
    "domains": [
        "*.facebook.com",
        "*.fbcdn.net"
    ],
    "examples": [
        "www.facebook.com",
        "connect.facebook.net",
        "staticxx.facebook.com",
        "static.xx.fbcdn.net",
        "m.facebook.com"
    ]
}

Updating Attribution Logic

The logic for attribution to individual script URLs can be found in the Lighthouse repo. File an issue over there to discuss further.

Updating the Data

This is now automated! Run yarn start:update-ha-data with a gcp-credentials.json file in the root directory of this project (look at bin/automated-update.js for the steps involved).

Updating this README

This README is auto-generated from the templates lib/ and the computed data. In order to update the charts, you'll need to make sure you have cairo installed locally in addition to yarn install.

# Install `cairo` and dependencies for node-canvas
brew install pkg-config cairo pango libpng jpeg giflib
# Build the requirements in this repo
yarn build
# Regenerate the README
yarn start

Updating the website

The web code is located in www/ directory of this repository. Open a PR to make changes.