The widget isn't showing on my website. What's wrong
Open browser devtools (F12) on the host page and look at the Console tab. 9 of 10 missing-widget cases are 1 of 3 things. Wrong paste spot, a site CSP that…
Open browser devtools (F12) on the host page and look at the Console tab. 9 of 10 missing-widget cases are 1 of 3 things. Wrong paste spot, a site CSP that blocks the script, or an HTTP page instead of HTTPS.
What "missing" usually means
The widget renders by injecting a small button into the host page right before `</body>`. If the script never loads, never executes, or executes but cannot mount the button, you see nothing. The script itself is under 40KB and load time is around 80ms on a fast connection.
Think of it like a doorbell. The wires are there, but if the breaker is off, no chime.
How to diagnose in 60 seconds
Run these 4 checks in order:
- View source on the page and confirm the `<script async src="https://widget.lemaudit.com/v1/agency_...js"></script>` line is present, just before `</body>`. If it sits inside `<head>` or in a comment, it will not run. See install steps.
- Hard refresh with Ctrl+Shift+R (Cmd+Shift+R on Mac). 1 in 4 reports turn out to be a stale cache.
- Check the Console for "Refused to load" messages. If your site has a Content-Security-Policy header, add `widget.lemaudit.com` to `script-src`.
- Confirm the page URL starts with https://. The widget refuses to mount on HTTP origins because lead emails would travel in plaintext.
If those pass and the button is still invisible, a competing script may be hiding it with CSS. Search the page for `#lemaudit-widget` to confirm the element exists in the DOM.
Worked example
A WordPress agency installed the script via Elementor's "Custom Code → Footer". The widget did not show. Devtools revealed the script was wrapped in an `<!-- HTML comment -->` because the editor escaped angle brackets. They re-pasted in the Theme File Editor → footer.php instead. The button appeared on the next page load.
When this isn't right
Single-page apps with strict client-side routing (some Webflow templates, Next.js apps) sometimes unmount the widget during route changes. For those, install via your tag manager (GTM) and reload on route change. Or use the hosted audit page and link to it from a regular button instead of embedding the widget.