Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

third-party-web

Package Overview
Dependencies
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

third-party-web

Categorized data on third party entities on the web.

  • 0.12.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
941K
decreased by-0.97%
Maintainers
1
Weekly downloads
 
Created
Source

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 inititiave 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/",
//     "categories": ["customer-success"],
//     "domains": ["d36mpcpuzc4ztk.cloudfront.net"]
//   }

Updates

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.

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-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-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

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.

RankNameUsageAverage Impact
1GumGum2,98422 ms
2ExoClick1,21343 ms
3SublimeSkinz1,12158 ms
4MailMunch5,10760 ms
5Geniee1,16468 ms
6District M3,09669 ms
7Salesforce.com1,02070 ms
8Rakuten Marketing1,21073 ms
9BlueKai2,33175 ms
10PushCrew2,92776 ms
11FreakOut3,82876 ms
12AppNexus1,84978 ms
13Constant Contact1,31580 ms
14Scorecard Research7,85183 ms
15Gemius4,55987 ms
16Tynt23,21488 ms
17Rubicon Project40,20890 ms
18Nativo1,174101 ms
19Popads2,898103 ms
20Unbounce3,591105 ms
21Amazon Ads26,048106 ms
22Outbrain8,216107 ms
23i-mobile3,228110 ms
24LINE Corporation5,184113 ms
25Sharethrough1,670114 ms
26Adroll24,347115 ms
27Intent Media8,019116 ms
28Bing Ads15,836117 ms
29Index Exchange5,527122 ms
30JuicyAds1,498125 ms
31DTSCOUT12,711132 ms
32Yahoo! JAPAN Ads4,367137 ms
33Attentive1,206146 ms
34WordAds18,479149 ms
35OpenX3,701160 ms
36Smart AdServer4,272162 ms
37Skimbit15,827167 ms
38OptiMonk1,602173 ms
39Teads3,464177 ms
40Cxense4,375179 ms
41TrafficStars2,040187 ms
42Adform6,868187 ms
43sovrn4,758190 ms
44Tribal Fusion1,064190 ms
45Unruly Media1,193193 ms
46Bizible1,300194 ms
47Perfect Market1,597218 ms
48GetResponse1,073219 ms
49Sortable1,551220 ms
50Yahoo!2,071230 ms
51Criteo62,765235 ms
52Adyoulike1,235242 ms
53Permutive9,558243 ms
54Refersion1,323249 ms
55VigLink7,100309 ms
56Privy13,047309 ms
57Yandex Ads25,906313 ms
58Pubmatic52,655319 ms
59Media.net14,562342 ms
60Taboola24,645364 ms
61LongTail Ad Solutions3,444365 ms
62Klaviyo14,595392 ms
63piano1,183459 ms
64DoubleVerify1,776552 ms
65RevJet1,211553 ms
66MGID8,214575 ms
67Infolinks3,699583 ms
6833 Across1,197611 ms
69Vidible1,148624 ms
70Admixer for Publishers1,043642 ms
71Mediavine6,490655 ms
72Bridgewell DSP14,079791 ms
73Moat6,917811 ms
74LoyaltyLion1,301830 ms
75Adloox5,759921 ms
76Integral Ad Science8,328994 ms
77Sizmek1,4871046 ms
78LKQD1,3371448 ms
79Google/Doubleclick Ads680,9981457 ms
80fam2,1351807 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.

RankNameUsageAverage Impact
1StatCounter3,41459 ms
2Treasure Data4,85762 ms
3WordPress Site Stats3,74664 ms
4Roxr Software1,63166 ms
5Amplitude Mobile Analytics2,43069 ms
6Heap2,60972 ms
7Mixpanel7,52875 ms
8Google Analytics1,202,01577 ms
9Quantcast4,25378 ms
10Chartbeat4,68579 ms
11Hotjar177,52684 ms
12Parse.ly3,36190 ms
13Searchanise4,30491 ms
14Smart Insight Tracking1,16293 ms
15etracker1,64394 ms
16Snowplow5,84595 ms
17CallRail7,019101 ms
18Marchex2,512104 ms
19Nielsen NetRatings SiteCensus11,880104 ms
20Baidu Analytics10,740106 ms
21Crazy Egg4,994110 ms
22Evidon1,067111 ms
23ContentSquare1,368134 ms
24VWO4,728158 ms
25Trust Pilot15,202164 ms
26Net Reviews2,537176 ms
27PageSense1,294180 ms
28FullStory7,655184 ms
29Segment9,541191 ms
30Kampyle1,095206 ms
31Optimizely19,584224 ms
32Nosto1,947225 ms
33UserReport1,309229 ms
34BounceX1,387235 ms
35mPulse13,190246 ms
36PowerReviews1,043261 ms
37Marketo1,389357 ms
38Histats13,545361 ms
39Inspectlet5,605361 ms
40Bazaarvoice1,845397 ms
41Snapchat13,345410 ms
42Salesforce10,894479 ms
43Lucky Orange7,531491 ms
44Feefo.com1,686502 ms
45Yandex Metrica292,542580 ms
46Gigya2,262580 ms
47Ezoic1,331581 ms
48Revolver Maps1,146608 ms
49AB Tasty3,0101594 ms

Social

These scripts enable social features.

RankNameUsageAverage Impact
1AddToAny24,50187 ms
2Pinterest17,27889 ms
3TikTok2,38090 ms
4LinkedIn14,057111 ms
5VK13,492122 ms
6Twitter214,251139 ms
7Kakao18,109158 ms
8Instagram9,444184 ms
9Facebook1,461,908229 ms
10ShareThis40,215234 ms
11SocialShopWave2,044302 ms
12AddThis118,289404 ms
13Disqus1,252995 ms
14LiveJournal3,6801327 ms
15PIXNET15,4341508 ms
16Tumblr7,9742048 ms

Video

These scripts enable video player and streaming functionality.

RankNameUsageAverage Impact
1Vimeo10,406355 ms
2Brightcove6,617809 ms
3YouTube408,343849 ms
4Wistia13,083929 ms
5Twitch1,0681898 ms

Developer Utilities

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

RankNameUsageAverage Impact
1Key CDN1,47055 ms
2LightWidget2,32966 ms
3Siteimprove1,51076 ms
4Trusted Shops5,63979 ms
5New Relic13,10195 ms
6Accessibe3,56199 ms
7GetSiteControl1,81599 ms
8Riskified1,074106 ms
9Affirm2,501113 ms
10iubenda12,784124 ms
11Swiftype1,544135 ms
12Seznam1,655135 ms
13Bold Commerce13,136144 ms
14Cookiebot20,839147 ms
15Sift Science1,080148 ms
16Other Google APIs/SDKs580,694168 ms
17Amazon Pay5,751169 ms
18TrustArc1,374179 ms
19MaxCDN Enterprise2,415199 ms
20GitHub1,661232 ms
21Fraudlogix2,245263 ms
22Fastly6,806273 ms
23PayPal15,436343 ms
24Stripe23,539389 ms
25Cloudflare53,332465 ms
26Google Maps267,444520 ms
27AppDynamics1,283526 ms
28Secomapp2,151546 ms
29Bugsnag8,688569 ms
30Rambler7,714690 ms
31GoDaddy6,687700 ms
32Sentry9,062715 ms
33Signyfyd1,691867 ms
34Mapbox5,206877 ms
35Yandex APIs27,4801080 ms
36POWr16,4071364 ms
37Esri ArcGIS1,6924750 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.

RankNameUsageAverage Impact
1Blogger23,690327 ms
2Salesforce Commerce Cloud2,623342 ms
3WordPress92,595404 ms
4Dealer8,639433 ms
5Ecwid1,399739 ms
6Tilda7,478783 ms
7Squarespace39,492911 ms
8Adobe Business Catalyst3,181971 ms
9Shopify107,3231058 ms
10Weebly13,2711433 ms
11CDK Dealer Management3,4291568 ms
12Hatena Blog13,2061579 ms
13Wix54,9095963 ms

Marketing

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

RankNameUsageAverage Impact
1Beeketing3,98674 ms
2RD Station6,54776 ms
3iZooto1,37683 ms
4Ve1,848149 ms
5Listrak1,073154 ms
6Hubspot33,137181 ms
7Yotpo13,632202 ms
8Mailchimp23,376204 ms
9OptinMonster7,494260 ms
10Bronto Software1,057261 ms
11Pardot1,435404 ms
12Albacross1,920490 ms
13Sumo18,438686 ms
14Bigcommerce10,096976 ms
15Drift6,5651279 ms
16Judge.me8,3051376 ms
17PureCars2,6971901 ms
18Tray Commerce3,1732328 ms

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
1SnapEngage1,08459 ms
2Pure Chat4,66270 ms
3Foursixty1,41181 ms
4LivePerson4,303112 ms
5Crisp4,497124 ms
6iPerceptions1,992132 ms
7Comm1001,321134 ms
8Intercom15,657245 ms
9Help Scout2,183258 ms
10Tidio Live Chat12,655383 ms
11Tawk.to63,460405 ms
12LiveChat19,469411 ms
13ContactAtOnce3,247491 ms
14Jivochat45,111553 ms
15Olark6,904656 ms
16Smartsupp14,643794 ms
17ZenDesk69,488892 ms

Content & Publishing

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

RankNameUsageAverage Impact
1Accuweather1,49972 ms
2Booking.com1,657157 ms
3Tencent2,257163 ms
4OpenTable1,563165 ms
5SnapWidget2,610174 ms
6Covert Pics1,007185 ms
7AMP74,588308 ms
8Medium1,157474 ms
9Embedly5,513514 ms
10Spotify3,225602 ms
11issuu1,938669 ms
12SoundCloud4,464987 ms
13Dailymotion1,8381253 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.

RankNameUsageAverage Impact
1Bootstrap CDN1,44955 ms
2Adobe TypeKit18,28094 ms
3Yandex CDN25,669185 ms
4JSDelivr CDN97,342193 ms
5Microsoft Hosted Libs4,943203 ms
6Monotype4,073212 ms
7Azure Web Services10,612228 ms
8jQuery CDN167,644269 ms
9Unpkg6,918274 ms
10Google CDN947,798288 ms
11Akamai7,364335 ms
12Cloudflare CDN117,339339 ms
13FontAwesome CDN47,298413 ms
14CreateJS CDN3,5182322 ms

Tag Management

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

RankNameUsageAverage Impact
1Google Tag Manager722,184115 ms
2Yahoo! Tag Manager5,822116 ms
3TagCommander1,072145 ms
4BrightTag / Signal3,674158 ms
5Adobe Tag Manager32,617311 ms
6Tealium12,108362 ms
7Ensighten3,768443 ms

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
1Quantcast Choice12,499121 ms
2Optanon8,102128 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!

RankNameUsageAverage Impact
1ResponsiveVoice1,24370 ms
2Amazon Web Services39,066160 ms
3All Other 3rd Parties1,393,280320 ms
4Parking Crew5,147326 ms
5Heroku2,007609 ms
6uLogin2,3161223 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.

NamePopularityTotal ImpactAverage Impact
Google/Doubleclick Ads680,998991,972 s1457 ms
All Other 3rd Parties1,393,280445,644 s320 ms
YouTube408,343346,701 s849 ms
Facebook1,461,908335,212 s229 ms
Wix54,909327,400 s5963 ms
Google CDN947,798272,554 s288 ms
Yandex Metrica292,542169,622 s580 ms
Google Maps267,444139,019 s520 ms
Shopify107,323113,512 s1058 ms
Other Google APIs/SDKs580,69497,640 s168 ms
Google Analytics1,202,01592,974 s77 ms
Google Tag Manager722,18483,404 s115 ms
ZenDesk69,48862,012 s892 ms
AddThis118,28947,740 s404 ms
jQuery CDN167,64445,069 s269 ms
Cloudflare CDN117,33939,773 s339 ms
WordPress92,59537,441 s404 ms
Squarespace39,49235,967 s911 ms
Twitter214,25129,810 s139 ms
Yandex APIs27,48029,681 s1080 ms
Tawk.to63,46025,679 s405 ms
Jivochat45,11124,937 s553 ms
Cloudflare53,33224,773 s465 ms
PIXNET15,43423,272 s1508 ms
AMP74,58822,996 s308 ms
POWr16,40722,375 s1364 ms
Hatena Blog13,20620,855 s1579 ms
FontAwesome CDN47,29819,543 s413 ms
Weebly13,27119,021 s1433 ms
JSDelivr CDN97,34218,831 s193 ms
Pubmatic52,65516,794 s319 ms
Tumblr7,97416,328 s2048 ms
Hotjar177,52614,882 s84 ms
Criteo62,76514,736 s235 ms
Sumo18,43812,648 s686 ms
Wistia13,08312,148 s929 ms
Smartsupp14,64311,630 s794 ms
Judge.me8,30511,424 s1376 ms
Bridgewell DSP14,07911,133 s791 ms
Adobe Tag Manager32,61710,130 s311 ms
Bigcommerce10,0969,855 s976 ms
ShareThis40,2159,410 s234 ms
Stripe23,5399,146 s389 ms
Taboola24,6458,975 s364 ms
Drift6,5658,400 s1279 ms
Integral Ad Science8,3288,281 s994 ms
CreateJS CDN3,5188,169 s2322 ms
Yandex Ads25,9068,114 s313 ms
Esri ArcGIS1,6928,036 s4750 ms
LiveChat19,4698,004 s411 ms
Blogger23,6907,744 s327 ms
Tray Commerce3,1737,388 s2328 ms
Sentry9,0626,480 s715 ms
Amazon Web Services39,0666,239 s160 ms
Hubspot33,1376,003 s181 ms
Tilda7,4785,858 s783 ms
Klaviyo14,5955,714 s392 ms
Moat6,9175,609 s811 ms
Snapchat13,3455,466 s410 ms
CDK Dealer Management3,4295,376 s1568 ms
Brightcove6,6175,352 s809 ms
Rambler7,7145,319 s690 ms
Adloox5,7595,306 s921 ms
PayPal15,4365,287 s343 ms
Salesforce10,8945,221 s479 ms
PureCars2,6975,127 s1901 ms
Media.net14,5624,976 s342 ms
Bugsnag8,6884,945 s569 ms
Histats13,5454,885 s361 ms
LiveJournal3,6804,882 s1327 ms
Tidio Live Chat12,6554,849 s383 ms
AB Tasty3,0104,798 s1594 ms
Mailchimp23,3764,767 s204 ms
Yandex CDN25,6694,750 s185 ms
MGID8,2144,721 s575 ms
GoDaddy6,6874,678 s700 ms
Mapbox5,2064,568 s877 ms
Olark6,9044,528 s656 ms
SoundCloud4,4644,404 s987 ms
Tealium12,1084,387 s362 ms
Optimizely19,5844,379 s224 ms
Mediavine6,4904,252 s655 ms
Privy13,0474,036 s309 ms
fam2,1353,857 s1807 ms
Intercom15,6573,829 s245 ms
Dealer8,6393,741 s433 ms
Lucky Orange7,5313,699 s491 ms
Vimeo10,4063,691 s355 ms
Rubicon Project40,2083,632 s90 ms
WebsiteBuilder.com7383,441 s4663 ms
mPulse13,1903,244 s246 ms
Adobe Business Catalyst3,1813,089 s971 ms
Cookiebot20,8393,062 s147 ms
Kakao18,1092,853 s158 ms
uLogin2,3162,832 s1223 ms
Embedly5,5132,831 s514 ms
Adroll24,3472,809 s115 ms
Amazon Ads26,0482,771 s106 ms
Yotpo13,6322,754 s202 ms
WordAds18,4792,745 s149 ms
Skimbit15,8272,648 s167 ms
Trust Pilot15,2022,488 s164 ms
Akamai7,3642,464 s335 ms
Azure Web Services10,6122,417 s228 ms
Permutive9,5582,327 s243 ms
Dailymotion1,8382,303 s1253 ms
VigLink7,1002,191 s309 ms
Infolinks3,6992,157 s583 ms
AddToAny24,5012,121 s87 ms
Tynt23,2142,047 s88 ms
Twitch1,0682,027 s1898 ms
Inspectlet5,6052,022 s361 ms
OptinMonster7,4941,950 s260 ms
Spotify3,2251,943 s602 ms
LKQD1,3371,936 s1448 ms
Unpkg6,9181,896 s274 ms
Bold Commerce13,1361,889 s144 ms
Hotmart8111,878 s2315 ms
Fastly6,8061,860 s273 ms
Bing Ads15,8361,847 s117 ms
Segment9,5411,825 s191 ms
Instagram9,4441,735 s184 ms
Adobe TypeKit18,2801,723 s94 ms
DTSCOUT12,7111,682 s132 ms
Parking Crew5,1471,677 s326 ms
Ensighten3,7681,670 s443 ms
VK13,4921,648 s122 ms
ContactAtOnce3,2471,594 s491 ms
iubenda12,7841,586 s124 ms
LinkedIn14,0571,561 s111 ms
Sizmek1,4871,555 s1046 ms
Pinterest17,2781,540 s89 ms
Quantcast Choice12,4991,509 s121 ms
Signyfyd1,6911,466 s867 ms
FullStory7,6551,408 s184 ms
Gigya2,2621,313 s580 ms
issuu1,9381,296 s669 ms
Adform6,8681,283 s187 ms
LongTail Ad Solutions3,4441,259 s365 ms
Disqus1,2521,245 s995 ms
New Relic13,1011,245 s95 ms
Nielsen NetRatings SiteCensus11,8801,239 s104 ms
Heroku2,0071,222 s609 ms
Secomapp2,1511,175 s546 ms
Baidu Analytics10,7401,142 s106 ms
Okas Concepts6731,112 s1652 ms
Dynamic Yield9641,095 s1136 ms
LoyaltyLion1,3011,080 s830 ms
Sekindo3761,055 s2807 ms
Optanon8,1021,039 s128 ms
Ecwid1,3991,033 s739 ms
Microsoft Hosted Libs4,9431,006 s203 ms
DoubleVerify1,776981 s552 ms
Amazon Pay5,751974 s169 ms
DigiTrust559973 s1741 ms
Albacross1,920941 s490 ms
Intent Media8,019931 s116 ms
sovrn4,758902 s190 ms
Salesforce Commerce Cloud2,623897 s342 ms
Outbrain8,216875 s107 ms
Monotype4,073862 s212 ms
Kaltura Video Platform506852 s1684 ms
Feefo.com1,686846 s502 ms
Technorati841825 s981 ms
Cxense4,375784 s179 ms
Ezoic1,331773 s581 ms
VWO4,728748 s158 ms
Bazaarvoice1,845733 s397 ms
33 Across1,197732 s611 ms
AdMatic793719 s906 ms
Vidible1,148717 s624 ms
CallRail7,019710 s101 ms
Revolver Maps1,146697 s608 ms
Smart AdServer4,272692 s162 ms
Yieldify513683 s1332 ms
AppDynamics1,283675 s526 ms
Yahoo! Tag Manager5,822674 s116 ms
Index Exchange5,527672 s122 ms
RevJet1,211670 s553 ms
Admixer for Publishers1,043669 s642 ms
StickyADS.tv853651 s764 ms
Scorecard Research7,851649 s83 ms
SocialShopWave2,044617 s302 ms
Teads3,464614 s177 ms
Yahoo! JAPAN Ads4,367597 s137 ms
OpenX3,701594 s160 ms
ZEDO795592 s745 ms
Fraudlogix2,245590 s263 ms
Vidyard536587 s1094 ms
LINE Corporation5,184585 s113 ms
BrightTag / Signal3,674579 s158 ms
Pardot1,435579 s404 ms
Mixpanel7,528568 s75 ms
Help Scout2,183563 s258 ms
Crisp4,497559 s124 ms
Snowplow5,845555 s95 ms
TINT224553 s2470 ms
Crazy Egg4,994551 s110 ms
Medium1,157549 s474 ms
IBM Digital Analytics806546 s677 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",
    "categories": ["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

You need to have a BigQuery project called lighthouse-infrastructure with a dataset called third_party_web The queries used to compute the data are in the sql/ directory.

  1. Edit all-observed-domains-query.sql to query the correct month's HTTPArchive run.
  2. Run all-observed-domains-query.sql in BigQuery.
  3. Download the results and check them in at data/YYYY-MM-01-observed-domains.json.
  4. Edit origin-query.sql to query the correct month's HTTPArchive run.
  5. Run yarn build to regenerate the latest canonical domain mapping.
  6. Create a new table in lighthouse-infrastructure.third_party_web BigQuery table of the format YYYY_MM_01 with the csv in dist/domain-map.csv with three columns domain, canonicalDomain, and category.
  7. Run origin-query.sql in BigQuery.
  8. Download the results and check them in at data/YYYY-MM-01-origin-scripting.json.
  9. Edit origin-query.sql to join on the table you just created.
  10. Run yarn build to regenerate the queries.
  11. Run entity-per-page.sql in BigQuery.
  12. Download the results and check them in at data/YYYY-MM-01-entity-scripting.json.
  13. Run web-almanac-all-observed-domains-identification.sql in BigQuery.
  14. Save the results to a BigQuery table YYYY_MM_01_all_observed_domains.

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.

Keywords

FAQs

Package last updated on 03 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc