Skip to main content
Skip to main content

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-id and pk_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.com domain. 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.com staging 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

Use this for a floating chat launcher on every page. It’s the right path 95% of the time.

  1. From your Wix Dashboard, go to Settings → Custom Code under Development & integrations.
  2. Click + Add Custom Code.
  3. Paste the snippet into the code editor.
  4. Name: something you’ll recognize later (e.g. “PodSaid Widget”).
  5. Add code to pages: choose All pages and select Load code once. The widget only needs to boot once per session.
  6. Place code in: choose Body – end. Head also works but Body – end matches our defer semantic and is very slightly faster to render.
  7. Click Apply.
  8. 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):

  1. In the Wix Editor, click + Add Elements → Embed Code → Embed HTML.
  2. Drag the element to where you want the widget.
  3. Click the element and choose Enter Code.
  4. Paste the snippet.
  5. Set a reasonable minimum height (e.g. 500 px) — the iframe won’t auto-grow to fit chat content.
  6. 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-site
  • https://yourchurch.org (and https://www.yourchurch.org if 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

  1. Open your live site URL in a normal browser window — not the Wix Editor and not Preview.

  2. Look for the floating launcher (default: bottom-right).

  3. Click it. If a chat box slides in, you’re done.

  4. 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?