tag before ."},{"@type":"HowToStep","name":"Configure appearance","text":"In Keloa Settings → Widget appearance, set theme color, position, greeting, and avatar."},{"@type":"HowToStep","name":"Verify","text":"Reload your page; the widget bubble appears bottom-right."}]}
Skip to content
Chat Widget

A widget you'd be
proud to ship.

Lightweight (under 20 KB), themeable down to the pixel, fully accessible, and live on your site in one line of code. It remembers visitors across sessions so they never repeat themselves.

Under 20 KB, 1 requestWCAG 2.2 AA out of the boxLive in five minutes
One script tag
<!-- Drop into any page -->
<script src="https://cdn.keloa.ai/w.js"
        data-site="your-site-id"></script>
18 KB
Total payload
94 ms
Load time
1
Network request
18 KB
Widget payload
94ms
Avg. load time
AA
WCAG accessibility
5 min
Time to live
One line to ship

Drop it in. Customise it later.

Copy one script tag into your page and you're live. Connect it to your brand colors and tone in the dashboard. No rebuild, no deploy, no developer ticket required.

  • Custom colors, shape, position, and launcher copy
  • White-label on Scale plan, zero Keloa branding
  • WCAG 2.2 AA, keyboard navigable, screen-reader friendly
  • Proactive triggers on time, scroll depth, and exit intent
Fully themeable
Colors · shape · position · copy
Session memory
Visitors never repeat themselves
Proactive triggers
Time · exit intent · scroll depth
White-label ready
Remove Keloa branding on Scale plan
Features

Everything visitors need. Nothing they don't.

Built for storefronts that care about performance, accessibility, and brand.

Under 20 KB

The entire widget, launcher and all, loads in under 20 KB. Your Core Web Vitals stay clean.

Full theming

Colors, shape, position, rounded corners, launcher copy. Every pixel is configurable via one CSS file or our SDK.

WCAG 2.2 AA

Keyboard navigable, screen-reader friendly, and focus-managed. Accessible out of the box, no configuration required.

Session memory

The widget remembers the visitor across page loads and sessions. No more repeating themselves.

Proactive triggers

Show the widget after a time delay, on exit intent, or when a visitor scrolls to a specific product.

White-label on Scale

Remove all Keloa branding on the Scale plan. Your brand, your domain, your widget.

FAQ

Chat widget questions, answered.

How do we install the chat widget?

One script tag in the head of your site (or before the closing body tag). Works on any platform that allows third-party scripts: static sites, Shopify themes, Webflow, WordPress, Next.js, custom builds. The loader is async and the widget is in an iframe, so initial paint of your page is unaffected.

Will it slow down our site?

No. The loader script is under 4 KB, the full widget after the iframe boots is 18 KB gzipped, and one network request. Core Web Vitals stay clean. The widget does not compete with your page's resources for paint, layout, or interactivity scoring.

Does the widget work without cookies?

Yes. Keloa sets no cookies on your domain. Session state lives in the iframe's own storage on app.keloa.ai. You do not need a cookie banner specifically for the widget.

Is the widget accessible?

WCAG 2.2 AA out of the box: contrast, keyboard navigation, focus rings, ARIA roles, screen reader announcements, reduced-motion support. Not third-party audited (no VPAT), the claim is operator-tested, not certified. We can share testing details on request.

Can we customise the colours and shape?

Yes. One accent colour (hex), left or right launcher position, rounded corners, custom launcher copy. Set in the dashboard, takes effect immediately. If you need full CSS control over every element, Keloa is not the right widget; the trade-off is consistent UX and accessibility across customers.

Can we hide the 'Powered by Keloa' link?

Yes on Business and Scale plans (hide branding). On Starter and Growth the small footer stays visible. Even with branding hidden, the asset URL stays on app.keloa.ai. If your contract requires every customer-facing URL to be on your own domain, Keloa is not the right widget today.

Can we run the widget on multiple domains?

Yes. Add each origin to the agent's allowed-origins list. Without an allowlist, anyone copying your snippet could use your reply credits. Set the allowlist before you ship to production.

Live on your site in five minutes.

One script tag, one site ID, one conversation with your first visitor.