Appearance
Troubleshooting
If the verify-install step in the dashboard fails — or if you're seeing unexpected behaviour after a successful install — the failures below cover the most common causes and how to fix them.
Snippet not found in your HTML
The dashboard's verify step fetches your origin URL and looks for a <script> tag pointing to cdn.dlserve.ai. This check fails when the tag is missing or blocked.
Causes
- The snippet was not placed inside
<head>(or anywhere in the HTML document sent to the browser). - A Content Security Policy (CSP) header is blocking the external script before the browser executes it.
- The channel ID in your snippet does not match the channel you are verifying in the dashboard.
- The snippet is inside a tag manager that fires after our verification crawler has already left the page.
Fixes
- Confirm the channel ID. In the dashboard, open the channel, click View snippet, and compare the ID in the URL (e.g.
ch_xxxxxxxxxxxxxxxx) with what's in your HTML source. - Add
cdn.dlserve.aito yourContent-Security-Policy'sscript-srcdirective:Content-Security-Policy: script-src 'self' https://cdn.dlserve.ai; - If you are using a tag manager, also add the snippet directly to the page's
<head>for the verify check, then you can migrate it back to the tag manager once the channel is active.
Service worker not reachable
After the snippet loads it registers a service worker served from our API at /sw/<channelId>.js. If that registration fails, push delivery will not work.
Causes
- Your site is served over HTTP, not HTTPS. Browsers only allow service workers on secure origins.
- A CSP
worker-srcorscript-srcdirective blocks the service worker URL. - Mixed content: the parent page is HTTPS but the SW registration URL resolves to HTTP.
Fixes
- Ensure your entire site is served over HTTPS. Service workers are unconditionally blocked on plain HTTP (except
localhost). - Add
api.dlserve.aito yourContent-Security-Policy'sworker-src(orscript-srcifworker-srcis not set separately):Content-Security-Policy: worker-src 'self' https://api.dlserve.ai; - In your browser's DevTools → Application → Service Workers, check for any registration error message and include it when contacting support.
No subscribers after 24 hours
The snippet and service worker are working, but your subscriber count stays at zero.
Causes
- The opt-in strategy has a long delay and visitors are leaving before the prompt fires.
- Visitors are dismissing the browser permission prompt (or their browser auto-blocks it due to a previous dismissal on your domain).
- All of your traffic is from browsers or platforms that are not yet supported (e.g. iOS Safari).
Fixes
- In the dashboard, open your channel's Opt-in strategy settings. If you are using the Delayed strategy, reduce the delay or switch to Soft-ask.
- Check the Deliveries report for a "Permission shown" count. If it is zero, the prompt is not being triggered at all; if it is greater than zero but opt-ins are still zero, visitors are actively declining.
- Verify your analytics for iOS vs Android/desktop split — iOS visitors cannot subscribe until iOS Safari support is added.
Push notifications not arriving on Chrome
Subscribers are recorded but Chrome users report not receiving notifications.
Causes
- Chrome has revoked the push subscription on the device due to inactivity or a browser update.
- The FCM (Firebase Cloud Messaging) endpoint has expired and the service worker has not yet rotated it.
Fixes
- The service worker checks for and rotates expired endpoints automatically on the next page load. A missed message should not repeat, but the next scheduled delivery should arrive normally within an hour of the rotation.
- If the problem persists for more than an hour, check the Subscribers table in the dashboard for that subscriber's status. A status of
expiredmeans rotation failed — contact support with the subscriber ID.
Push not arriving on Edge
Edge users report delayed or missing notifications.
Causes
- Microsoft's push service (WNS) can have transient delays of up to several hours, particularly during off-peak maintenance windows.
- WNS rate limits per endpoint can cause a backlog when a large batch is delivered simultaneously.
Fixes
- This is usually a transient condition. Ask the user to check again after a day — the notification commonly arrives with a delay rather than being dropped entirely.
- If the pattern is consistent over multiple days, contact your dlserve representative with the channel ID and approximate delivery times so we can cross-check against WNS error logs.
Still stuck? Email your dlserve account representative with your channel ID, the browser and OS version where the problem occurs, and any error messages from DevTools → Console or Application → Service Workers.