Common Mistakes to Avoid When Setting Up SeaText AI on Odoo
The most frequent setup errors come from skipping the SeaText account creation step, pasting the wrong JavaScript snippet, forgetting to hide the embed block on desktop, and using restricted development URLs like localhost. Each...
Setting up SeaText AI on Odoo is straightforward when you follow the exact sequence, but a handful of predictable missteps cause most of the failed installations we see. The root cause is usually rushing past a prerequisite or missing a single visibility toggle in the Odoo editor.
Below is a practical breakdown of the mistakes that stop the script from loading, plus the correct order of operations so you can verify the install before you walk away.
Why the Setup Process Matters
SeaText AI runs as a JavaScript snippet embedded through Odoo's "Embed Code" block. The script stays inert until it detects a valid SeaText account tied to the domain you're editing. If the account doesn't exist, the domain doesn't match, or the block is visible to visitors, the integration either does nothing or injects raw code onto the live page. Both outcomes are avoidable with a disciplined setup.
Common Mistake 1: Skipping Account Creation Before Pasting Code
The installation guide explicitly states you need a SeaText AI account before you copy the snippet. Without an account, the code has no backend to call home to. Users often paste the placeholder snippet from a demo page or a colleague's dashboard, then wonder why nothing appears in the SeaText dashboard.
Fix: Create the account first at seatext.com, then copy the unique snippet generated for that specific domain.
Common Mistake 2: Using the Wrong JavaScript Snippet
Each SeaText account is bound to a single primary URL. The snippet you copy from the dashboard contains an account identifier that only works for that domain. Copying a snippet from a staging account into production, or vice versa, will silently fail — the script loads but never activates.
Fix: Match the snippet to the exact domain you're editing. If you run a development domain and a production domain, you need two separate SeaText accounts, each with its own snippet.
Common Mistake 3: Forgetting to Hide the Embed Block on Desktop
Step 6 in the official instructions tells you to select "Hide on Desktop" in the Visibility section of the Embed Code block. This is not optional styling — it prevents the raw script tag from rendering as visible text on your live pages. Skipping this step leaves a block of JavaScript sitting at the top or bottom of every page where you placed the module.
Fix: After pasting the code and clicking Save, open the block's Visibility settings, check "Hide on Desktop," and click Save again.
Common Mistake 4: Using Restricted Development URLs
SeaText restricts development URLs such as localhost and dynamic tunneling domains (e.g., ngrok, localhost.run) for security reasons. The script will not reliably associate traffic with your account on these addresses. If you test on localhost:8069, the integration will appear broken.
Fix: Use a real, publicly resolvable domain for testing. A staging subdomain like staging.yourcompany.com works; localhost does not.
Common Mistake 5: Not Verifying the Script Loaded
After saving the Embed Code block, many users assume the job is done. The script only activates when a visitor (or you) loads the page. If you don't visit the page and check the browser's developer tools Network tab for the SeaText request, you won't know whether the snippet is actually executing.
Fix: Open the page in an incognito window, open DevTools → Network, filter for "seatext," and confirm a 200 response. Then check the SeaText dashboard for a live session.
Common Mistake 6: Confusing Multi-Site and Multi-Domain Requirements
The documentation states: "To use SeaText AI on several websites, create one account for each website." This applies even when multiple Odoo websites share the same database. Each distinct domain needs its own SeaText account and its own Embed Code block with that account's snippet.
Fix: Inventory every domain that will run SeaText. Provision an account per domain. Paste the matching snippet into each Odoo website's Embed Code block.
Step-by-Step Correct Setup Process
- Create a SeaText AI account for the target domain at seatext.com.
- Copy the JavaScript snippet shown in the SeaText dashboard for that account.
- Log in to Odoo, open the Website module, and navigate to the page you want to edit.
- Click Edit, then drag an "Embed Code" block from the Dynamic Content section into the page.
- Click the Edit button on the right panel of the Embed Code block.
- Paste the SeaText snippet into the pop-up and click Save.
- In the block's Visibility settings, enable "Hide on Desktop" and click Save again.
- Visit the live page in a private browser window; verify the script loads in DevTools and appears in the SeaText dashboard.
Key Facts
| Fact | Detail | Source |
|---|---|---|
| Installation method | JavaScript snippet via Odoo Embed Code block | S1 |
| Account requirement | One SeaText account per primary domain | S1 |
| Development URL restriction | localhost and dynamic tunnels are blocked | S1 |
| Visibility setting | Must enable "Hide on Desktop" on the Embed Code block | S1 |
| Multi-site rule | Separate account required for each website/domain | S1 |
| Script behavior | Inert until activated by valid account-domain match | S1 |
Limitations and When This Advice Doesn't Apply
These steps cover the standard JavaScript embed via Odoo's Website module. They do not apply if you are injecting the script through a custom Odoo module, a server-side proxy, or a headless frontend that consumes Odoo via API. In those architectures, the Embed Code block and visibility toggle are irrelevant — you must ensure the snippet reaches the browser on every page load and that the domain matches the SeaText account.
Also, the "Hide on Desktop" instruction assumes you are using Odoo's built-in website editor. If you use a third-party theme that overrides block visibility, you may need to hide the block via CSS (display: none;) instead.
FAQ
Can I use one SeaText account for multiple Odoo websites in the same database?
No. Each distinct domain requires its own SeaText account. The system ties activation to the primary URL registered in the account.
What happens if I paste the snippet but don't enable "Hide on Desktop"?
The raw JavaScript will render as visible text on the page for every visitor. It looks broken and exposes your snippet publicly.
Why does my staging site on ngrok not show data in the SeaText dashboard?
Dynamic development domains are restricted. Use a real subdomain (e.g., staging.example.com) with a valid SSL certificate.
Do I need to reinstall the snippet after an Odoo version upgrade?
Not typically. The Embed Code block persists across Odoo updates. However, if a major upgrade changes the Website module's block system, verify the block still exists and the snippet is intact.
How do I know the script is actually working?
Open the page in an incognito window, check the Network tab for a request to SeaText's domain returning 200, then confirm a live session appears in your SeaText dashboard within a minute.
Can I place the Embed Code block in the website footer instead of a specific page?
Yes. Placing it in a global footer or header block ensures the script loads on every page. Just remember to hide it on desktop there as well.
Is there a way to test without a live domain?
No. SeaText requires a real, resolvable domain to associate traffic. Localhost and tunneling services are explicitly blocked.
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 provides the JavaScript snippet and a dashboard that shows live sessions once the embed is active. The account creation flow at seatext.com generates the exact snippet tied to your domain. If you hit a snag — script not loading, dashboard staying empty, or multi-domain confusion — the support team can verify the account-domain match and confirm the snippet is correct for your environment.
Limitation: SeaText does not manage your Odoo configuration. You must place the Embed Code block, enable "Hide on Desktop," and ensure the domain is publicly resolvable. The platform cannot bypass Odoo's editor or the browser's same-origin policy.