Skip to main content

Troubleshooting

Possible causes:
  • The snippet is not loading on that page
  • The script is blocked by a Content Security Policy (CSP)
  • An ad blocker or privacy extension is blocking the script
  • Tag Manager or website code has syntax errors (missing quotes, unclosed tags)
What to try:
  1. Confirm the snippet is present in the page source and placed before </body>
  2. Temporarily disable ad blockers and retry
  3. Open Developer Tools → Console tab and look for script load errors
  4. Verify any Tag Manager configuration has proper punctuation and syntax
If your site uses Content Security Policy (CSP), your policy may need to allow the widget script.What to try:
  1. Ask your web team to add the widget CDN domain to your CSP allowlist
  2. Check your CSP header for script-src directives that may block external scripts
  3. If your CSP is strict, you may also need to allow any required destinations used by the widget
If your organization requires a formal security review, share your CSP errors and current CSP header with PolyAI support.
If your website is primarily rendered inside an iFrame, some browser rules can restrict behavior.What to try:
  1. Test the widget on the top-level page (not embedded in an iFrame)
  2. Check your iFrame sandbox attributes and whether scripts and top navigation are allowed
Possible causes:
  • Low contrast or too small on mobile
  • Camera permissions or scanner limitations
What to try:
  1. Increase the QR size (if configurable)
  2. Test with a different scanner app
  3. Ensure screen brightness is sufficient
What to try:
  1. Confirm the issue reproduces with extensions disabled
  2. If your audience often uses ad blockers, consider adding installation guidance to your help center

Best practices

Placement and UX

  • Place the widget in a bottom corner and keep it consistent across pages
  • Avoid overlapping key UI elements: cookie banners, accessibility controls, “Back to top” buttons, mobile navigation
  • If you use a sticky footer, test the widget on mobile to ensure it remains tappable

Performance

  • Load the widget asynchronously (the script snippets do this by default)
  • Avoid duplicating the snippet in multiple places
  • For performance-sensitive sites, consider loading the widget only on high-intent pages (checkout, booking, support)

Privacy and security

  • Only include the widget on domains you control
  • Review your privacy policy to ensure it covers chat interactions
  • If you use cookie consent, confirm whether chat functionality should wait until consent is granted

Contacting support

If you can’t resolve an issue, contact support and include:
  • The affected page URL(s)
  • The date and time the issue occurred
  • Browser and version (e.g., Chrome 122)
  • Device and OS (e.g., iPhone 15, iOS 17)
  • Whether ad blockers, VPN, or privacy tools are enabled
  • A screenshot of the broken widget and any browser console errors
Last modified on March 22, 2026