Skip to content

patrickhulce/third-party-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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-Party Previously (per-script) Now (per-page)
Beeketing 137 ms 465 ms
Sumo 263 ms 798 ms
Tumblr 324 ms 1499 ms
Yandex APIs 393 ms 1231 ms
Google Ads 402 ms 1285 ms
Wix 972 ms 5393 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

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

Advertising

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

Rank Name Usage Average Impact
1 Bidswitch 68,217 0 ms
2 Beeswax 12,735 0 ms
3 AdGear 42,920 0 ms
4 Tribal Fusion 158,016 1 ms
5 Nativo 35,852 1 ms
6 Crimtan 74,818 1 ms
7 MaxPoint Interactive 23,834 1 ms
8 iPROM 72,099 2 ms
9 TripleLift 4,812 2 ms
10 adKernel 9,621 2 ms
11 Adyoulike 53,190 3 ms
12 Adform 140,125 13 ms
13 GumGum 167,535 21 ms
14 AppNexus 234,133 25 ms
15 Index Exchange 32,324 28 ms
16 Constant Contact 17,528 35 ms
17 33 Across 192,648 52 ms
18 Branch Metrics 8,288 53 ms
19 Sonobi 81,682 57 ms
20 Simpli.fi 16,378 59 ms
21 MailMunch 19,969 71 ms
22 SiteScout 3,401 75 ms
23 DTSCOUT 8,311 78 ms
24 Scorecard Research 54,577 81 ms
25 OpenX 76,561 82 ms
26 Basis 2,623 82 ms
27 Twitter Online Conversion Tracking 73,452 84 ms
28 ActiveCampaign 19,100 84 ms
29 The Trade Desk 25,346 87 ms
30 sovrn 27,306 87 ms
31 StackAdapt 14,912 90 ms
32 BlueCava 5,165 90 ms
33 Affiliate Window 5,414 104 ms
34 Yahoo! 24,800 106 ms
35 Intercept Interactive 21,012 109 ms
36 Rocket Fuel 3,247 110 ms
37 LinkedIn Ads 199,088 115 ms
38 Criteo 213,880 120 ms
39 Bing Ads 117,720 121 ms
40 Quora Ads 10,614 126 ms
41 RTB House AdPilot 13,287 126 ms
42 STINGRAY 9,742 130 ms
43 TVSquared 4,082 134 ms
44 Rakuten Marketing 3,399 136 ms
45 Impact Radius 4,274 143 ms
46 LINE Corporation 26,881 144 ms
47 Crowd Control 101,196 161 ms
48 Yahoo! JAPAN Ads 37,464 166 ms
49 LoopMe 11,752 180 ms
50 ucfunnel ucX 7,945 185 ms
51 Gemius 15,596 190 ms
52 AudienceSearch 46,726 195 ms
53 InMobi 126,087 195 ms
54 Tynt 212,415 196 ms
55 Simplicity Marketing 2,927 198 ms
56 Technorati 27,186 198 ms
57 Smart AdServer 107,812 207 ms
58 ID5 Identity Cloud 119,336 219 ms
59 i-mobile 16,595 223 ms
60 IPONWEB 39,154 228 ms
61 Outbrain 13,287 254 ms
62 Media.net 97,679 256 ms
63 Auto Link Maker 2,479 265 ms
64 AdRiver 4,740 290 ms
65 LiveRamp Privacy Manager 22,295 294 ms
66 Teads 7,565 303 ms
67 Salesforce.com 4,970 325 ms
68 Unbounce 8,808 330 ms
69 Skimbit 86,270 382 ms
70 Adroll 30,782 386 ms
71 fluct 12,890 397 ms
72 Amazon Ads 240,331 411 ms
73 TrafficStars 7,430 462 ms
74 Onfocus 8,836 480 ms
75 VigLink 6,219 590 ms
76 Cxense 3,708 598 ms
77 Supership 17,934 603 ms
78 Yandex Ads 8,488 609 ms
79 Attentive 9,099 610 ms
80 Microad 23,909 612 ms
81 AdScore 4,394 640 ms
82 Taboola 49,191 663 ms
83 Klaviyo 161,289 701 ms
84 LoyaltyLion 4,114 722 ms
85 WordAds 100,449 740 ms
86 Privy 18,961 791 ms
87 LongTail Ad Solutions 5,572 813 ms
88 OptiMonk 10,615 972 ms
89 Geniee 16,354 1037 ms
90 Rubicon Project 270,271 1062 ms
91 Infolinks 5,950 1344 ms
92 Pubmatic 279,418 1495 ms
93 Sizmek 4,307 1551 ms
94 Ad Lightning 3,795 1813 ms
95 MGID 10,437 2115 ms
96 DoubleVerify 19,453 2410 ms
97 Yahoo! Ad Exchange 4,994 2547 ms
98 Google/Doubleclick Ads 1,232,210 2617 ms
99 Integral Ad Science 21,660 4088 ms
100 Mediavine 12,963 4552 ms

Analytics

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

Rank Name Usage Average Impact
1 Mouseflow 6,786 49 ms
2 Pingdom RUM 1,825 58 ms
3 SpeedCurve RUM 5,358 60 ms
4 Roxr Software 12,877 66 ms
5 WordPress Site Stats 128,931 66 ms
6 Smartlook 16,221 85 ms
7 Woopra 1,366 88 ms
8 Movable Ink 4,949 89 ms
9 Snapchat 1,978 90 ms
10 LiveRamp IdentityLink 1,461 97 ms
11 Treasure Data 14,403 98 ms
12 mPulse 30,624 101 ms
13 StatCounter 50,769 107 ms
14 XiTi 8,483 108 ms
15 Polldaddy 2,715 108 ms
16 Google Analytics 4,231,882 117 ms
17 Exponea 1,303 119 ms
18 Conversant 54,802 119 ms
19 Brandmetrics 30,850 120 ms
20 Snowplow 58,566 121 ms
21 Fastly Insights 4,449 122 ms
22 Site24x7 Real User Monitoring 1,007 123 ms
23 CleverTap 1,321 124 ms
24 Fathom Analytics 1,141 127 ms
25 Stamped.io 12,460 134 ms
26 Quantcast 77,646 160 ms
27 Mixpanel 18,817 173 ms
28 Usabilla 1,354 177 ms
29 Marchex 7,390 186 ms
30 Amplitude Mobile Analytics 46,524 187 ms
31 Braze 2,014 198 ms
32 Smart Insight Tracking 1,779 203 ms
33 Chartbeat 6,246 203 ms
34 Parse.ly 5,204 216 ms
35 Matomo 14,345 217 ms
36 Reviews.co.uk 1,883 226 ms
37 Clearbit 4,171 232 ms
38 Baidu Analytics 32,612 237 ms
39 Google Optimize 38,797 240 ms
40 Radar 1,133 257 ms
41 CallTrackingMetrics 7,503 264 ms
42 Trust Pilot 54,942 269 ms
43 CallRail 29,537 274 ms
44 UpSellit 1,013 286 ms
45 Survicate 3,008 310 ms
46 PageSense 6,219 321 ms
47 Nielsen NetRatings SiteCensus 19,525 350 ms
48 etracker 5,626 369 ms
49 Reviews.io 4,516 380 ms
50 Marketo 1,798 403 ms
51 Pendo 12,203 404 ms
52 Segment 27,036 409 ms
53 Okta 3,542 414 ms
54 Heap 12,078 430 ms
55 Evergage 2,491 440 ms
56 Net Reviews 2,442 468 ms
57 TruConversion 1,008 484 ms
58 Bazaarvoice 3,375 493 ms
59 Evidon 2,482 508 ms
60 AB Tasty 3,363 512 ms
61 BowNow 2,410 539 ms
62 Convert Insights 4,385 587 ms
63 Nosto 1,189 592 ms
64 Clerk.io ApS 1,915 625 ms
65 Crazy Egg 43,822 630 ms
66 Feefo.com 2,025 673 ms
67 Qualtrics 7,134 688 ms
68 Hotjar 333,356 724 ms
69 Appcues 2,831 761 ms
70 Lucky Orange 16,442 777 ms
71 Optimizely 15,998 788 ms
72 FullStory 14,687 788 ms
73 VWO 7,903 821 ms
74 PowerReviews 1,324 913 ms
75 Revolver Maps 2,305 925 ms
76 TrackJS 2,268 931 ms
77 Kameleoon 2,337 949 ms
78 Insider 1,861 1190 ms
79 ContentSquare 2,948 1230 ms
80 Dynatrace 3,221 1275 ms
81 Gigya 1,995 1350 ms
82 Inspectlet 5,346 1426 ms
83 Quantum Metric 1,140 1491 ms
84 Yandex Metrica 602,136 2389 ms

Social

These scripts enable social features.

Rank Name Usage Average Impact
1 Shareaholic 1,429 86 ms
2 Pinterest 131,448 134 ms
3 AddToAny 66,065 161 ms
4 reddit 18,483 223 ms
5 ShareThis 88,829 347 ms
6 Facebook 3,157,799 347 ms
7 LinkedIn 16,507 350 ms
8 TikTok 256,224 434 ms
9 Kakao 62,730 611 ms
10 SocialShopWave 3,720 1334 ms
11 PIXNET 13,718 1352 ms
12 Instagram 20,376 1570 ms
13 Disqus 1,775 2083 ms
14 Twitter 319,957 2514 ms
15 Tumblr 18,114 2516 ms
16 VK 22,377 4082 ms
17 LiveJournal 9,109 6975 ms

Video

These scripts enable video player and streaming functionality.

Rank Name Usage Average Impact
1 Brightcove 13,745 1099 ms
2 Vimeo 120,397 2192 ms
3 Wistia 27,059 4277 ms
4 YouTube 977,311 6423 ms
5 Twitch 1,255 14703 ms

Developer Utilities

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

Rank Name Usage Average Impact
1 Statuspage 1,212 36 ms
2 Webmarked 1,077 67 ms
3 Rollbar 2,349 81 ms
4 Pusher 1,698 90 ms
5 Raygun 2,539 97 ms
6 iovation 2,159 125 ms
7 Cloudflare 467,719 126 ms
8 CyberSource (Visa) 2,682 126 ms
9 Klarna 10,759 128 ms
10 Ipify 2,753 133 ms
11 Checkout.com 1,367 135 ms
12 Doofinder 12,550 140 ms
13 Macropod BugHerd 3,523 145 ms
14 Braintree Payments 1,141 150 ms
15 Afterpay 8,269 154 ms
16 Amazon Pay 6,833 181 ms
17 Seznam 6,863 193 ms
18 LightWidget 9,383 195 ms
19 Netlify 1,323 226 ms
20 Riskified 1,643 228 ms
21 Highcharts 3,181 235 ms
22 Wufoo 1,507 253 ms
23 Cookie-Script.com 58,095 259 ms
24 OneSignal 68,282 260 ms
25 New Relic 227,672 284 ms
26 Foxentry 2,313 328 ms
27 Google reCAPTCHA 25,662 339 ms
28 Cookiebot 187,732 346 ms
29 mParticle 1,029 392 ms
30 TrustArc 5,941 409 ms
31 Bugsnag 15,069 411 ms
32 Trusted Shops 17,267 427 ms
33 Hexton 24,738 437 ms
34 Other Google APIs/SDKs 2,638,940 439 ms
35 Clarity 456,309 458 ms
36 Key CDN 10,025 480 ms
37 GitHub 14,675 486 ms
38 Bold Commerce 9,886 513 ms
39 ThreatMetrix 3,530 539 ms
40 GetSiteControl 3,146 553 ms
41 Sentry 85,598 560 ms
42 Affirm 6,665 600 ms
43 Mapbox 19,555 707 ms
44 iubenda 97,074 720 ms
45 Google Maps 1,195,850 756 ms
46 Klevu Search 1,463 769 ms
47 Yandex APIs 51,601 790 ms
48 GoDaddy 110,342 858 ms
49 AppDynamics 2,920 859 ms
50 Forter 6,930 949 ms
51 Secomapp 2,137 1007 ms
52 PayPal 62,800 1026 ms
53 Vidyard 1,097 1063 ms
54 Stripe 136,440 1219 ms
55 Luigis Box 2,356 1263 ms
56 WisePops 1,950 1349 ms
57 Marker 1,722 1354 ms
58 Signyfyd 2,608 1822 ms
59 Fastly 9,582 2229 ms
60 Adyen 2,363 2681 ms
61 Datacamp 1,181 2797 ms
62 Rambler 15,831 3444 ms
63 POWr 39,716 4823 ms
64 Esri ArcGIS 3,432 6401 ms

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.

Rank Name Usage Average Impact
1 Blogger 213,326 274 ms
2 Dealer 2,620 333 ms
3 Civic 7,253 388 ms
4 Salesforce Commerce Cloud 4,127 496 ms
5 Global-e 1,314 537 ms
6 WordPress 308,694 716 ms
7 Shopify 338,668 849 ms
8 Ecwid 4,362 861 ms
9 Tilda 70,321 1347 ms
10 Rackspace 2,624 1362 ms
11 Hatena Blog 43,183 2462 ms
12 WebsiteBuilder.com 4,688 4174 ms
13 Squarespace 243,154 4551 ms
14 Wix 458,273 4609 ms
15 Weebly 67,864 6086 ms

Marketing

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

Rank Name Usage Average Impact
1 Kargo 1,135 43 ms
2 Podsights 1,140 63 ms
3 Albacross 1,503 67 ms
4 Convertful 1,534 140 ms
5 DemandBase 2,552 154 ms
6 SharpSpring 2,080 304 ms
7 Hello Bar 4,502 341 ms
8 RD Station 21,846 352 ms
9 Listrak 1,045 439 ms
10 OptinMonster 2,346 442 ms
11 Wishpond Technologies 1,691 456 ms
12 Sojern 4,422 472 ms
13 Mailchimp 45,506 474 ms
14 iZooto 2,022 550 ms
15 Hubspot 154,415 597 ms
16 Yotpo 26,094 648 ms
17 PureCars 1,292 750 ms
18 KARTE 1,729 990 ms
19 Beeketing 1,971 1097 ms
20 Judge.me 27,483 1160 ms
21 Sumo 10,901 1513 ms
22 Wunderkind 1,278 1578 ms
23 Bigcommerce 19,595 2335 ms
24 Tray Commerce 14,071 4858 ms
25 Drift 5,515 5472 ms

Customer Success

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

Rank Name Usage Average Impact
1 Crisp 1,052 32 ms
2 iPerceptions 4,662 134 ms
3 SnapEngage 1,038 142 ms
4 LiveTex 1,911 250 ms
5 WebEngage 2,283 346 ms
6 Pure Chat 3,105 364 ms
7 Tawk.to 111,088 388 ms
8 Help Scout 4,906 446 ms
9 Comm100 1,045 449 ms
10 Smartsupp 21,505 465 ms
11 Jivochat 57,540 637 ms
12 LivePerson 2,544 759 ms
13 Tidio Live Chat 24,598 1081 ms
14 LiveChat 39,034 1260 ms
15 Intercom 35,197 1267 ms
16 ZenDesk 72,537 1471 ms
17 Olark 6,534 1506 ms
18 Dynamic Yield 1,843 1943 ms
19 Freshchat 7,081 3298 ms

Content & Publishing

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

Rank Name Usage Average Impact
1 Spotify 10,992 9 ms
2 OpenTable 4,314 96 ms
3 Accuweather 1,477 198 ms
4 Tencent 8,726 260 ms
5 TripAdvisor 2,354 318 ms
6 Embedly 10,836 463 ms
7 Cloudinary 2,129 558 ms
8 Booking.com 2,448 675 ms
9 CPEx 1,104 691 ms
10 Revcontent 1,251 922 ms
11 AMP 66,265 1201 ms
12 issuu 2,714 2066 ms
13 Kaltura Video Platform 1,017 2128 ms
14 SoundCloud 5,859 2712 ms
15 Hotmart 4,554 3374 ms
16 Dailymotion 5,142 10905 ms
17 Medium 17,027 12740 ms

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.

Rank Name Usage Average Impact
1 Google Fonts 220,864 0 ms
2 Bootstrap CDN 38,731 54 ms
3 Fort Awesome 3,635 179 ms
4 Microsoft Hosted Libs 20,042 228 ms
5 Monotype 3,185 229 ms
6 FontAwesome CDN 291,586 250 ms
7 jQuery CDN 724,477 417 ms
8 Akamai 9,820 488 ms
9 Cloudflare CDN 666,628 507 ms
10 JSDelivr CDN 399,959 651 ms
11 Adobe TypeKit 119,621 660 ms
12 Azure Web Services 51,378 694 ms
13 Google CDN 3,192,326 1505 ms
14 CreateJS CDN 3,880 3519 ms

Tag Management

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

Rank Name Usage Average Impact
1 Adobe Tag Manager 200,160 175 ms
2 Tealium 75,434 267 ms
3 TagCommander 1,509 297 ms
4 Ensighten 3,199 555 ms
5 Google Tag Manager 8,124,119 833 ms

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.

Rank Name Usage Average Impact
1 Trustcommander 1,713 190 ms
2 Optanon 113,700 486 ms
3 UniConsent CMP 1,336 621 ms
4 Google FundingChoices 400,016 644 ms
5 Didomi 84,206 1011 ms
6 Usercentrics CMP 49,602 1069 ms

Mixed / Other

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

Rank Name Usage Average Impact
1 ReadSpeaker 6,265 116 ms
2 ResponsiveVoice 6,863 124 ms
3 Browsealoud 1,951 341 ms
4 Amazon Web Services 119,152 436 ms
5 Sirv 1,034 584 ms
6 Heroku 14,119 893 ms
7 Calendly 4,604 1873 ms

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.

Name Popularity Total Impact Average Impact
Google Tag Manager 8,124,119 6,770,913 s 833 ms
YouTube 977,311 6,277,580 s 6423 ms
Google CDN 3,192,326 4,805,631 s 1505 ms
Google/Doubleclick Ads 1,232,210 3,224,312 s 2617 ms
Wix 458,273 2,112,269 s 4609 ms
Yandex Metrica 602,136 1,438,545 s 2389 ms
Other Google APIs/SDKs 2,638,940 1,158,368 s 439 ms
Squarespace 243,154 1,106,480 s 4551 ms
Facebook 3,157,799 1,097,107 s 347 ms
Google Maps 1,195,850 904,393 s 756 ms
Twitter 319,957 804,233 s 2514 ms
Google Analytics 4,231,882 495,650 s 117 ms
Pubmatic 279,418 417,694 s 1495 ms
Weebly 67,864 413,019 s 6086 ms
Cloudflare CDN 666,628 337,711 s 507 ms
jQuery CDN 724,477 302,334 s 417 ms
Shopify 338,668 287,429 s 849 ms
Rubicon Project 270,271 287,111 s 1062 ms
Vimeo 120,397 263,944 s 2192 ms
JSDelivr CDN 399,959 260,364 s 651 ms
Google FundingChoices 400,016 257,806 s 644 ms
Hotjar 333,356 241,418 s 724 ms
WordPress 308,694 220,911 s 716 ms
Medium 17,027 216,923 s 12740 ms
Clarity 456,309 208,825 s 458 ms
POWr 39,716 191,535 s 4823 ms
Stripe 136,440 166,355 s 1219 ms
Wistia 27,059 115,722 s 4277 ms
Klaviyo 161,289 113,130 s 701 ms
TikTok 256,224 111,182 s 434 ms
ZenDesk 72,537 106,701 s 1471 ms
Hatena Blog 43,183 106,338 s 2462 ms
Amazon Ads 240,331 98,704 s 411 ms
Tilda 70,321 94,734 s 1347 ms
GoDaddy 110,342 94,698 s 858 ms
Hubspot 154,415 92,224 s 597 ms
VK 22,377 91,334 s 4082 ms
Integral Ad Science 21,660 88,554 s 4088 ms
Didomi 84,206 85,132 s 1011 ms
AMP 66,265 79,591 s 1201 ms
Adobe TypeKit 119,621 78,982 s 660 ms
WordAds 100,449 74,286 s 740 ms
FontAwesome CDN 291,586 73,007 s 250 ms
iubenda 97,074 69,911 s 720 ms
Tray Commerce 14,071 68,362 s 4858 ms
Cookiebot 187,732 64,865 s 346 ms
New Relic 227,672 64,593 s 284 ms
PayPal 62,800 64,408 s 1026 ms
LiveJournal 9,109 63,532 s 6975 ms
Mediavine 12,963 59,009 s 4552 ms
Cloudflare 467,719 58,723 s 126 ms
Blogger 213,326 58,390 s 274 ms
Dailymotion 5,142 56,076 s 10905 ms
Optanon 113,700 55,293 s 486 ms
Rambler 15,831 54,521 s 3444 ms
Usercentrics CMP 49,602 53,009 s 1069 ms
Amazon Web Services 119,152 51,892 s 436 ms
LiveChat 39,034 49,171 s 1260 ms
Sentry 85,598 47,937 s 560 ms
DoubleVerify 19,453 46,891 s 2410 ms
Bigcommerce 19,595 45,748 s 2335 ms
Tumblr 18,114 45,571 s 2516 ms
Intercom 35,197 44,601 s 1267 ms
Tawk.to 111,088 43,075 s 388 ms
Tynt 212,415 41,644 s 196 ms
Yandex APIs 51,601 40,765 s 790 ms
Kakao 62,730 38,351 s 611 ms
Jivochat 57,540 36,664 s 637 ms
Azure Web Services 51,378 35,665 s 694 ms
Adobe Tag Manager 200,160 34,938 s 175 ms
Skimbit 86,270 32,940 s 382 ms
Taboola 49,191 32,632 s 663 ms
Instagram 20,376 31,988 s 1570 ms
Judge.me 27,483 31,887 s 1160 ms
ShareThis 88,829 30,808 s 347 ms
Drift 5,515 30,180 s 5472 ms
Crazy Egg 43,822 27,593 s 630 ms
Tidio Live Chat 24,598 26,585 s 1081 ms
ID5 Identity Cloud 119,336 26,134 s 219 ms
Criteo 213,880 25,625 s 120 ms
Media.net 97,679 24,974 s 256 ms
InMobi 126,087 24,607 s 195 ms
Freshchat 7,081 23,350 s 3298 ms
LinkedIn Ads 199,088 22,806 s 115 ms
Smart AdServer 107,812 22,357 s 207 ms
MGID 10,437 22,074 s 2115 ms
Esri ArcGIS 3,432 21,968 s 6401 ms
Mailchimp 45,506 21,592 s 474 ms
Fastly 9,582 21,362 s 2229 ms
Tealium 75,434 20,177 s 267 ms
WebsiteBuilder.com 4,688 19,568 s 4174 ms
PIXNET 13,718 18,541 s 1352 ms
Twitch 1,255 18,453 s 14703 ms
OneSignal 68,282 17,761 s 260 ms
Pinterest 131,448 17,602 s 134 ms
Geniee 16,354 16,956 s 1037 ms
Yotpo 26,094 16,919 s 648 ms
Sumo 10,901 16,490 s 1513 ms
Crowd Control 101,196 16,299 s 161 ms
SoundCloud 5,859 15,889 s 2712 ms
Hotmart 4,554 15,363 s 3374 ms
Brightcove 13,745 15,100 s 1099 ms
Cookie-Script.com 58,095 15,052 s 259 ms
Privy 18,961 14,993 s 791 ms
Trust Pilot 54,942 14,795 s 269 ms
Microad 23,909 14,627 s 612 ms
Bing Ads 117,720 14,227 s 121 ms
Mapbox 19,555 13,816 s 707 ms
CreateJS CDN 3,880 13,654 s 3519 ms
Lucky Orange 16,442 12,779 s 777 ms
Yahoo! Ad Exchange 4,994 12,721 s 2547 ms
Heroku 14,119 12,603 s 893 ms
Optimizely 15,998 12,600 s 788 ms
Quantcast 77,646 12,419 s 160 ms
Adroll 30,782 11,884 s 386 ms
FullStory 14,687 11,575 s 788 ms
Segment 27,036 11,055 s 409 ms
Supership 17,934 10,809 s 603 ms
Hexton 24,738 10,807 s 437 ms
AddToAny 66,065 10,606 s 161 ms
OptiMonk 10,615 10,318 s 972 ms
33 Across 192,648 10,002 s 52 ms
Smartsupp 21,505 9,998 s 465 ms
Olark 6,534 9,841 s 1506 ms
Google Optimize 38,797 9,330 s 240 ms
AudienceSearch 46,726 9,115 s 195 ms
IPONWEB 39,154 8,925 s 228 ms
Amplitude Mobile Analytics 46,524 8,704 s 187 ms
Google reCAPTCHA 25,662 8,694 s 339 ms
Calendly 4,604 8,623 s 1873 ms
WordPress Site Stats 128,931 8,574 s 66 ms
CallRail 29,537 8,080 s 274 ms
Infolinks 5,950 7,995 s 1344 ms
Baidu Analytics 32,612 7,739 s 237 ms
RD Station 21,846 7,694 s 352 ms
Inspectlet 5,346 7,622 s 1426 ms
Trusted Shops 17,267 7,374 s 427 ms
GitHub 14,675 7,126 s 486 ms
Snowplow 58,566 7,099 s 121 ms
Ad Lightning 3,795 6,879 s 1813 ms
Nielsen NetRatings SiteCensus 19,525 6,840 s 350 ms
Connatix 1,195 6,751 s 5650 ms
Sizmek 4,307 6,680 s 1551 ms
Forter 6,930 6,579 s 949 ms
LiveRamp Privacy Manager 22,295 6,546 s 294 ms
Conversant 54,802 6,532 s 119 ms
VWO 7,903 6,485 s 821 ms
Adyen 2,363 6,335 s 2681 ms
OpenX 76,561 6,275 s 82 ms
Yahoo! JAPAN Ads 37,464 6,237 s 166 ms
Bugsnag 15,069 6,198 s 411 ms
Twitter Online Conversion Tracking 73,452 6,171 s 84 ms
AppNexus 234,133 5,949 s 25 ms
LinkedIn 16,507 5,777 s 350 ms
issuu 2,714 5,608 s 2066 ms
Attentive 9,099 5,555 s 610 ms
StatCounter 50,769 5,427 s 107 ms
Technorati 27,186 5,383 s 198 ms
Heap 12,078 5,188 s 430 ms
Yandex Ads 8,488 5,172 s 609 ms
fluct 12,890 5,114 s 397 ms
Bold Commerce 9,886 5,073 s 513 ms
Embedly 10,836 5,014 s 463 ms
SocialShopWave 3,720 4,962 s 1334 ms
Pendo 12,203 4,935 s 404 ms
Qualtrics 7,134 4,907 s 688 ms
Key CDN 10,025 4,815 s 480 ms
Akamai 9,820 4,796 s 488 ms
Signyfyd 2,608 4,753 s 1822 ms
Sonobi 81,682 4,682 s 57 ms
Microsoft Hosted Libs 20,042 4,562 s 228 ms
LongTail Ad Solutions 5,572 4,531 s 813 ms
Scorecard Research 54,577 4,399 s 81 ms
Onfocus 8,836 4,241 s 480 ms
reddit 18,483 4,114 s 223 ms
Dynatrace 3,221 4,107 s 1275 ms
Affirm 6,665 3,997 s 600 ms
LINE Corporation 26,881 3,858 s 144 ms
Ecwid 4,362 3,757 s 861 ms
i-mobile 16,595 3,701 s 223 ms
Disqus 1,775 3,697 s 2083 ms
Brandmetrics 30,850 3,690 s 120 ms
VigLink 6,219 3,670 s 590 ms
ContentSquare 2,948 3,627 s 1230 ms
Dynamic Yield 1,843 3,580 s 1943 ms
Rackspace 2,624 3,573 s 1362 ms
GumGum 167,535 3,441 s 21 ms
TrafficStars 7,430 3,435 s 462 ms
Outbrain 13,287 3,374 s 254 ms
Seedtag 1,503 3,343 s 2224 ms
Datacamp 1,181 3,304 s 2797 ms
Mixpanel 18,817 3,251 s 173 ms
Conversion Labs 1,898 3,243 s 1709 ms
Matomo 14,345 3,115 s 217 ms
mPulse 30,624 3,090 s 101 ms
Luigis Box 2,356 2,975 s 1263 ms
LoyaltyLion 4,114 2,972 s 722 ms
Gemius 15,596 2,965 s 190 ms
Unbounce 8,808 2,902 s 330 ms
Civic 7,253 2,816 s 388 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.

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.