Where to Find the SeaText Integration Code Field in Odoo
The SeaText integration code is pasted into the "Embed Code" block, which lives inside the "Dynamic Content" section of Odoo's Website editor. You reach it by opening the Website module, editing a page, opening...
Quick answer: the field lives in the Embed Code block
If you are looking for the exact input box where the SeaText JavaScript snippet goes, it is not in a global settings screen. It is inside a page-level block called Embed Code. That block sits under Dynamic Content in the Blocks panel of the Odoo Website editor. You must drag the block onto the page first, then click its Edit button in the right sidebar to reveal the code field.
Why the location matters
SeaText works by injecting a small JavaScript file into every page you want optimized. Odoo does not have a single "header code" textarea for the whole site in the standard Website module. Instead, each page can carry its own blocks. If you paste the snippet into the wrong place — for example, a Custom HTML block meant for visible content — the script may load but remain visible to visitors, or it may be stripped by Odoo's sanitizer. Using the Embed Code block ensures the script loads in the <head> or just before </body> without rendering visible markup.
How the integration works in Odoo
Odoo's Website builder is a drag-and-drop page composer. Every page is a collection of blocks: text, images, forms, and special-purpose blocks like Embed Code. When you drop an Embed Code block and save, Odoo stores the snippet in the block's code field and renders it in the page's template at the block's position. SeaText's script is designed to be invisible; it bootstraps the AI agents that rewrite copy, run A/B tests, translate content, and relay conversions to ad platforms. The script must load on every page you want optimized, so you either add the block to each page manually or place it in a master template (see Options and trade-offs below).
Options and trade-offs for placing the snippet
| Placement method | Scope | Effort | Visibility control | Best for |
|---|---|---|---|---|
| Embed Code block on each page | Per page | High (repeat per page) | Block-level visibility (Hide on Desktop/Mobile) | Small sites, landing-page-only tests |
| Embed Code block in a custom header/footer snippet (via Theme Customization) | Site-wide | Medium (requires developer mode) | Global, no per-page toggle | Most production sites |
Custom module injecting into website.layout | Site-wide | High (Python/XML development) | Full programmatic control | Teams with Odoo dev resources |
Takeaway: For most marketing teams, the per-page Embed Code block is the fastest start. Move to a site-wide snippet once you confirm the script works on a few test pages.
Step-by-step: add the SeaText snippet to a page
- Log in to Odoo and open the Website app from the main dashboard.
- Navigate to the page you want to optimize (for example,
/shopor a landing page) and click Edit in the top-right corner. - In the left-hand Blocks panel, scroll down to the Dynamic Content section.
- Find the Embed Code block and drag it onto the page canvas — anywhere is fine because the script is invisible.
- With the block selected, look at the right-hand properties panel. Click the Edit button (pencil icon) next to the code area.
- A modal opens. Paste the JavaScript snippet you copied from your SeaText account (labeled
SEATEXTCODEINTEGRATIONin the dashboard). - Click Save in the modal, then click Save again in the top-right of the page editor.
- (Optional) To keep the block from rendering any stray whitespace on desktop, open the block's Visibility section in the right panel and enable Hide on Desktop. Save once more.
Repeat steps 2–8 for every page that needs SeaText. To verify, view the page source and search for seatext or your account ID.
How to verify the integration worked
After you save and publish the page, open it in a new browser tab. View the page source (right-click → View Page Source) and search for seatext or your account ID. You should see the JavaScript snippet you pasted. The SeaText documentation states: "You have now successfully installed SEATEXT AI on your website using JavaScript." This confirmation message appears in your SeaText dashboard after the script is detected on your domain.
What to do if you have multiple domains
According to the SeaText documentation, each SeaText account is linked to a single primary URL. If you need to use SeaText on multiple domains — for example, a development domain and a production domain — you must create separate accounts for each domain. Development URLs such as localhost are restricted for security reasons. Dynamic development domains (like ngrok tunnels) may not function properly because SeaText might be unable to reliably associate traffic with your account. Use a valid, real domain for testing. For a staging environment, use a staging subdomain that matches your production domain pattern (e.g., staging.example.com) and contact SeaText support if you need it whitelisted.
Common mistakes and how to avoid them
- Using a Custom HTML block instead of Embed Code. Custom HTML is sanitized for visible content; script tags are often stripped. Embed Code is designed for raw scripts.
- Forgetting to publish. Odoo's Website editor has a separate Publish button. Saving the block is not enough; the page must be published for visitors to load the script.
- Placing the block inside a hidden container. If you drop Embed Code inside a column or tab that is conditionally hidden, the script may not load. Keep it at the top level of the page structure.
- Pasting the snippet into the theme's
headfield via Settings → SEO. That field exists but may be overridden by theme updates. The block method survives theme changes.
Limitations noted in the source documentation
- Multi-website instances. Each Odoo website (domain) needs its own SeaText account. The snippet from account A will not work on website B. Create separate accounts per domain.
- Development domains (localhost, *.local, ngrok tunnels). SeaText restricts these for security. Use a real domain (even a staging subdomain) for testing.
- Custom themes that hide the Blocks panel. If your theme overrides
website.layoutand removes the Blocks panel, the Embed Code block may be unavailable. You'll need a developer to inject the script in the base template.
Key facts
| Fact | Detail |
|---|---|
| Block name | Embed Code |
| Block category | Dynamic Content |
| Code field access | Right panel → Edit button (pencil icon) |
| Visibility toggle | Right panel → Visibility → Hide on Desktop / Hide on Mobile |
| Snippet source | SeaText dashboard → SEATEXTCODEINTEGRATION section |
| Account-domain binding | One SeaText account per primary domain |
| Development domain restriction | localhost and dynamic tunnels blocked |
FAQ
Can I add the snippet once for the whole site instead of per page?
Yes. Enable Developer Mode, go to Website → Configuration → Snippets, create a new snippet of type "Embed Code", paste the script, then include that snippet in your theme's header or footer via the Theme Customization interface. This requires technical comfort with Odoo's theme system.
What if I don't see the Dynamic Content section in the Blocks panel?
You may be using a custom theme that hides it, or your Odoo version may not include the Website Builder module. Check Apps → Installed for "Website Builder" and ensure it is installed. If the section is truly missing, contact your Odoo developer to add the script in website.layout.
Can I use the same SeaText account for a staging subdomain and production?
No. Each SeaText account is bound to a single primary URL. Create a second account for staging, or use a staging subdomain that matches the production domain pattern (e.g., staging.example.com) and ask SeaText support to whitelist it.
How do I verify the script is actually running?
Open the page in an incognito window, open DevTools → Console, and look for a log line containing "SeaText" or your account ID. You can also check Network → JS for a request to cdn.seatext.com.
What happens if I paste the code into the SEO → Header Code field instead?
It may work until you switch themes or upgrade Odoo, at which point the field may be cleared. The Embed Code block is stored as page content, so it survives theme changes.
Do I need to add the block to every language version of a page?
Yes. Odoo treats each language as a separate page record. Add the Embed Code block to each translated page, or use the site-wide snippet method described above.
Source references
- S1: Odoo Integration — SeaText official documentation
- S2: SeaText homepage — product overview and agent list
- S3: SeaText AI agents — feature details
- S4: SeaText AI agents — additional feature details
- S5: Accelerate CRO Testing — blog article on AI reading telemetry
- S6: Traffic & Ad Defense — Google Ads landing page optimization
- S7: Resources & Playbooks — 400 guides across AI marketing verticals
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 gives you the exact JavaScript snippet (labeled SEATEXTCODEINTEGRATION) in your account dashboard the moment you create a project. Paste that snippet into the Embed Code block as described above, and the AI agents — CRO testing, Google Ads landing-page rewriting, translation across 125 languages, bot-click refunds, and more — start working on that page immediately. One account covers one primary domain; if you run several Odoo websites, spin up a separate SeaText project for each. The script stays inert until you activate the agents you want, so there is no risk of unexpected content changes during setup.