Install PodSaid on Wix
Wix has two ways to add third-party code, and the difference
matters: Custom Code (site-wide, via the dashboard) runs in the
main page just like a normal <script> tag, while the per-page Embed HTML / Embed a Widget element runs your snippet inside a sandboxed iframe. The PodSaid widget renders a floating chat
launcher via position: fixed, which is trapped inside the iframe
if you use the per-page element. Use Custom Code. The per-page
element only makes sense if you want the widget rendered inline
inside a bounded rectangle on one page — and even then it has real
tradeoffs.
Time: about 3 minutes.
What you need before you start:
- A PodSaid account with a feed set up (see Quickstart).
- The embed snippet from Console → Settings → Embed Code. Your
feed-idandpk_live_key are already substituted. - A Wix Premium plan with a custom domain connected. This
is not our restriction — Wix disables Custom Code entirely on the
free
*.wixsite.comdomain. If you’re on the free plan, upgrade and connect a domain before proceeding. - The domain you connected added to your Allowed Origins. If you
ever visited the
*.wixsite.comstaging URL, add that too — it’s a distinct origin. See Allowed origins.
The 60-second version
Copy the snippet from your PodSaid console:
<script src="https://widget.podsaid.com/v1/widgets.iife.js" defer></script>
<ask-pod-widget
feed-id="yourfeedslug"
api-key="pk_live_xxxxxxxxxxxxxxxx">
</ask-pod-widget> Open your Wix dashboard → Settings → Custom Code → + Add Custom Code. Paste the snippet, name it “PodSaid Widget”, target All pages, place in Body – end, click Apply. Publish your site. View the live URL to verify.
If that just worked, skip to Verifying it works.
Where to paste the snippet
Option A — Custom Code, site-wide (recommended)
Use this for a floating chat launcher on every page. It’s the right path 95% of the time.
- From your Wix Dashboard, go to Settings → Custom Code under Development & integrations.
- Click + Add Custom Code.
- Paste the snippet into the code editor.
- Name: something you’ll recognize later (e.g. “PodSaid Widget”).
- Add code to pages: choose All pages and select Load code once. The widget only needs to boot once per session.
- Place code in: choose Body – end. Head also works but
Body – end matches our
defersemantic and is very slightly faster to render. - Click Apply.
- Publish the site — draft-only changes don’t affect the live URL. Wix requires a full publish, not just Save.
The widget’s floating launcher will appear on every page in the
default position (bottom-right). No visible element needs to be
placed anywhere in the page layout — the widget mounts its own UI
into document.body.
Option B — Embed HTML element (inline, sandboxed)
Use this only if you specifically want the widget rendered inline inside a bounded rectangle on a single page — and you accept that Wix will trap it inside an iframe.
Why we don’t recommend this: the HTML Embed element wraps your
snippet in a sandboxed <iframe>. The widget still works, but:
- The launcher can only position itself inside the iframe, not overlap the rest of the page.
- Iframe height doesn’t auto-resize to the chat pane — visitors may need to scroll inside the iframe.
- Deep-links, focus handling, and analytics events cross an origin boundary and behave differently.
If those tradeoffs are fine for your use case (e.g., a single “Ask a question” section on a Sermons page):
- In the Wix Editor, click + Add Elements → Embed Code → Embed HTML.
- Drag the element to where you want the widget.
- Click the element and choose Enter Code.
- Paste the snippet.
- Set a reasonable minimum height (e.g. 500 px) — the iframe won’t auto-grow to fit chat content.
- Click Update and then Publish.
If you want a floating launcher, use Option A instead.
Option C — Wix Studio (site-wide)
Wix Studio (the newer editor for agencies and advanced designers) has the same site-wide Custom Code feature in its dashboard, in the same location: Settings → Custom Code. Steps are identical to Option A. The per-page equivalent in Studio is called HTML iframe Element — same sandbox tradeoff as Option B.
Common Wix gotchas
1. You’re on the free .wixsite.com domain
Symptom: You go to Settings → Custom Code and the option is missing, greyed out, or shows an upgrade prompt.
Cause: Wix restricts Custom Code to sites on a Premium plan
with a connected custom domain. The free *.wixsite.com domain
does not qualify.
Fix: Upgrade to any paid plan and connect your custom domain (Wix walks you through DNS). Once your Premium plan is active and the domain is connected + verified, Custom Code becomes available. There is no workaround on the free plan — Wix enforces this server-side.
2. Draft vs. published
Symptom: You added the Custom Code, clicked Apply, and reloaded the live URL. Widget doesn’t appear.
Cause: Wix distinguishes between saving/applying changes and publishing them to the live site. Custom Code changes are no different — they don’t reach the live URL until you click Publish in the top toolbar.
Fix: Publish the site. Wait ~30 seconds for the Wix CDN to propagate. Hard-refresh (Cmd+Shift+R / Ctrl+Shift+R).
3. HTTP inside the snippet
Symptom: Widget doesn’t appear on the live site. Browser console
shows a mixed-content warning about http://... being blocked.
Cause: Wix serves your site over HTTPS. Any resource loaded
over plain HTTP is blocked as mixed content — including your widget <script src="...">.
Fix: The PodSaid snippet already uses https:// — if you
edited it to remove the s, put it back. If you’re seeing HTTP
requests to a different origin, they’re not coming from our snippet.
4. The staging URL doesn’t match your allowlist
Symptom: Widget renders on yourchurch.wixsite.com but the API
rejects requests. Console shows [podsaid-widget] Auth failed (403): origin_denied.
Cause: Wix keeps your *.wixsite.com URL alive alongside your
custom domain. These are two different origins.
Fix: In Console → Settings → Allowed Origins, add both:
https://yourchurch.wixsite.com/your-sitehttps://yourchurch.org(andhttps://www.yourchurch.orgif you serve both)
5. Preview mode shows nothing
Symptom: In the Wix Editor’s Preview button, the widget doesn’t appear.
Cause: Wix’s Preview environment sandboxes third-party scripts differently from the live site. Custom Code often does not fire in preview.
Fix: Test on the published live URL, not Preview. This is a Wix quirk, not a widget bug.
Verifying it works
Open your live site URL in a normal browser window — not the Wix Editor and not Preview.
Look for the floating launcher (default: bottom-right).
Click it. If a chat box slides in, you’re done.
Open DevTools console (⌥⌘I on Mac, F12 on Windows). Look for:
[podsaid-widget] v1.8.2 mounted (feed=yourfeedslug, api=https://api.podsaid.com)
If the widget appears but questions fail, jump to Widget errors — what each one means.
When the widget shows “still preparing your content”
If ingest hasn’t finished for your feed yet, the widget renders a friendly placeholder instead of an error. Your paste is correct — you just don’t have content to answer questions against yet. Watch progress under Console → Feed → Ingest status, or wait for the “your widget is live” email.
See How ingest works (and why it takes hours).
Match your brand
The widget renders inside a Shadow DOM, so your site’s CSS can’t reach the widget and the widget’s CSS can’t leak into your site — nothing in your theme will accidentally break the widget’s look. To make it match your church or podcast brand, the widget exposes a set of CSS custom properties and Shadow Parts you can target from your own stylesheet.
See Customization (CSS) for the full list, with copy-paste examples.
Still stuck?
- Errors index: Widget errors — what each one means
- Book a 15-minute call with Mark: /docs/support
- Email:
[email protected]— include the live URL, a screenshot of the browser console, and note whether you’re on classic Wix Editor or Wix Studio