Installation
Integrate the TAU Widget into your website in minutes.
Installation
Installation in 3 steps
1. Add this code before </body>
<script>
window.taubotConfig = {
appId: 'YOUR_APP_ID' // Replace with your appId
};
(function() {
var loadWidget = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'https://app.taubot.ai/widget/widget.js';
document.getElementsByTagName('head')[0].appendChild(script);
};
if (document.readyState === 'complete') {
loadWidget();
} else {
window.addEventListener('load', loadWidget);
}
})();
</script>2. Replace YOUR_APP_ID
Swap YOUR_APP_ID with your assistant's unique identifier, available in the TAU dashboard under Widget Settings.
3. Test and publish
Preview your site to see the widget in action, then publish your changes.
Custom installation
Example with the most commonly used parameters:
window.taubotConfig = {
appId: 'YOUR_APP_ID',
// Button appearance
chatbotButtonBackground: '#4834D4',
chatbotButtonForeground: '#FFFFFF',
chatbotButtonSize: 60,
showChatbotButton: true,
// Positioning
chatbotButtonBottom: 20,
chatbotButtonRight: 20,
// Behavior
autoOpen: false,
mode: 'default', // 'default' or 'cool'
defaultRoute: 'home', // 'home' or 'chat'
defaultMessage: 'Hi! How can I help you?',
closeChatOnOutsideClick: false,
// Dimensions
chatWidth: 400,
maxChatHeight: 700,
// WhatsApp
enableWhatsApp: false,
whatsAppNumber: '+15551234567',
whatsAppMessage: 'Hi! I came from your website and need help.',
// Campaign tracking
attribution: { enabled: true }
};You don't need to define all parameters. The widget works perfectly with just the appId. See the full parameter reference.
Campaign tracking only installation
If you want to track campaign sources and WhatsApp clicks without showing the widget button, use tracking_only mode. The same widget.js file loads tracking automatically when attribution.enabled is active.
<script>
window.taubotConfig = {
appId: 'YOUR_APP_ID',
widgetMode: 'tracking_only',
attribution: { enabled: true }
};
(function() {
var loadWidget = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'https://app.taubot.ai/widget/widget.js';
document.getElementsByTagName('head')[0].appendChild(script);
};
if (document.readyState === 'complete') {
loadWidget();
} else {
window.addEventListener('load', loadWidget);
}
})();
</script>For common WhatsApp links (wa.me, api.whatsapp.com, and web.whatsapp.com/send), TAU already applies tracking defaults automatically. Extra settings are only needed for websites with highly customized buttons.
CDN and loading
The widget is served from the official CDN at app.taubot.ai, ensuring maximum performance and automatic security updates. Always use the single widget.js snippet; it supports both the visual widget and campaign tracking mode.
Asynchronous loading (recommended)
The default method uses asynchronous loading so it doesn't block page rendering:
(function() {
var loadWidget = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'https://app.taubot.ai/widget/widget.js';
document.getElementsByTagName('head')[0].appendChild(script);
};
if (document.readyState === 'complete') {
loadWidget();
} else {
window.addEventListener('load', loadWidget);
}
})();Direct loading
For specific cases where synchronous loading is required:
<script src="https://app.taubot.ai/widget/widget.js"></script>Direct loading may impact page performance. Use only when necessary.
Compatibility
Supported browsers:
| Browser | Minimum version |
|---|---|
| Chrome | 60+ |
| Firefox | 55+ |
| Safari | 12+ |
| Edge | 79+ |
| Opera | 47+ |
| Mobile (modern) | ✅ |
Technical requirements:
- JavaScript enabled
- ES6 support (ECMAScript 2015)
- Internet connection to load the widget
Security and privacy
- ✅ Secure HTTPS connection
- ✅ GDPR compliant
- ✅ Does not collect personal data without consent
- ✅ CSP (Content Security Policy) friendly
- ✅ Loads in isolation (iframe)