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.
<!-- Drop into any page --> <script src="https://cdn.keloa.ai/w.js" data-site="your-site-id"></script>
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
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.
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.