Troubleshooting
Symptom-first list of the most common issues with embedding and using the lead widget.
Bubble doesn’t appear on my site
Check the browser console. Most issues are visible there:
Splashify Widget: missing data-widget attribute→ the snippet was pasted incorrectly. Make suredata-widget="lw_..."is present.Failed to fetchon click → the widget config endpoint is unreachable. Check that your network/firewall isn’t blockingapp.splashifypro.com.- Nothing logged at all → the script tag may not have loaded. View
page source and confirm the
<script>tag is actually in the HTML (some site builders strip JS unless explicitly allowed).
Page caching. If you just embedded, your CDN / page cache might still serve the pre-embed HTML. Hard refresh (Ctrl+Shift+R) or purge your CDN cache.
Disabled widget. Open Settings → Lead Widget and verify the “Widget enabled” toggle is on. When disabled, the bubble doesn’t render even if the snippet is on the page.
”This widget isn’t authorised on this site”
The page domain isn’t in your allowed_domains list. Add it:
acme.comANDwww.acme.comare different — list both if you use both.- Subdomains aren’t wildcarded — add
landing.acme.comseparately fromacme.com. - HTTP vs HTTPS doesn’t matter — the host name is what’s matched.
Submissions get “Chat is currently unavailable”
This means the widget tried to redirect to wa.me but you don’t have a WhatsApp number connected. Open Dashboard → WhatsApp Setup and complete Embedded Signup.
”Too many submissions in the last hour”
The 10/hour per-IP rate limit kicked in. Common causes:
- A single user kept submitting the form (legit user — wait an hour or test from a different network).
- A bot is targeting your widget — enable Turnstile.
- You’re testing from your office and multiple devices share the same NAT IP — switch to mobile data for testing.
Form opens but submit button doesn’t work
Open the browser DevTools network tab and click submit:
- 400 with
invalid_phone→ phone format wrong (must be 10–15 digits with optional+). - 403 with
origin_not_allowed→ see “isn’t authorised” above. - 403 with
widget_disabled→ widget toggle is off. - 429 with
rate_limited→ see “Too many submissions” above. - 400 with
turnstile_failed→ Turnstile rejected the challenge; verify the sitekey matches what Cloudflare shows.
Submitted but nothing showed in CRM
Open Settings → Lead Widget → Captures first. If the row is there,
the submission worked. Check Contacts filtered by tag
lead-widget — should be the same record.
If the capture row is NOT there but the visitor reports submission went through:
- They might have hit a transient error and we returned 500. Check the network response in their browser (or yours, replay the test).
- If they got the wa.me redirect, the contact + capture should both exist. Search by phone number.
Visitor went to WhatsApp but nothing in /messages
The wa.me deep-link puts your number in their WhatsApp — the
conversation only appears in /messages after they actually press
send on their device. Many visitors land on the WhatsApp app and
abandon. The contact + capture are still in your CRM.
Widget styles look broken on my site
The widget runs in a Shadow DOM, which means CSS from your site shouldn’t affect it AND the widget’s CSS shouldn’t leak into your site. If you see styling issues:
- Right-click the bubble → Inspect. The widget should be inside
<div id="splashify-lead-widget">followed by#shadow-root (open). - If the shadow root isn’t there → your browser is too old (IE11 / very old Safari). The widget refuses to initialize on these browsers.
- If something looks off inside the form, take a screenshot and email support@splashifypro.in.
CSP (Content Security Policy) blocks the script
Some sites have a CSP header that blocks third-party scripts. You’ll see in the browser console:
Refused to load the script 'https://app.splashifypro.com/widget.js'
because it violates the following Content Security Policy directive:
"script-src 'self'"Add app.splashifypro.com to your CSP script-src directive:
Content-Security-Policy: script-src 'self' https://app.splashifypro.com;
connect-src 'self' https://app.splashifypro.com;The widget also makes fetch() calls to the same host, so
connect-src needs to include it too.
Plan-locked even though I have a paid plan
Open Settings → Subscriptions and confirm your plan is active
and the billing cycle hasn’t expired. The widget gates on
lead_widget_enabled AND plan_status === "active".
If you upgraded but the gate didn’t lift after a few minutes, contact support — the plan flag may not have been set on your specific plan record.
Still stuck?
Email support@splashifypro.in with:
- Your widget ID (
lw_...) from the settings page - Browser console screenshot if applicable
- The URL where you embedded
- A description of what should happen vs what does