Widget Not Appearing

If your Enorve chat widget isn't showing up on your website, follow this troubleshooting guide to identify and resolve the issue.

Quick Checklist

Before diving into detailed troubleshooting, verify these common issues:

Check What to Look For
Widget Status Is the widget enabled in Channels?
Embed Code Is the script placed before </body>?
Widget ID Does the ID in the code match your widget?
Browser Console Are there any JavaScript errors?
Network Tab Is the widget script loading successfully?

Step 1: Verify Widget is Enabled

  1. Go to Channels in the sidebar
  2. Find your Live Chat widget
  3. Check the status badge:
    • Active (green): Widget is enabled
    • Inactive (gray): Widget is disabled
  4. If inactive, click Enable to activate it

Step 2: Check the Embed Code

Correct Placement

The widget script must be placed before the closing </body> tag:

<!-- Your page content -->

<script>
  (function() {
    var script = document.createElement('script');
    script.src = 'https://[your-instance]/functions/v1/chat-widget';
    script.dataset.widgetId = '[your-widget-id]';
    script.async = true;
    document.head.appendChild(script);
  })();
</script>
</body>
</html>

Common Mistakes

Issue Problem Solution
Wrong location Script in <head> Move to before </body>
Missing widget ID data-widget-id empty Copy correct ID from Channels
Typo in URL Script source incorrect Re-copy embed code from Enorve
Duplicate scripts Widget loaded twice Remove duplicate script tags

Getting Fresh Embed Code

  1. Go to Channels → Live Chat
  2. Find your widget
  3. Click Get Code
  4. Copy the entire script
  5. Replace your existing code

Step 3: Check Browser Console for Errors

  1. Right-click on your website
  2. Select Inspect (or press F12)
  3. Go to the Console tab
  4. Look for red error messages

Common Error Messages

"Widget key not found" or "Invalid widget ID"

Cause: The widget ID in your embed code doesn't exist or was deleted.

Solution:

  • Go to Channels in Enorve
  • Verify the widget exists
  • Click Get Code to get the correct ID
  • Update your embed code

"Failed to load resource" or Network Error

Cause: Script couldn't be downloaded.

Solutions:

  • Check your internet connection
  • Verify the script URL is correct
  • Check if a firewall or ad blocker is blocking the request

"Content Security Policy" (CSP) Error

Cause: Your website's security policy is blocking the widget.

Solution: Add Enorve to your CSP headers:

script-src: https://*.supabase.co
connect-src: https://*.supabase.co wss://*.supabase.co

Step 4: Check Network Requests

  1. Open browser DevTools (F12)
  2. Go to the Network tab
  3. Refresh the page
  4. Search for "chat-widget"
  5. Check the status code:
    • 200: Script loaded successfully
    • 404: Widget ID not found
    • 403: Access forbidden (check tenant status)
    • 500: Server error (contact support)

Step 5: Secure Mode (JWT) Issues

If you're using JWT secure mode and the widget doesn't load:

"Invalid or expired authentication token"

Causes:

  • JWT signature doesn't match (wrong secret)
  • Token has expired
  • Missing required claims (tenant_id, user_id)

Solutions:

  • Verify you're using the correct JWT secret
  • Check token expiration (exp claim)
  • Ensure all required claims are present
  • Test with a fresh token

"Authentication required for identified users"

Cause: You passed userId without a valid JWT.

Solution: Always pass a JWT token when specifying a userId.

Step 6: Operating Hours

The widget may be hidden outside operating hours:

  1. Go to SettingsLive Chat
  2. Check Operating Hours settings
  3. Verify current time falls within your configured hours
  4. Check the timezone settings

Step 7: Page-Specific Issues

Single-Page Applications (SPAs)

If your site uses React, Vue, or Angular:

  • The widget may not initialize on route changes
  • Ensure the script runs after the page component mounts

WordPress / Page Builders

Some themes/plugins may strip or modify script tags:

  • Use a "Raw HTML" block or dedicated script injection plugin

Still Not Working?

If you've tried all steps above:

Collect information:

  • Browser console errors (screenshot)
  • Network tab errors (screenshot)
  • Your widget ID
  • Your website URL

Contact support with this information at hello@enorve.com