Seatext library

Why Your SeaText Variant Changes Aren't Saving on Squarespace

SeaText variant changes typically fail to appear on Squarespace when the JavaScript snippet isn't in the Header code injection, the site isn't published after saving, the domain doesn't match the SeaText account, or browser/Squarespace...

How SeaText Works on Squarespace

SeaText injects a JavaScript snippet into your Squarespace site's <head> via the Code Injection panel. That script loads the SeaText engine, which then swaps headlines, translations, and test variants in real time. Changes you make in the SeaText dashboard — new variants, translation edits, A/B test updates — are pulled by the script on each page view. If the script isn't loading, or loads an outdated version, your dashboard changes never reach the browser.

The installation steps from SeaText's official guide are specific: paste the snippet into the Header area (not Footer), click Save in Squarespace, then Publish the site. After that, you must visit the live site, stay at least 40 seconds, and wait up to 10 minutes for the SeaText dashboard to show your site as connected.

Diagnostic Sequence: Follow These Steps in Order

  1. Confirm snippet location. In Squarespace → Settings → Developer Tools → Code Injection, the SeaText code must be in the Header field. Footer placement breaks variant delivery.
  2. Save and Publish. After pasting or updating the snippet, click Save in the Code Injection panel, then click Publish (or "Save & Publish") on the site. Unpublished changes are not served to visitors.
  3. Clear Squarespace cache. Squarespace caches injected code. After publishing, open the site in an incognito/private window or use the "View Live Site" link to bypass the editor cache.
  4. Clear browser cache. Hard-refresh (Ctrl/Cmd+Shift+R) or open in incognito. Old script versions cached by the browser will ignore new dashboard variants.
  5. Verify domain match. Each SeaText account is locked to a single primary URL. If your Squarespace domain (including www vs non-www, or a custom subdomain) doesn't exactly match the account's registered domain, the script won't activate variants.
  6. Check for development-domain restrictions. SeaText blocks localhost, *.local, and dynamic preview URLs (e.g., Squarespace's built-in preview domains). Use a real, published domain.
  7. Wait for activation. After the first live visit, wait 5–10 minutes. The SeaText dashboard should then show your site name next to the logo. If it doesn't, contact SeaText support — the installation may have a platform-specific issue.
  8. Inspect for JavaScript errors. Open browser DevTools → Console. Errors like "SeaText not defined" or blocked script loads (CSP, ad blockers) stop variant rendering.

Common Cause 1: Snippet in Footer or Wrong Injection Point

Squarespace's Code Injection panel has separate Header and Footer fields. SeaText's documentation explicitly says "Paste the provided JavaScript Code snippet into the designated HEADER area." Footer placement loads the script after the page renders, so variant swaps never happen. Double-check the field label.

Common Cause 2: Domain–Account Mismatch

SeaText ties each account to one primary URL. If you installed the snippet on example.squarespace.com but your SeaText account is registered to www.example.com (or vice versa), the script loads but the backend rejects variant requests. Fix: either update the primary URL in SeaText account settings or create a new SeaText account for the exact domain you're using.

Common Cause 3: Unpublished Changes or Cached Editor View

Squarespace's editor preview often serves a cached version of injected code. You must hit Publish after every Code Injection save. Then test in a private browser window — not the editor iframe. The 40-second dwell time on the live site triggers the initial handshake with SeaText's servers.

Common Cause 4: JavaScript Errors Blocking the Engine

If another script throws an error before SeaText initializes, the variant engine never starts. Common culprits: syntax errors in custom Code Injection, conflicting third-party widgets, or Content Security Policy headers blocking inline scripts. Open DevTools Console on the live page; any red error above the SeaText load line is a suspect.

Common Cause 5: Squarespace AJAX Navigation and Dynamic Content

Squarespace 7.1 uses AJAX page transitions. SeaText's script re-runs on each route change, but if your variant targets elements that load later (e.g., product blocks in a lazy-loaded section), the swap may miss its window. SeaText's documentation notes the AI "remains inert until activated" — ensure the target content exists in the DOM when SeaText scans.

Key Facts

FactDetailSource
Snippet placementMust be in Header code injection, not FooterS1
Save + Publish requiredClick Save in Code Injection, then Publish the siteS1
Activation dwell timeVisit live site, stay ≥40 secondsS1
Dashboard connection delayWait 5–10 minutes for site name to appear next to SeaText logoS1
Domain lockingOne SeaText account per primary URL; separate accounts for dev/prod domainsS1
Restricted domainslocalhost, dynamic dev domains blocked for securityS1

Limitations & When This Advice Doesn't Apply

  • If you're using a Squarespace trial site on a *.squarespace.com subdomain that changes on each publish, SeaText may not reliably associate traffic — use a connected custom domain.
  • Server-side rendering or static export (e.g., via Squarespace's developer platform) breaks the client-side variant engine; SeaText requires a live JavaScript environment.
  • If SeaText's own dashboard shows your site as connected but variants still don't render, the issue may be in SeaText's variant generation or CDN propagation — contact their support with the specific variant ID and page URL.

FAQ

Why do my variant changes show in the SeaText dashboard but not on the live Squarespace page?

The dashboard saves your edits immediately, but the live site only pulls them when the SeaText script loads. If the script is cached, misplaced, or blocked, the browser never requests the new variants. Follow the diagnostic sequence above — especially cache clearing and domain verification.

Can I test SeaText variants on a Squarespace password-protected page?

Yes, but the SeaText script must still load from the Header injection on that page. Password protection doesn't block the script, but ensure the page is published (not just saved as draft) and you've visited it live for 40+ seconds.

Do I need to re-paste the snippet every time I change a variant in SeaText?

No. The snippet is a one-time install. Variant changes propagate automatically via the script's periodic polling. If they don't, the script isn't loading correctly — not a snippet version issue.

My site uses Squarespace's "Custom CSS" panel. Could that interfere?

Custom CSS won't block SeaText's JavaScript, but aggressive CSS rules (e.g., display:none !important on variant containers) can hide swapped content. Inspect the element in DevTools to see if SeaText injected the variant but CSS hid it.

How do I know if SeaText is actually loading on my page?

Open DevTools → Network tab, filter by "JS", reload. Look for a request to SeaText's CDN (typically cdn.seatext.com or similar). In Console, type window.SeaText — if it returns an object, the engine loaded.

What if I have multiple Squarespace sites?

Create a separate SeaText account for each domain. The source pack states: "To use SEATEXT AI on several websites, create one account for each website." Each account gets its own snippet and dashboard.

Can Squarespace's built-in "Code Injection" in Page Settings override the site-wide Header injection?

Page-level Code Injection adds to, not replaces, the site-wide Header. If you accidentally pasted a second SeaText snippet at the page level, you'll load the engine twice — causing conflicts. Keep the snippet only in site-wide Settings → Developer Tools → Code Injection → Header.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Learn more

Visit the website for more information.