|Package||Size (Brotli compressed)||Notes|
|Web Widget (Classic) Core||~475 KB||The web_widget.js and common_vendor.js assets required for the Web Widget (Classic) regardless of which Channels are available.|
|With Talk Channel||+~65 KB||The assets required by the Web Widget (Classic) when the Talk Channel is enabled in an account. 55 KB represents the first-time load of the Talk Channel.|
|With Chat Channel||+~59 KB||The assets required by the Web Widget (Classic) when the Chat Channel is enabled in an account.|
|Per language support||+~5 KB (avg.) per language||The Web Widget (Classic) will only load languages based on the visitor's locale setting.|
If you have Chat enabled in your Web Widget (Classic) and want to optimize for page performance, you can consider using the connectOnPageLoad api. This should decrease the time taken to display the widget launcher and improve page load scores in tools like Google Lighthouse. To learn more, see the article: Optimizing Chat and Web Widget (Classic) performance.
What is the best tool to monitor page load speed for my website?
We recommend using Google’s Lighthouse tool that is available by default in the audit tab of developer tools. Lighthouse has very good coverage of new features available in modern web browsers like Google Chrome. We rely on features like HTTP/2 multiplexing to optimize the Web Widget (Classic) and Lighthouse will take multiplexing into account when calculating the performance of a web page with the widget embedded.
Yes, the Web Widget (Classic) assets are individually versioned and long-term cached for up to a year. They’re cached both privately on end-user browsers, and publicly on CDN edge servers. Some assets required for the widget are unlikely to change between widget versions, and will be cached independently. This means those assets will be retrieved faster from cache the next time the browser needs them. For example, the country code flag icons utilized in Talk, or the notification sounds associated with Chat.