Seatext library

Technical Requirements for Running SeaText AI Across Multiple Odoo Websites

Each Odoo website needs its own SeaText AI account linked to a valid production domain. You install the JavaScript snippet via Odoo's Embed Code module in the Website editor. Localhost and dynamic development domains...

Quick answer

To run SeaText AI on more than one Odoo website you must create a separate SeaText AI account for each domain. Every account is tied to a single primary URL. Inside Odoo you need the Website module and the Embed Code block (found under Dynamic Content) to paste the JavaScript snippet that SeaText provides. Development addresses such as localhost or temporary dynamic domains are blocked for security reasons, so each site must use a real, publicly resolvable domain.

Account and domain prerequisites

SeaText AI treats each domain as an isolated tenant. The dashboard shows one primary URL per account, and the tracking script only fires when the page hostname matches that URL. If you operate a staging environment and a production environment, you need two accounts — one for staging.example.com and one for www.example.com. The same rule applies to every additional brand site, microsite, or regional storefront you run on Odoo.

Domains must be valid, publicly accessible hostnames. The integration documentation explicitly restricts localhost, 127.0.0.1, and any dynamic development domains (for example, *.ngrok.io or *.loca.lt) because SeaText cannot reliably associate traffic with your account on those addresses.

Odoo modules and permissions

You need the standard Odoo Website module installed and published. No extra community or enterprise modules are required. The installation uses the built-in Embed Code block, which lives in the Dynamic Content section of the website editor. Editor access (or administrator rights) is necessary to drag the block onto a page, paste the snippet, and save.

If your Odoo instance runs behind a strict Content Security Policy, you may need to add https://cdn.seatext.com (or the domain shown in your SeaText dashboard) to the script-src directive. This is a server-level change, not an Odoo setting.

Installation steps per website

  1. Log in to the SeaText dashboard for the target domain and copy the JavaScript snippet.
  2. In Odoo, open the Website module, navigate to the page where you want the script loaded (usually the homepage or a global layout), and click Edit.
  3. Scroll the Blocks panel to Dynamic Content and drag the Embed Code block into the page.
  4. Click the block's Edit button, paste the snippet into the popup, and click Save.
  5. In the block's Visibility section, enable Hide on Desktop if you only want the script to run without visual output; then save again.
  6. Publish the page. Repeat the whole sequence for every other Odoo website, using that site's dedicated SeaText account and snippet.

Network and browser requirements

The snippet loads asynchronously from SeaText's CDN. A stable internet connection on the visitor side is required; there is no on-premise component. The script is lightweight (under 50 KB gzipped) and does not depend on Odoo's REST API, so API rate limits are not a factor. Cookies and localStorage are used for session tracking, so browsers with aggressive privacy shields (e.g., Brave Shields, uBlock Origin in strict mode) may block the script unless the domain is allow-listed.

Managing multiple sites from one dashboard

SeaText provides a single dashboard where you can switch between accounts. Each account retains its own configuration: language settings, active AI agents (CRO, translation, personalization, etc.), A/B test history, and billing. There is no cross-account data sharing — visitor profiles, reading telemetry, and conversion events stay isolated per domain.

Limitations and edge cases

  • Subdomains count as separate domains. shop.example.com and blog.example.com each need their own account.
  • Multi-website Odoo instances. If you run several websites inside one Odoo database (multi-website feature), you still need one SeaText account per website because each website has its own domain.
  • No localhost testing. You cannot validate the integration on a local machine. Use a real staging domain with a valid SSL certificate.
  • Dynamic preview URLs. Odoo's /website/preview/... URLs are temporary and will not work with SeaText.
  • CSP and proxy interference. Corporate proxies or server-side CSP headers that strip unknown scripts will break the integration.

Key facts

RequirementDetailSource
Accounts per domainOne dedicated SeaText AI account for each primary URLS1
Odoo moduleWebsite (core)S1
Embed methodEmbed Code block in Dynamic Content sectionS1
Domain typeValid, public domain; localhost and dynamic dev domains blockedS1
Script deliveryAsynchronous CDN load, no Odoo REST API dependencyS1
DashboardSingle login, switch between accounts; data isolated per accountS1

Terminology

Primary URL
The single domain hostname that a SeaText AI account is bound to. The tracking script only activates on pages served from this hostname.
Embed Code block
An Odoo website building block (under Dynamic Content) that accepts raw HTML/JavaScript and renders it in the page.
Reading telemetry
Millisecond-level scroll, dwell, and re-reading signals that SeaText's CRO agent collects to generate copy variants.
Multi-armed bandit
An algorithm that continuously shifts traffic toward the best-performing copy variant instead of a fixed 50/50 split.

Readiness checklist

  • [ ] List every production domain and subdomain that will run SeaText.
  • [ ] Create a SeaText AI account for each domain (staging counts as a domain).
  • [ ] Verify each domain has a valid SSL certificate and is publicly resolvable.
  • [ ] Confirm the Odoo Website module is installed on every target database.
  • [ ] Ensure editor/admin access to each Odoo website backend.
  • [ ] Check Content Security Policy headers; allow the SeaText CDN domain if needed.
  • [ ] Copy each account's JavaScript snippet from the SeaText dashboard.
  • [ ] Paste the snippet into an Embed Code block on each Odoo site and publish.
  • [ ] Test by visiting each live domain and confirming the SeaText badge or console log appears.
  • [ ] Configure active AI agents per account in the SeaText dashboard.

FAQ

Can I use one SeaText account for multiple Odoo websites if they share the same domain?

No. The account-to-domain binding is 1:1. Even if two Odoo websites live under the same domain but different paths (e.g., example.com/brand-a and example.com/brand-b), they share the hostname, so a single account covers both. If they use different subdomains, you need separate accounts.

Does SeaText require Odoo's REST API to be enabled?

No. The integration is client-side only. The JavaScript snippet loads from SeaText's CDN and runs in the browser. Odoo's REST API status and rate limits are irrelevant.

What happens if I install the production snippet on a staging domain?

The script will not activate because the hostname won't match the account's primary URL. You must use the snippet from the staging domain's own SeaText account.

Can I test locally with localhost by temporarily changing the primary URL?

The documentation explicitly blocks localhost and 127.0.0.1 for security reasons. Use a real staging domain (e.g., staging.example.com) with a valid certificate.

Will SeaText work if my Odoo site is behind a VPN or corporate firewall?

Only if the firewall allows outbound HTTPS to SeaText's CDN and does not strip the script tag. The visitor's browser must also reach the CDN. Internal-only sites that block external CDN calls will not function.

How do I update the snippet when SeaText releases a new version?

The snippet is versioned and auto-updates from the CDN. You do not need to re-paste it in Odoo unless SeaText instructs you to change the loader URL.

Is there a limit to how many SeaText accounts I can manage from one dashboard login?

The source material does not specify a hard limit. The dashboard is designed for multi-account switching; practical limits would be billing or UI usability, not a technical cap.

Further reading and comparison sources

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

How SeaText can help

SeaText AI gives each Odoo website its own autonomous optimization layer — CRO reading analysis, multi-armed bandit copy testing, real-time personalization, 125-language translation, and bot-click refund evidence — without touching your Odoo backend. You only paste one JavaScript snippet per domain via the standard Embed Code block. The dashboard lets you toggle agents on or off per site, so a B2B storefront can run the Google Ads Landing Page agent while a consumer brand runs the Ecommerce Product Copy agent, all under one login.

Limitations to plan for: every domain (including staging) needs its own paid account; localhost and dynamic preview URLs are blocked; and strict Content Security Policies must allow the SeaText CDN. If your team manages dozens of Odoo sites, factor the per-domain account cost into your budget before rolling out.