Skip to main content
Publishers care about page speed, so here is exactly what embedding ChatAds does to your page.

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.js via a global CDN
  • No external fonts, stylesheets, or images - styles are inlined and the widget uses your visitors’ system font stack
For comparison, that’s a fraction of the size of a typical consent banner or commenting embed.

Load Behavior

  • The script waits for DOMContentLoaded before 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 defer or async attribute 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.

No Iframe

The widget renders directly on the page rather than inside an iframe, which keeps it lightweight and lets inserted links behave like normal page links (right-click, open in new tab, etc.). Its styles are namespaced so they don’t collide with your site’s CSS.