How to Avoid Duplicate SeaText Accounts for Multiple Odoo Domains
Each SeaText account is linked to a single primary URL, so multiple Odoo domains need separate accounts, not one shared account. To avoid duplicate accounts, inventory every domain, create one account per real website,...
Each SeaText account is tied to one primary URL. That fact is the key to avoiding duplicate accounts when you run several Odoo domains. You do not need to squeeze every domain into one account; you need one account per real domain, and a clear record so nobody creates a second account for the same website.
A duplicate SeaText account is two accounts pointing to the same domain, or an account for a temporary URL you never use. Separate accounts for separate websites are not duplicates; SeaText requires them. The source documentation says an account is linked to a single primary URL, and to use SeaText on several websites, you create one account for each website.
What counts as a duplicate SeaText account?
A true duplicate is the same primary URL attached to more than one account. That can happen when one person creates an account for example.com and another person creates a second account for the same example.com. It can also happen when someone creates an account for a staging URL, then later creates another account for the production URL, and then both end up installed on the same site.
Having a separate account for a development domain and a separate account for a production domain is not a duplicate. SeaText's instructions say that if you need to use SEATEXT AI on multiple domains, such as a development domain and a production domain, you must create separate accounts for each domain. So the goal is not to have one account for everything. The goal is to have exactly one account per real website domain.
Before you create any account: build a domain inventory
Take five minutes to write down every Odoo domain you will use. This is the readiness step that prevents most duplicate accounts.
- List all Odoo domains and subdomains, including production, staging, and test sites.
- Mark each one as production, testing, or not needed.
- Decide the canonical primary URL for each site. Include the full address, such as https://www.example.com.
- Delete or ignore temporary URLs like localhost. Source restriction: development URLs such as localhost are restricted for security reasons.
- Assign one owner for each account so there is always someone responsible for it.
Keep this inventory in a shared spreadsheet, project file, or password manager. It is now your source of truth.
Create accounts with a naming convention
When you create each SeaText account, use a naming convention that matches the inventory. For example, use names like Odoo-prod-example-com and Odoo-staging-example-com. That way the account name itself tells you which domain it belongs to.
Store the login email, password, and the exact primary URL with the account record. If more than one person needs access, share the login through a business password manager instead of letting each person create their own account.
Common mistake: creating a new account before checking your inventory
The most common cause of duplicate SeaText accounts is not a technical problem. It is a team problem. Someone walks into a new project, does not see an existing login, and clicks create account. Ten minutes later, the same domain has two accounts.
Set a simple rule: no one creates a new SeaText account before checking the domain inventory. If a teammate needs access, give them access to the existing account. If someone genuinely needs a new account for a new domain, add that domain to the inventory first.
Step-by-step: set up SeaText on multiple Odoo domains without duplicates
Follow the same order for every domain. Do not jump from domain to domain. Finish one domain before moving to the next.
- Open the SeaText account that belongs to the domain you are setting up.
- Copy the JavaScript code snippet from that account.
- Log in to Odoo and open the Website module.
- Navigate to the page you want to edit and click the Edit button.
- In the Blocks panel, find the Dynamic Content section.
- Drag the Embed Code module into the desired location.
- Click Edit in the right panel to open the code input area.
- Paste the SeaText code snippet, then click Save.
- If the block should not be visible on desktop, select Hide on Desktop in the Visibility section and save again.
- Repeat these steps for each domain, using that domain's own account snippet.
Verification step: after saving, compare the code snippet in the SeaText account with the code installed in Odoo. They should match. Then visit or refresh the page to confirm the installation.
How to verify the right account is on the right Odoo site
The easiest way to catch duplicates is to compare the snippet. Open the SeaText account you think belongs to a domain, copy its snippet, and open the same page in Odoo. If the installed code does not match, you are probably looking at the wrong account or the wrong snippet.
Do this check for every domain. It takes a few minutes and it prevents mixed tracking data. You want one account per domain, with its own snippet installed on that domain only.
What if you already have duplicate accounts?
If you already created two accounts for the same domain, pick the one that has the correct primary URL in its settings. Keep that account and use its code snippet on the site. Replace any older snippet in Odoo with the snippet from the account you chose.
Stop using the extra account. Do not install its snippet anywhere. If you need a clean setup later, you can remove the extra snippet and keep only the canonical one. From that point forward, treat the chosen account as the only account for that domain.
Key facts from SeaText's Odoo integration documentation
| Source fact | What it means for you |
|---|---|
| Each SEATEXT AI account is linked to a single primary URL. | Do not try to use one account for two different Odoo domains. |
| If you need to use SEATEXT AI on multiple domains, such as a development domain and a production domain, you must create separate accounts for each domain. | Dev and prod accounts are expected, not duplicates. |
| Development URLs, such as localhost, are restricted for security reasons. | Do not create accounts for localhost. |
| Dynamic development domains may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account. | Use stable, real domains for test accounts. |
| To use SEATEXT AI on several websites, create one account for each website. | One website gets one account. |
Limitations and exceptions
The one-account-per-domain rule applies when each domain is a separate website. If you run two websites with different domains, they need separate SeaText accounts.
Localhost is restricted. Dynamic development domains may not work reliably because SeaText might not be able to associate traffic with the right account. For staging work, use a real, stable domain that is not localhost.
If you are unsure whether a subdomain or a test URL counts as a separate website, check SeaText's integration guide before creating a new account. Guessing leads to unnecessary accounts.
Terminology: primary URL, website, duplicate
Primary URL is the exact web address that a SeaText account is linked to. It is the domain you use when you create the account.
Website means a domain, not a page. One Odoo domain is one website for SeaText purposes. Multiple domains mean multiple accounts.
Duplicate means two accounts for the same primary URL. Separate accounts for different domains are not duplicates.
Frequently asked questions
Can I use one SeaText account for two Odoo domains?
No. Each SeaText account is linked to a single primary URL. To use SeaText on several websites, you create one account for each website.
Is a separate account for a staging domain a duplicate?
No. If you use a development domain and a production domain, SeaText requires separate accounts for each. That is the correct setup, not an error.
What should I do if I accidentally created two accounts for the same domain?
Choose the account whose primary URL matches the domain. Use that account's snippet on the site, and remove any other SeaText snippet from Odoo.
Can I use localhost as a SeaText domain for Odoo testing?
No. Development URLs such as localhost are restricted for security reasons. Dynamic development domains may also fail to associate traffic correctly.
How do I know which SeaText account is installed on an Odoo page?
Compare the code snippet in the SeaText account with the code in Odoo's Embed Code module. If they match, the account is correct. Then visit or refresh the page to finish the check.
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's Odoo integration page gives you the exact embed code and the steps to place it in Odoo's Website builder. Each SeaText account shows its own code snippet, so you can keep domains separate by using only that domain's account. The installation flow is secure, and the AI stays inert until you activate it. The key limitation is that each account is linked to one primary URL, and localhost or dynamic development domains may not work.