notify-when-live ← Back to the button builder

Questions & fixes

Everything that can realistically go wrong with your button, and what to do about it. Most of the time, nothing goes wrong — paste the snippet and you're done.

The button on your site
The button doesn't show up at all

Almost always one of these:

  1. Your site builder stripped the script. Some builders (and most free plans) remove <script> tags. Look for an "embed code" or "custom HTML" block and paste the snippet there.
  2. Your site is built with React/Vue/etc. and the snippet was pasted into a component or set with innerHTML — scripts added that way never run. Put the snippet in your HTML template (e.g. index.html) instead.
  3. Your site has a Content-Security-Policy. See the CSP question below.
  4. The channel name in the snippet is misspelled — the button removes itself if the channel doesn't exist. Rebuild the snippet on the builder page; it checks the name for you.

Tip: open your browser's console (F12) — the widget logs a warning explaining what happened.

The button shows "Notifications unsupported"

That visitor's browser can't do push notifications. Common causes:

  • Your site isn't HTTPS. Push requires it. Most hosts give you HTTPS for free — turn it on.
  • They opened your site inside an app (Instagram, TikTok, Discord's built-in browser). In-app browsers don't support push. In a normal browser it'll work.
  • A very old browser. Nothing to fix on your side.
The button looks unstyled or clashes with my site

Your site's own CSS can restyle the button (that's also what lets you theme it). Use the builder to set colors, text, and corner radius — those settings win over page styles. If your site has an aggressive CSS reset targeting all buttons, give the snippet's surrounding element its own styles, or adjust via the CSS variables --twn-bg, --twn-color, --twn-radius, --twn-bg-subscribed.

My site has a Content-Security-Policy

Add this service to it (replace with your notify server's address if you self-host):

script-src https://your-notify-host; connect-src https://your-notify-host

script-src is required — without it the button can't load at all. If you can only add script-src, that's fine: the button automatically switches to a small subscribe window hosted on the notify server instead.

Why does a popup open when fans click the button?

That's the normal fallback, and it works fine — fans subscribe in the popup and it closes itself.

If you'd rather have fans subscribe right on your page (and have notifications come from your domain instead of the notify server's), download sw.js and upload it to your site's root folder, so it's reachable at yoursite.com/sw.js. The button detects it automatically.

Note: if your site is already a PWA with its own service worker, the popup flow is used on purpose so we never interfere with your existing one.

Your fans' notifications
A fan subscribed but didn't get a notification when I went live

Check these, roughly in order of likelihood:

  1. Give it a minute. Going live is detected by checking Twitch about once a minute.
  2. Their OS is muting notifications — Windows Focus Assist / Do Not Disturb, or notifications disabled for their browser in system settings. The push arrived; it just wasn't shown.
  3. Their browser wasn't running. On desktop, the browser (or its background service) has to be running to receive pushes. On Android they arrive regardless; on iPhone see the iPhone question.
  4. An ad blocker — some aggressive filter lists block push scripts entirely.
  5. They cleared their browsing data, which silently removes push subscriptions. Dead subscriptions are cleaned up automatically; they just need to click the button again.

Tip: subscribed fans can send themselves a test notification any time from the subscribe window (the popup the button opens) to check their setup end to end.

A fan clicked "Block" on the permission prompt by accident

The browser remembers that choice and won't ask again — the button shows "Notifications blocked". They can undo it themselves: click the icon left of the address bar on your site → NotificationsAllow, then click the button again.

Fans on iPhone can't subscribe

Apple only allows web push for sites that have been added to the Home Screen. A fan on iPhone/iPad needs to: open your site in Safari → Share → Add to Home Screen → open it from there → then the button works. The subscribe window shows them this hint automatically. That's an Apple platform rule; no website can work around it.

Someone subscribed while I was live and instantly got a notification

That's intentional. If you're live at the moment someone subscribes, they immediately get their first notification — so they know it works, and they can join the stream that made them want notifications in the first place. They won't get a duplicate for that same stream later.

How do fans unsubscribe?

Click the button again — it flips back to "Notify me when live". They can also revoke the notification permission in their browser's site settings, which kills the subscription on the next send (it's cleaned up automatically).

About the service
How fast do notifications go out after I go live?

Usually within seconds — Twitch tells this service the moment you go live (EventSub). A once-a-minute check runs as a backup in case that link is ever down, so worst case it's about a minute. The notification includes your stream title, category, and a preview thumbnail, and clicking it opens your Twitch channel.

Can I use it on multiple pages, or for multiple channels?

Both. Paste the same snippet on as many pages as you like — a fan's subscription covers your whole site. And you can put several buttons with different data-channel values on one page (for a team or community site); fans subscribe to each channel separately.

What's the catch? What do you collect?

No catch. No accounts, no ads, no analytics, no tracking pixels. The only thing stored is the push subscription a fan's own browser creates — that's the technical address notifications get sent to — plus which channel they want. Nothing is ever sold or shared, and unsubscribing deletes it. The whole thing is open source, so you can check — or run your own copy.