TAU Widget

Events

Capture TAU Widget events to integrate with analytics, automations, and external systems.

Events

The TAU Widget emits events via window.postMessage that can be captured for integration with analytics systems, automations, or other functionality.


Available events

EventWhen it fires
Loaded appWidget fully loaded
Opened chat windowUser opened the chat window
Sent messageUser sent a message
Clicked buttonUser clicked a button inside the chat
conversionA conversion or important action occurred
toolResponseA tool was executed in the chat

Capturing events

window.addEventListener('message', function(event) {
  // Verify origin for security
  if (event.origin !== 'https://app.taubot.ai') return;

  switch (event.data.type) {
    case 'Loaded app':
      console.log('Widget loaded');
      break;

    case 'Opened chat window':
      console.log('Chat opened');
      break;

    case 'Sent message':
      console.log('Message sent');
      break;

    case 'Clicked button':
      console.log('Button clicked');
      break;

    case 'conversion':
      console.log('Conversion:', event.data.data);
      break;

    case 'toolResponse':
      console.log('Tool executed:', event.data.data);
      break;
  }
});

Always verify event.origin before processing the event. This ensures the events come from the official TAU widget.


Integrations

Google Analytics (GA4)

window.addEventListener('message', function(event) {
  if (event.origin !== 'https://app.taubot.ai') return;

  if (event.data.type === 'Opened chat window') {
    gtag('event', 'chat_opened', {
      event_category: 'engagement',
      event_label: 'tau_widget'
    });
  }

  if (event.data.type === 'conversion') {
    gtag('event', 'conversion', {
      event_category: 'lead_generation',
      value: event.data.data?.value || 1
    });
  }
});

Meta Pixel (Facebook)

window.addEventListener('message', function(event) {
  if (event.origin !== 'https://app.taubot.ai') return;

  if (event.data.type === 'conversion') {
    fbq('track', 'Lead', {
      content_name: 'TAU Widget Conversion',
      content_category: 'customer_support'
    });
  }
});

Custom API

window.addEventListener('message', function(event) {
  if (event.origin !== 'https://app.taubot.ai') return;

  if (event.data.type === 'Sent message') {
    fetch('/api/chat-events', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        event_type: 'message_sent',
        timestamp: new Date().toISOString(),
        page_url: window.location.href
      })
    });
  }
});

Security

Best practices:

  • 🔐 Always verify event.origin === 'https://app.taubot.ai'
  • ✅ Validate the event type before processing
  • 🛡️ Do not execute code based solely on event data without validation
  • 📝 Log suspicious events for auditing

On this page