Script Size
The widget is a single JavaScript file with zero dependencies:- ~30 KB gzipped over the wire (~100 KB uncompressed)
- Served from
getchatads.com/widget.jsvia a global CDN - No external fonts, stylesheets, or images - styles are inlined and the widget uses your visitors’ system font stack
Load Behavior
- The script waits for
DOMContentLoadedbefore doing anything, so it never delays your content from rendering. - On load it makes one small request to fetch your widget’s configuration (enabled state, page rules, theme). If the widget shouldn’t show on that page - wrong domain, excluded path, non-English browser - it exits without rendering anything.
- All further requests happen only when a visitor actually uses the chat.
- The snippet works with the
deferorasyncattribute if you load it from<head>; placing it just before</body>works equally well.
Core Web Vitals
- Layout shift (CLS): none. The launcher is a fixed-position overlay, so it never moves your content.
- Largest Contentful Paint (LCP): unaffected. The widget initializes after the DOM is ready and renders only a small launcher pill.
- Interaction readiness (INP): the widget’s work happens off the critical path; there is no heavy main-thread work on page load.