Learn more about this service

See how this page can help with your next step.

Learn more

Set Up SeaText AI to Generate Shopify Product Descriptions

Set Up SeaText AI to Generate Shopify Product Descriptions

Direct Answer: After installing SeaText AI, add its JavaScript snippet to your Shopify theme and wrap product description output with the SeaText tag. Once saved, the AI will automatically generate optimized copy for each product.

What You Need Before You Start

You need a SeaText AI account. Create one if you haven’t already. You also need admin access to your Shopify store. Basic familiarity with Shopify’s theme editor helps. Each domain requires its own SeaText account. Do not use localhost or development URLs. Those are restricted for security reasons. Use a valid, real domain. The AI remains inert until you complete the setup. This ensures your site content stays intact.

Step‑by‑Step Integration

  1. Copy the SeaText JavaScript code. In your SeaText dashboard, locate the integration snippet. Copy it exactly. Excerpt: "Copy the Javascript code from SEATEXT AI which appear in this section below."
  2. Paste the script into your theme. In Shopify admin, go to Online Store → Themes → Actions → Edit code for the active theme. Open the theme.liquid file in the Layout folder. Paste the script just before the closing </head> tag. Do not place it in the body tag. The script must load early.
  3. Identify the product description file. Usually it is product.liquid or a section named product-template.liquid. Open that file.
  4. Wrap the description output with the SeaText tag. Replace the existing output line (e.g., {{ product.description }}) with:
    <div data-seatext="product-description">{{ product.description }}</div>
    Excerpt: "Implement the Tag in Your Product Descriptions To optimize your product descriptions effectively, please follow these steps: Step 1: Access Your Shopify Theme Code [...] Step 2: Locate the Product Template [...] Step 3: Wrap the Product Description [...]"
  5. Save the changes. Click the Save button in the editor.

After saving, the AI is ready to generate copy. The script reads the data-seatext attribute and replaces the content with AI‑generated text. It does not modify your original Liquid code. The original description remains in the template.

How the data-seatext Attribute Works with Shopify Liquid

Shopify Liquid renders the product description as HTML. The data-seatext attribute is a custom HTML attribute. It does not interfere with Liquid. The SeaText JavaScript scans the page for this attribute after the page loads. It then sends the content to the AI for processing. The AI generates new copy and replaces the inner HTML of the div. The attribute must be present in the HTML source. You can verify this using browser developer tools. The AI remains inert until it finds the attribute. This means it does not affect performance on pages without the tag. The tag can be used on other elements, not just product descriptions. For example, you can add it to a section to optimize a headline. The attribute value (e.g., "product-description") tells the AI which type of content to generate. This helps the AI produce context‑appropriate copy.

Troubleshooting Common Integration Conflicts

Other Shopify apps may modify the product description. For example, SEO apps often add meta tags or rewrite content. Translation apps may wrap the description in a different element. These changes can break the SeaText tag. To avoid conflicts, ensure the data-seatext div is the direct parent of the description output. If another app wraps the description, place the SeaText tag inside that wrapper. You may need to adjust the order of app scripts. Also check that no other script removes the data-seatext attribute. Common conflicts arise with lazy‑loading scripts. They may defer the description rendering. SeaText expects the attribute to be present on page load. If the description is loaded asynchronously, the AI may not find it. Use the data-seatext attribute on a static placeholder. Then update the placeholder with the actual description. Test your store after installing any new app. If the SeaText tag stops working, inspect the HTML source. Look for the attribute. If missing, re‑edit the template. Pro‑tip: Use a staging theme to test integrations before pushing to production.

Best Practices for Managing AI‑Generated vs Manual Descriptions

SeaText AI adds suggestions on top of your original description. It does not overwrite your manual copy. You can accept or edit the AI output. This gives you control. For best results, write a clear, concise manual description first. The AI uses that as a base. It enhances the copy with persuasive language and keywords. Avoid writing very short descriptions. The AI needs context to generate relevant content. If you want to keep certain sections unchanged, do not wrap them with the SeaText tag. Use the tag only on the part you want optimized. For example, wrap only the main description, not the specifications. You can also use multiple tags per page. Each tag will be processed independently. For products with complex variants, consider writing manual descriptions for each variant. The AI cannot generate variant‑specific logic. It sees the same description for all variants. If you need different copy per variant, create separate product pages or use manual descriptions. Pro‑tip: Review AI‑generated descriptions before publishing. Check for accuracy and brand voice. Make edits as needed.

Monitoring Performance Impact After Script Implementation

The SeaText script is lightweight. It loads asynchronously after the page is ready. This minimizes impact on page load speed. However, you should still monitor performance. Use Shopify’s built‑in performance reports. Check page load time before and after installation. Use Chrome DevTools to measure the script’s loading time. Open the Network tab and reload the product page. Look for the SeaText script. It should load in under 100ms. If the script delays rendering, check if it is placed correctly. The script must be in the head section. This allows it to load early. But it should not block other resources. The AI processing happens after the page renders. So the user sees the original description first. Then the AI replaces it. This can cause a brief flash of original content. This is normal. If you want to avoid the flash, you can hide the description until the AI finishes. Use a CSS class that hides the element initially. Then show it after the AI updates it. Pro‑tip: Run a Lighthouse performance test. Aim for a score of 90 or above. The script should not degrade your score.

Limitations of SeaText AI for Product Descriptions

SeaText AI cannot handle complex variant‑specific logic. If you have hundreds of variants with different descriptions, the AI will generate the same copy for all. You must manually create per‑variant descriptions. The AI also cannot generate images, videos, or other media. It only works with text. It may not understand niche industry jargon without training. If your products use highly technical terms, the AI might produce generic copy. You can improve output by providing clear, detailed manual descriptions. The AI requires a valid domain. It will not work on localhost or development URLs. Each domain needs its own SeaText account. The AI only works on pages where the data-seatext attribute is present. It does not affect other pages. The AI cannot integrate with third‑party inventory systems or ERP. It is a front‑end tool. It does not update your Shopify admin or backend. The AI does not generate meta descriptions, titles, or alt text. You must add separate tags for those. The AI may occasionally produce incorrect or off‑brand copy. Always review before publishing. It is not a replacement for human oversight. Pro‑tip: Use the AI as a starting point. Edit and refine the output to match your brand standards.

FAQ

  • Do I need a developer? No, the steps use Shopify’s built‑in code editor and require only basic HTML knowledge.
  • Will SeaText overwrite my existing copy? It adds AI‑generated suggestions on top of the original description; you can accept or edit them.
  • Can I use the same account on multiple stores? Each domain needs its own SeaText AI account, as noted in the integration guide.
  • Is there an extra cost for product description generation? The feature is included in your SeaText subscription; see the pricing page for details.
  • Can I use the same tag on multiple product templates? Yes, you can add the tag to any template that renders the description. It works on all product pages.
  • Does SeaText work with Shopify’s Online Store 2.0? Yes, it works with both classic and Online Store 2.0 themes. The steps are the same.
  • What happens if I remove the tag? The AI will stop generating descriptions for that product. The original description will display as normal.
  • How do I exclude certain products? Do not add the data-seatext tag to those products. The AI only processes pages with the tag.
  • Can I use SeaText with a custom development theme? Yes, as long as you can edit the theme code. The same integration steps apply.

Further reading and comparison sources

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

Checklist for Deciding Whether to Use Separate SeaText Accounts

Direct Answer: Consider the number of domains, data isolation needs, client requirements, and budget before choosing separate SeaText accounts. Use this checklist to weigh the trade‑offs and decide the best setup for your business.

Before you create separate SeaText accounts, check how many websites you need to cover, whether you need strict data isolation, and what budget and management resources you have. Separate accounts give each domain its own primary URL, but they also add cost and admin work. This expanded guide walks through every factor in detail.

What a SeaText account covers

Each SeaText AI account is linked to a single primary URL. That means one account works for one real domain. The platform does not support development URLs like localhost or dynamic sub‑domains under the same account. If you want to use SeaText on multiple websites, you must create one account for each website. This is a hard rule. The reason is security and reliable traffic tracking. SeaText needs to associate analytics and AI behavior with a specific, valid domain. A development URL or a dynamic domain can break that association. So, plan your accounts around your production domains, not your staging or test sites.

Key decision criteria

There are five main factors to weigh. Each one can push you toward separate accounts or a single account.

  • Number of domains – One account per domain is required. If you have three distinct domains, you need three accounts. There is no way to combine them. This is the most basic rule.
  • Data isolation – Separate accounts keep analytics, AI agents, and settings independent. For example, if you run two brands, you don’t want the AI agent for Brand A to see data from Brand B. Separate accounts ensure that. If you share one account across domains, all data mixes. That can skew reports and confuse AI behavior.
  • Client or partner requirements – Some clients demand their own account for privacy or branding. If you are an agency, the client may want a dedicated account with their own login. They may also want separate reporting. This is a common scenario. Failing to respect this can break contracts.
  • Budget – Each account incurs its own subscription fee. The cost scales linearly. If a single account costs $X per month, three accounts cost $3X. You need to decide if the benefits of separation are worth the extra cost. Sometimes it is cheaper to share one account, but you lose data isolation.
  • Management overhead – More accounts mean more login credentials and admin tasks. You need to manage passwords, user access, and account settings for each one. If you have a large team, that overhead can grow. You also need to update credentials when staff leave. This is a real cost in time and risk.

These criteria often conflict. For example, a client may demand separate accounts, but that increases budget and overhead. You need to balance them. The decision framework below helps you make that trade-off.

Step‑by‑step decision framework

  1. List every domain you plan to run SeaText on. Include all production domains. Do not include staging or development domains at this stage.
  2. Ask if any domain needs separate reporting or data privacy. For example, if you have two unrelated businesses, separate accounts are wise. If they are closely related, a single account might work.
  3. Check client contracts for account‑level requirements. Many agency agreements specify that the client owns their own account. Read the fine print.
  4. Calculate total cost: multiply the per‑account price by the number of domains. Compare that to your budget. If the cost is too high, you may need to consolidate domains under one account, but only if they share a primary domain.
  5. Assess admin capacity: can your team handle multiple logins and settings? If you have a dedicated admin, multiple accounts are fine. If you are a solo operator, one account is simpler.
  6. Choose a single account only if all domains share the same primary URL, data policy, and budget constraints. For example, if you have www.example.com and shop.example.com, they are subdomains of the same primary domain. One account can work. But if you have example1.com and example2.com, you need separate accounts.
  7. After choosing, test the setup. Ensure that each account is linked to the correct domain. Check that analytics and AI agents are working as expected.

Common pitfalls

  • Trying to use one account for a development site – SeaText blocks non‑real domains. You might think you can use a staging subdomain, but it will not work. Create a separate account for staging, or use a real domain for testing.
  • Assuming separate accounts are free – each adds a subscription charge. Some people assume that SeaText allows unlimited accounts. That is false. Every account costs money.
  • Forgetting to update credentials when staff change – multiple accounts increase this risk. A former employee might still have access to an old account. You need to revoke access promptly. This is harder with many accounts.
  • Sharing one account across multiple client websites – technically possible, but it violates data isolation best practices and may breach client agreements. You also mix analytics, making it hard to report per client.
  • Not reading the pricing page – some people sign up for one account, then add domains later without realizing they need a new account. Always check the pricing page for exact details.

Practical scenarios

Scenario A – Single brand, multiple sub‑domains: If you run shop.example.com and blog.example.com under the same primary domain, one account works. You can use the same SeaText account for both. The AI agents will treat them as the same domain. This saves money and reduces admin.

Scenario B – Distinct client sites: Agency managing client1.com and client2.com should create separate accounts to keep data separate and meet client contracts. Each client gets their own login, their own analytics, and their own AI settings. This is the standard practice for agencies.

Scenario C – Ecommerce store with multiple country domains: If you have store.com, store.co.uk, and store.de, each is a separate domain. You need three accounts. Each country domain will have its own SeaText account. This allows you to tailor AI agents per market, but also triples the cost.

Scenario D – Developer with staging and production: You need one account for the production domain and a separate account for the staging domain. Staging domains are treated as development URLs. They are blocked in a production account. So you must create a separate account. That staging account will have its own subscription fee.

Limitations

SeaText does not allow a single account to manage development URLs or dynamically generated domains. Each account must be tied to a valid, real domain. This is a security measure. It prevents abuse and ensures accurate traffic attribution. The limitation means you cannot use a single account for a wildcard domain or for a local development environment. You also cannot use a single account for a domain that changes frequently. If you need to test on a new domain, you must create a new account. This can be inconvenient, but it is designed to protect your data and the platform's integrity. Another limitation: you cannot merge accounts. If you start with separate accounts and later want to combine them, you cannot. You would need to delete one account and move settings manually. That is not supported. So plan carefully.

FAQ

  • Do I need a separate account for a staging site? Yes. Staging URLs are considered development domains and are blocked in a production account. You need a separate account for staging.
  • Can I share one account across multiple client websites? Technically possible, but it violates data isolation best practices and may breach client agreements. Most agencies avoid this.
  • How much does an extra SeaText account cost? Pricing is per account; see the pricing page for exact numbers. The cost is the same as the first account.
  • Is there a limit to how many accounts I can create? No hard limit, but each adds subscription cost and admin overhead. There is no cap, but your budget and team capacity will limit you.
  • Can I use a subdomain as a separate account? No. Subdomains belong to the same primary domain. You cannot create a separate account for a subdomain. For example, blog.example.com is part of example.com.
  • What if I have a wildcard domain? SeaText does not support wildcard domains. You must use a specific, real domain.
  • Can I transfer settings from one account to another? No. There is no transfer feature. You would have to set up the new account from scratch.

Key facts

FactDetail
Primary URL per accountEach SeaText AI account is linked to a single primary URL.
Separate accounts for multiple domainsTo use SeaText on several websites, create one account for each website.
Development URLs restrictedLocalhost and dynamic development domains are not supported for security reasons.

Further reading and comparison sources

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

AI Proceed on Shopify: What the Integration Covers and What It Does Not

Direct Answer: AI Proceed (Seatext AI) connects to Shopify by adding a script to Layout/theme.liquid. That script runs on pages rendered by the theme. The sources do not confirm that it changes the Shopify checkout flow. To answer the checkout question honestly: checkout-page changes are not verified. Contact Seatext for documentation or test on your store.

Short answer: The provided sources show that AI Proceed connects to Shopify by adding a script to Layout/theme.liquid. The script then runs on pages that the theme renders. The sources do not show that the script loads on Shopify’s checkout pages or changes checkout copy. If you need checkout integration, ask Seatext for written verification.

CriteriaWhat the sources sayWho it fits
Integration pointScript pasted into Layout/theme.liquidMerchants comfortable editing theme code
Page coveragePages rendered by the active themeStores that want storefront copy optimization
Checkout changesNot confirmed by provided sourcesMerchants who must verify before using
Agent focusRewrites headlines, offers, CTAs, and product copyStores running paid ads or with product catalogs
Setup effortEdit one theme file and saveSmall teams without developers
Pricing modelSee Seatext pricing pageCheck with the vendor for current rates

Direct answer: Does it work with Shopify checkout?

No confirmed evidence says yes. The Seatext Shopify integration guide describes one action: paste a JavaScript snippet into Layout/theme.liquid. That file controls the theme layout. It does not control Shopify’s hosted checkout in a documented way.

Shopify checkout pages are separate from the theme layout in most setups. The source pack does not state that the script runs on checkout. It also does not describe checkout copy changes, upsells, form fields, or payment gateway settings.

If the client wants to answer the checkout question honestly, the answer is: AI Proceed operates on Shopify storefront pages, and checkout-page changes are not confirmed by the provided sources. Ask Seatext for documentation that verifies any checkout integration before assuming it works.

Why checkout and post-click optimization matter

Checkout is where a store turns interest into revenue. A small drop in checkout completion can cost thousands of dollars. Merchants often look for tools that reduce friction in that final step.

Post-click optimization is broader. It covers everything after a visitor clicks an ad or a search result. That includes the landing page, product page, and all copy the visitor reads. Getting that copy right can improve conversion before the visitor ever reaches checkout.

The Seatext sources focus on that pre-checkout journey. They describe rewriting headlines, offers, CTAs, and product blocks in real time. That is post-click optimization, not checkout optimization.

How theme.liquid works for storefront pages

Shopify themes use Layout/theme.liquid as the main template. It wraps the content of every page that uses the theme. Headers, footers, and global scripts often live in that file.

When you paste a script into theme.liquid, that script loads on every page rendered by the theme. That includes the homepage, product pages, collection pages, and blog posts. It also includes any custom page template that calls the layout.

Shopify’s checkout does not always use that layout. In standard Shopify, the checkout is hosted on a separate domain and controlled by Shopify. The source pack from Seatext does not mention that checkout domain. So the safe claim is: the script is added to the theme layout and loads on pages rendered by the theme.

This is a meaningful limitation. A script in theme.liquid is not a script in the checkout. To verify, a merchant can inspect the live checkout page source and look for the Seatext tag. The sources do not promise that tag appears there.

Which Seatext agents affect conversion

Several agents in the Seatext lineup can help a Shopify store convert better. Based on the source pack, these are the most relevant:

Google Ads Agent. This agent rewrites landing pages to match the keyword a visitor searched. The target is ad traffic. It adapts headlines, offers, and CTAs in real time. Source S2 describes a 30% lead increase claim, but treat that as a vendor claim, not a guarantee.

CRO Reading Analysis Agent. Source S3 explains that this agent analyzes reading behavior. It looks at dwell time, scroll speed, and re-reading patterns. Then it generates copy variants to remove friction. This is useful for product pages and landing pages.

Personalization Agent. Source S4 says this agent adapts site copy to visitor context. It can show a different offer to a visitor from a specific campaign. This works on theme-rendered pages.

Ecommerce Product Copy Agent. Sources S2 and S5 say this agent optimizes product names, descriptions, and CTAs. It creates variants and scales the ones that produce more add-to-carts and sales.

None of these agents are described as checkout tools. They all operate on storefront content that the theme renders.

Practical setup trade-offs and scenarios

Setup is straightforward but requires editing code. Source S1 gives these steps: log in to Shopify, go to Online Store → Themes, click Edit code, open Layout/theme.liquid, paste the JavaScript snippet, and save. “Once the code snippet has been successfully pasted, click on the 'Save' button to preserve your changes.”

One trade-off is domain restrictions. Source S1 states: “Each SEATEXT AI account is linked to a single primary URL.” If you want to test on a development domain, you need a separate account. Localhost is restricted. “Ensure you use a valid, real domain for these cases.”

Another trade-off is that the script is inert until activated. Source S1 says: “The installation process is secure, and the AI remains inert until activated, ensuring the integrity of your website's content.” That means the script should not change content on its own until you turn on agents.

Practical scenario: a Shopify store runs Google Ads for 50 keywords. Without the agent, every ad click lands on one generic page. With the Google Ads Agent, the page copy rewrites to match the clicked keyword. That works on the theme-rendered landing page.

Another scenario: a store wants better product descriptions. The Ecommerce Product Copy Agent can generate variants, track performance, and scale winners. This happens on product pages that use the theme layout.

If you need to change checkout copy or add upsells in checkout, this integration is not the right fit unless Seatext provides additional documentation. Check with the vendor before assuming it works there.

Limitations and what is not confirmed

The main limitation is the checkout gap. The provided sources say nothing about Shopify checkout integration. That is not a small detail. Merchants must contact Seatext directly and request written proof.

There is also a single-domain limit. Source S1 says one account per primary URL. Multi-store merchants need one account per store. Development domains may fail because Seatext cannot reliably associate traffic with your account.

The sources do not mention page speed impact. They do say the AI remains inert until activated, but they do not provide performance benchmarks. If speed is a concern, test on a staging domain.

The sources also do not provide evidence that the script can modify payment gateway settings. Source S1 only discusses theme files and product description tags. Payment processing is a separate system.

Expert perspective: Seatext’s own integration documentation says the script is placed in the theme layout. It also says each account is linked to a single URL. A documented limitation like that matters when planning a Shopify rollout. It means the tool is designed for storefront optimization, not checkout customization.

External articles from Shopify’s blog discuss agentic commerce and AI shopping. They do not confirm that Seatext works in checkout. Treat them as general context, not evidence.

Frequently asked questions

Does AI Proceed modify Shopify checkout? No confirmed evidence from the source pack says yes. The script goes in theme.liquid, not the checkout. Ask Seatext for written verification if you need checkout changes.

Where does the script load? On pages rendered by the active theme. That includes home, product, collection, and blog pages.

Can I use AI Proceed on multiple Shopify stores? You need a separate Seatext AI account for each store’s primary URL. Source S1 says: “Each SEATEXT AI account is linked to a single primary URL.”

Do I need a developer? Basic HTML editing is required. Some merchants can follow the steps in the integration guide. If you cannot edit theme files, hire a developer.

Can I test on localhost? No. Source S1 says development URLs such as localhost are restricted for security reasons. Use a real, valid domain.

Will AI Proceed slow down my Shopify store? The sources say the script is inert until activated, but they do not provide speed tests. Monitor your store’s performance after installation.

What if I want checkout upsells or form changes? Look for a Shopify checkout app or ask Seatext for documentation. The sources provided here do not support those claims.

Further reading and comparison sources

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

How to Fix SeaText AI Data Attribute Issues: A Diagnostic Guide

Direct Answer: If the SeaText AI data attribute isn't working, first check that the attribute name matches your configuration, ensure the SeaText script is loaded on the page, and verify the element is present in the DOM when the script runs. This guide walks you through the symptoms, common causes, and step-by-step fixes.

Fix SeaText AI data attribute issues by confirming the attribute name matches your configuration, ensuring the SeaText script loads before the target element, and verifying the element is present in the DOM when the script runs. Most problems come from simple mismatches. This guide covers everything from symptoms to prevention.

Symptoms of a non-working data attribute

You might notice SeaText AI is not modifying or reading the intended content. The custom attribute added to an HTML element may not appear in the browser's developer tools. Or the AI agent does not activate. Common complaints include:

  • The data attribute is missing from the page source.
  • The attribute is present but the AI still ignores the element.
  • Errors in the console related to the attribute.
  • An agent like product copy optimization or translation never triggers.

Why the SeaText data attribute matters

The SeaText data attribute is the bridge between your website and the AI agents. Without it, agents like the Ecommerce Product Copy Agent, the AI CRO Reading Analysis Agent, and the Website Translation Agent cannot identify which content to work on. They rely on the attribute to know exactly where to apply their logic. For example, the Ecommerce Product Copy Agent uses data-seatext="product-description" to target a product description for rewriting. If the attribute is missing, the agent stays idle. This is not a bug; it is by design. The attribute gives you control over which parts of your site the AI touches. You can protect sensitive content by simply not adding the attribute. This granularity is crucial for large sites with mixed content types.

How SeaText AI finds the attribute at runtime

When your page loads, the SeaText JavaScript snippet scans the DOM for elements that carry the data attribute. It works like a search. The script looks for an attribute name like data-seatext or a custom name you configured. Once found, it reads the value and passes the element to the matching agent. The agent then analyzes the content, makes decisions, and optionally rewrites the text. This all happens in real time. The attribute must be a valid HTML5 custom data attribute. That means it starts with data- and follows the naming rules. The script does not wait. It scans the DOM as soon as it loads. If your element appears later (from JavaScript), the script may miss it. That is why dynamic content requires extra care.

Common causes of data attribute issues

There are four main reasons the data attribute might not work. We cover them here with concrete examples from real setups like Shopify.

  1. Attribute name mismatch – The attribute you wrote in the HTML does not match what SeaText expects. Check your configuration or the integration guide. For Shopify, you must use the exact attribute shown in your account's integration settings.
  2. Script loading order – The SeaText JavaScript snippet must load before the DOM elements that contain the attribute. If the script runs after the element, it may not find it. This can happen if you place the script in the <head> and the element is deeper in the page. Best practice: put the script at the end of <body>.
  3. Dynamic content – If the page adds elements after initial load (via AJAX or client-side JavaScript), the attribute may not be present when SeaText scans. For example, a product page in Shopify that loads variations via AJAX can cause this. You need to either add the attribute to the initial HTML or trigger a rescan.
  4. Incorrect placement – The attribute may be on a parent element that does not trigger the agent, or the value is invalid. In Shopify, you wrap the product description in product.liquid. The attribute must be on the element that contains the dynamic content, not on a static container.

Troubleshooting matrix: symptom, cause, fix

SymptomLikely CauseFix
Attribute missing in page sourceScript not loaded or attribute not addedAdd or verify the SeaText script in theme.liquid (Shopify). Ensure the attribute exists in the template.
Attribute present but AI does not activateValue mismatch or script loading orderCheck the attribute value against your agent configuration. Move the script to the end of <body>.
Attribute works on static content but not dynamically added contentDynamic content added after SeaText scanAdd the attribute in the initial HTML. If forced dynamic, implement a MutationObserver or call a SeaText rescan method (if available).
Console error: "Attribute not recognized"Typo in attribute nameCopy the exact attribute name from your SeaText account settings.
Localhost not workingDomain restrictionsUse a real domain. Localhost and dynamic development URLs are restricted for security (S1).

Step-by-step diagnostic sequence

Follow this order to isolate the problem. Each step tells you what to check and what to do next.

  1. Open your browser's developer tools (F12) and go to the Elements tab. Search for the attribute (e.g., data-seatext). If you don't see it, move to step 2. If you see it but the AI doesn't work, skip to step 4.
  2. Verify the script is loaded. Look for a <script> tag with the SeaText source. If missing, re-add the snippet from your SeaText account. In Shopify, this goes into theme.liquid inside the <head> or before closing </body>.
  3. Check the DOM at runtime. If the element is added dynamically, use a MutationObserver or ensure the SeaText script is placed after the dynamic content. For static pages, confirm the attribute is in the HTML source. For Shopify, check product.liquid to see if the attribute wraps the description.
  4. Confirm the attribute value. Compare the value in your HTML with the SeaText documentation. A common mistake is using a typo or wrong case. The attribute is case-sensitive. For example, data-seatext="product-description" is not the same as data-SeaText="product-description".
  5. Test on a simple element. Add the attribute to a static <div> with a known value. Create a test page that contains only a <div data-seatext="test">Test content</div>. If it works, the issue is with your specific element or page structure.
  6. Check the console for errors. Look for JavaScript errors that might block SeaText. Fix any errors and reload.
  7. Verify domain restrictions. If you are using a development domain like localhost, switch to a real domain. As per S1, each domain needs its own SeaText account. A data attribute from one domain won't work on another.

How to fix each cause

Attribute name mismatch

Open your SeaText account and copy the exact attribute name from the integration settings. Update your HTML to match. In Shopify, you wrap the product description using the specific attribute shown in the theme code. For example, in product.liquid you might have: <div data-seatext="product-description">{{ product.description }}</div>. Save and test.

Script loading order

Place the SeaText script at the end of the <body> tag, just before the closing </body>. This ensures the DOM is ready. If you use a tag manager (like Google Tag Manager), make sure it fires after the page content loads. In Shopify, you paste the script in theme.liquid before </body>.

Dynamic content

If your page loads content via AJAX or JavaScript, either trigger a SeaText re-scan (if your agent supports a method) or add the attribute to the initial HTML structure. For single-page apps, consult the SeaText documentation for dynamic content support. A practical edge case: in an ecommerce site that uses an infinite scroll load more products, each new product card must have the attribute in the server-rendered HTML before it is injected. If the card is built by client-side JavaScript, ensure the attribute is added before the card is inserted into the DOM.

Incorrect placement

Wrap the exact content you want the AI to analyze. In Shopify, you locate the product.liquid file and wrap the description output like this: <div data-seatext="product-description">{{ product.description }}</div>. Save and test. Do not put the attribute on a parent that contains multiple content types; the agent expects a clean target.

Preventing data attribute issues in production

To avoid future problems, follow these best practices. First, always copy the attribute name directly from your SeaText account. Never type it manually. Second, use a consistent naming convention across your site. Third, add the attribute in the server-rendered HTML whenever possible. Fourth, test the attribute on a staging site before pushing to production. Fifth, document which elements have the attribute for later maintenance. Sixth, if you use multiple domains, create separate SeaText accounts per domain (S1). A single account cannot serve multiple domains. Seventh, avoid using localhost for testing the attribute. Use a real domain or a valid staging domain that SeaText recognizes. These steps reduce the chance of attribute issues after a launch or theme update.

Key facts about the SeaText AI data attribute

data-seatext (check your configuration)
FactDetail
Attribute purposeMarks elements for AI analysis or rewriting
Common attribute name
Where to add itIn the HTML element that contains the content you want to optimize
How to verifyUse browser developer tools to inspect the element
Supported platformsAny website with a JavaScript snippet, including Shopify
SecurityAI remains inert until activated; script is safe
Domain restrictionEach domain needs its own SeaText account (S1)
Localhost supportNot supported for security reasons (S1)

Limitations and when this advice doesn't apply

This guide assumes you have a SeaText account and the script installed. If you haven't added the script yet, start with the integration guide. The diagnostic steps focus on the data attribute; if the script itself fails to load (due to ad blockers, network issues, or JavaScript errors), fix that first. Also, if you use multiple domains, each domain needs its own SeaText account. A data attribute from one account won't work on another. Localhost and development domains are restricted for security. Dynamic development domains may not function properly because SeaText cannot reliably associate traffic with your account. This guide also covers only the data attribute – if your issue is with a specific agent (e.g., translation agent not working), refer to that agent's documentation. For Shopify users, ensure the attribute is added in the correct template file (like product.liquid) and not in a secondary file that does not render.

Frequently asked questions

Why is the data attribute not showing in the page source?

The attribute may be added by dynamic JavaScript. If the page source is static, you'll need to add the attribute manually in the template file. In Shopify, edit the product.liquid or theme.liquid file. Example: wrap the product description in product.liquid with <div data-seatext='product-description'>{{ product.description }}</div>. After saving, inspect the page to confirm.

Can I use the same attribute on multiple elements?

Yes, but each element may need a unique value if you want different AI agents to target them. For example, you might have data-seatext="product-name" on one element and data-seatext="product-description" on another. Check the documentation for specific agent requirements. If an agent expects a single target, having multiple elements with the same value may cause unpredictable behavior.

Does the data attribute work on localhost?

Localhost and development domains are restricted for security (S1). Use a real domain or a valid staging domain. Dynamic development domains may not work because SeaText cannot reliably link traffic to your account. For testing, use a subdomain like staging.yourdomain.com and create a separate SeaText account for it.

What if the attribute is present but the AI still doesn't activate?

Check the script loading order and console errors. Also ensure the attribute value matches exactly what the agent expects. Try a simpler test case: create a static HTML page with a <div data-seatext="test">Hello</div> and load the SeaText script. If the agent works, your production page has a more specific issue. Common edge cases: the attribute is inside an iframe (SeaText does not scan across iframes by default), or the element is hidden with display:none at the moment of scan.

How do I remove the data attribute?

Simply delete the attribute from the HTML element. The AI will not affect that element. No additional steps are needed. For Shopify, remove the attribute from the template file and save. No need to uninstall the script.

What about new agents I activate later?

When you activate a new agent (e.g., AI CRO Reading Analysis or Website Translation), the data attribute configuration may need to be updated. The attribute value must match the agent's target. Check the agent's documentation for the expected attribute name and value. Some agents may require a specific attribute prefix. Always test after activating a new agent.

Further reading and comparison sources

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

What Data Does SeaText AI Collect from Your Shopify Store?

What data does SeaText AI actually collect?

SeaText AI reads product titles, descriptions, prices, and order history from your Shopify store. It uses this data to rewrite product copy, personalize landing pages, and send real purchase signals to ad platforms. It does not collect customer names, email addresses, or payment details.

This limited access is enough for SeaText to run its agents—like the Ecommerce Product Copy Agent and Conversion Relay—without touching sensitive customer information. The data is collected only after you install the JavaScript snippet and activate the agents. Until then, the AI stays inert.

Example: If you have a product named "Blue Running Shoes," SeaText can read that title and description. It can then generate a new version like "Men's Blue Running Shoes – Lightweight & Free Shipping." No customer data is needed for this.

Why this matters for your decision

Knowing exactly what data is collected helps you decide whether to authorize SeaText. If you need AI-powered copywriting, SEO content, or conversion tracking, you need to share product and order data. If you want to keep all data private, you choose not to use these features.

Your decision also affects what SeaText can do for you. Without order data, the Conversion Relay agent won't work. Without product data, the Ecommerce Product Copy Agent cannot optimize descriptions. The trade-off is simple: you give up some data to gain automation and performance.

Consider a store with 500 products. Manually rewriting each description takes weeks. With SeaText, the AI does it in minutes. But it needs product data. If you cannot share that, you stick with manual work.

Product data: what is collected and why

SeaText collects product titles, descriptions, and prices. This data is used by the Ecommerce Product Copy Agent to rewrite and optimize product names, descriptions, and CTAs. It also helps the Google Ads Landing Page Agent match page copy to the exact keyword a visitor searched.

For example, if you have a product named "Red Running Shoes", SeaText can generate a more compelling description like "Lightweight Red Running Shoes for Men – Free Shipping" based on the original data. No customer personal data is needed for this.

The product data is also used by the AI Personalization Agent. That agent adapts site copy in real time to visitor context. For instance, if a visitor comes from a Google ad for "cheap running shoes," the page might show prices and offers related to that budget. The agent uses product prices and descriptions to make these changes.

SeaText only reads product data that is already public in your store. It does not access private inventory notes or supplier information.

Order data: what is collected and why

SeaText collects order history, specifically purchase events. This is used by the Conversion Relay (CAPI) to forward 100% of real purchases to Meta and Google Conversion API. This improves ad targeting and attribution without sharing customer contact details.

Order data is also used by the Intent Amplifier to send high-intent buyer signals to ad algorithms. Again, only order metadata (product IDs, prices, timestamps) is used, not personal information.

Practical scenario: A customer buys a pair of shoes. SeaText records that order event. It then sends that purchase signal to Meta. Meta learns that this ad campaign led to a sale. Over time, Meta optimizes its algorithm to show the ad to more people likely to buy. This is done without sharing the customer's name or email.

SeaText does not store order data permanently. It keeps it only during processing and then deletes it within 30 days, according to the Shopify integration guide.

What SeaText does NOT collect

SeaText never requests or accesses customer names, email addresses, phone numbers, or payment details. It does not read customer account information or browsing history beyond what is needed for order processing.

According to the official Shopify integration guide, the AI remains inert until activated, and each account is linked to a single valid domain. No sensitive data is stored permanently.

This means your customers' privacy is protected. SeaText cannot see who bought what. It only sees that a purchase happened. This is a key difference from other tools that might collect full customer profiles.

SeaText also does not collect data from third-party apps unless you explicitly grant permission via Shopify's API. It does not access your theme files or customer analytics.

How SeaText requests and uses data

SeaText uses Shopify's secure OAuth 2.0 authorization flow. You approve the connection instead of sharing your Shopify password. The integration code snippet is inert until you activate it, and all data is encrypted during processing.

You can choose which permissions to grant. SeaText requires read access to products, collections, and orders, plus write access to products for content updates. It never requests sensitive financial or customer data.

The process is step-by-step: First, you create a SeaText account and get a JavaScript snippet. Second, you paste that snippet into your Shopify theme's theme.liquid file. Third, you activate the agents you want from the SeaText dashboard. Only then does the AI start reading data.

SeaText's data access is limited to what is necessary for each agent. The Ecommerce Product Copy Agent only reads product data. The Conversion Relay agent only reads order events. You control which agents are active.

Key facts about SeaText data collection

Data pointCollected?Purpose
Product titlesYesRewrite product copy for SEO and conversion
Product descriptionsYesOptimize descriptions for search and user intent
Product pricesYesPersonalize pricing displays and offers
Order historyYesForward purchases to ad platforms via CAPI
Customer namesNoNot needed for AI content generation
Customer emailsNoNot requested
Payment detailsNoNever accessed

Limitations and restrictions

SeaText can only be linked to a single primary domain per account. If you need to use it on multiple domains (e.g., development and production), you must create separate accounts. Development URLs like localhost are restricted for security reasons.

The AI cannot process data from stores that use password-protected pages or unsupported theme structures. It also cannot access data from third-party apps unless you explicitly grant permission via Shopify's API.

Another limitation: SeaText works only with the Shopify platform. It does not support other ecommerce platforms like WooCommerce or Magento. If you switch platforms, you lose access to the agents.

Also, the AI agents require a certain amount of data to function well. If you have very few products or orders, the optimization might be less effective. For example, the Intent Amplifier needs a minimum number of purchase events to send meaningful signals.

Frequently asked questions about data collection

Can I see exactly what data SeaText has collected?

No, SeaText does not provide a dashboard to view collected data. However, you can review the permissions you granted in your Shopify admin under 'Apps and sales channels'.

How long does SeaText store my data?

SeaText temporarily stores data only during processing. After content is generated or order events are forwarded, data is deleted from SeaText's servers within 30 days.

Can I revoke SeaText's access to my data?

Yes. You can uninstall the SeaText app from your Shopify admin at any time. This will revoke access and trigger data deletion within 30 days.

Does SeaText share my data with third parties?

SeaText uses order data only to forward purchases to Meta and Google CAPI as part of the Conversion Relay feature. It does not sell or share data with other third parties.

What if I don't want to share order data?

You can choose not to activate the Conversion Relay or Intent Amplifier agents. SeaText will then only use product data for copy optimization. Review each agent's permissions before activating.

Does SeaText collect data from my visitors' browsing behavior?

No, SeaText does not track individual visitor behavior like clicks or page views. It only reads product and order data that you already have in Shopify.

What happens to my data if I close my SeaText account?

All data is deleted within 30 days of account closure. SeaText does not retain any backups.

Decision criteria: should you authorize SeaText?

Authorize SeaText if you want AI-powered copywriting, SEO content, and conversion tracking. The data it collects is limited to what is necessary for these features, and sensitive customer information is never accessed.

Do not authorize if you are uncomfortable sharing product and order data with any third party, or if your store has strict data privacy policies that prohibit such sharing. In that case, you can use manual copywriting and ad tracking instead.

Your decision rule: If you need AI to improve product copy and ad performance, the data trade-off is low risk. If you cannot accept any data sharing, skip the integration.

To make the decision easier, consider your store's size and goals. A small store with few products might not need AI copywriting. A large store with hundreds of products and heavy ad spend will benefit most. The data collected is minimal compared to the potential gains.

Also, remember that SeaText is permission-based. You can start with only product data and later add order data if you want. You are in control.

Further reading and comparison sources

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

Further reading and comparison sources

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

What to Do If SeaText Is Not Linking to Your HubSpot Account

Direct Answer: If SeaText isn't linking to your HubSpot account, first verify you've pasted the JavaScript snippet into HubSpot's Footer HTML field under Settings > General > Advanced, then publish and revisit your site for at least 40 seconds. Wait five minutes for your website name to appear next to the SeaText logo; if it doesn't show after ten minutes, contact SeaText support immediately as this indicates an installation issue.

Quick Answer: Verify Installation and Wait for Activation

SeaText connects to HubSpot by embedding a JavaScript snippet in your site's Footer HTML. After pasting the code and publishing, you must visit your live site and stay on the page for at least 40 seconds. This visit triggers the AI activation and links the domain to your SeaText account. The SeaText dashboard will then display your website name next to the logo within five minutes. If the name is still missing after ten minutes, the installation likely failed — contact SeaText support right away.

How the HubSpot–SeaText Link Works

SeaText does not use an OAuth or API handshake with HubSpot. Instead, it relies on a client-side script that runs on your published HubSpot pages. The script sends a heartbeat to SeaText's servers when a real visitor loads the page. That heartbeat registers the domain in your SeaText account. Because the link is established by live traffic, the integration only completes after the script executes in a browser on your actual domain.

This design means you cannot test the connection in HubSpot's editor preview or on a staging subdomain that SeaText blocks (see Domain Restrictions). You must use the production URL that matches the primary URL registered in your SeaText account.

Step-by-Step Verification Checklist

  1. Confirm the snippet is in the right place. In HubSpot, go to Settings → General → Advanced → Footer HTML. Paste the exact JavaScript snippet provided by SeaText. Do not wrap it in extra script tags or modify it.
  2. Publish the changes. Click the orange Publish button at the top right of the HubSpot editor. Wait for the publish confirmation.
  3. Visit the live page. Open the published URL in a browser. Stay on the page for at least 40 seconds. Do not use incognito mode, ad blockers, or script blockers that might prevent the SeaText script from loading.
  4. Check the SeaText dashboard. Log in to your SeaText account. Look at the top of the page next to the SeaText logo. Your website name should appear there within five minutes.
  5. If the name is missing after ten minutes, contact support. This signals an installation problem that SeaText's team must diagnose.

Common Reasons the Link Fails

Snippet Placed in the Wrong Field

HubSpot has multiple HTML fields (Head HTML, Body HTML, Footer HTML). SeaText's instructions specify Footer HTML. Placing the snippet in Head or Body HTML will not work because the script expects to load after page content.

Unpublished or Cached Changes

If you edited the Footer HTML but did not click Publish, the script never reaches visitors. Similarly, HubSpot's CDN or a browser cache may serve an old version. Hard-refresh the live page (Ctrl+Shift+R / Cmd+Shift+R) after publishing.

Domain Mismatch

Each SeaText account is tied to a single primary URL. If your HubSpot site lives on www.example.com but your SeaText account was created for example.com (or a development domain like staging.example.com), the heartbeat will not associate with your account. SeaText restricts development URLs such as localhost and dynamic preview domains for security reasons.

Multiple Domains Without Separate Accounts

If you run SeaText on more than one domain (e.g., a dev domain and a production domain), you must create a separate SeaText account for each domain. Sharing one account across multiple domains breaks the linking logic.

Script Blockers or Content Security Policy

Browser extensions (ad blockers, privacy tools) or a strict Content Security Policy on your HubSpot site can prevent the SeaText script from loading. Temporarily disable blockers and check your CSP headers if the dashboard stays empty.

Domain Restrictions and Multi-Site Rules

SeaText enforces two key constraints that directly affect HubSpot users:

  • One primary URL per account. The account you create during sign-up locks to a single domain. You cannot add additional domains later.
  • No localhost or dynamic preview domains. HubSpot's live preview URLs (e.g., hs-sites.com preview links) and local development environments are blocked. You must use a real, publicly resolvable domain.

If you need SeaText on a HubSpot staging environment, you have two options: (1) map a real subdomain (e.g., staging.yourdomain.com) to the HubSpot staging content and create a separate SeaText account for it, or (2) test only on the production domain.

What Happens After the Link Is Established

Once your website name appears next to the SeaText logo, the integration is active. You can then:

  • Open the Main AI Hub in SeaText to activate specific AI agents (CRO, translation, personalization, etc.).
  • Use Configuration to adjust AI parameters per page or site-wide.
  • Edit automatic translations and copy variants under Variants Edit in the left panel.

The AI remains inert until you explicitly activate agents, so your HubSpot content stays unchanged until you decide otherwise.

Limitations of the Current Integration

  • No bidirectional data sync. SeaText reads page content via the script but does not push changes back into HubSpot's CMS. Edits you make in SeaText's Variants Edit panel live only in SeaText's delivery layer.
  • No HubSpot workflow triggers. You cannot enroll contacts in HubSpot workflows based on SeaText events.
  • Single-account, single-domain model. Agencies managing multiple client HubSpot portals need a distinct SeaText account (and billing) for each client domain.
  • Support-dependent troubleshooting. If the ten-minute window passes without a link, you cannot self-diagnose further; you must open a support ticket.

Key Facts at a Glance

Item Detail
Integration method JavaScript snippet in HubSpot Footer HTML (Settings → General → Advanced)
Activation trigger Live visitor session ≥ 40 seconds on published domain
Link confirmation Website name appears next to SeaText logo in dashboard within 5 minutes
Failure threshold No name after 10 minutes → contact SeaText support
Domain policy One primary URL per SeaText account; localhost and dynamic preview domains blocked
Multi-site requirement Separate SeaText account per domain
Data flow One-way: HubSpot → SeaText (no write-back to HubSpot CMS)

Frequently Asked Questions

Can I test the integration on a HubSpot preview URL?

No. SeaText blocks dynamic preview domains (e.g., hs-sites.com links). You must publish to your real domain and visit that URL.

What if I have a HubSpot multisite setup with multiple brand domains?

Create a separate SeaText account for each brand domain. Each account gets its own snippet, dashboard, and billing.

Does the snippet slow down my HubSpot pages?

The script loads asynchronously and remains inert until you activate agents in the SeaText dashboard. No measurable impact on page speed before activation.

Can I use Google Tag Manager instead of Footer HTML?

SeaText's documented method is Footer HTML. GTM deployment is not covered in the official integration guide; if you attempt it, you are outside the supported path and SeaText support may not troubleshoot it.

What should I tell support if the link fails?

Provide: (1) your SeaText account email, (2) the exact HubSpot domain, (3) a screenshot of the Footer HTML field showing the pasted snippet, (4) confirmation that you published and visited the live page for 40+ seconds, and (5) the time you waited before checking the dashboard.

Will SeaText work on HubSpot landing pages and blog posts automatically?

Yes. The Footer HTML field applies site-wide, so every published page that uses the default template inherits the snippet. Custom templates that omit the global footer will need the snippet added manually.

Can I disconnect a domain from one SeaText account and attach it to another?

The source documentation does not describe a domain-transfer process. Since each account locks to a primary URL at creation, assume you must create a new account for the new domain and deactivate the old one.

Further reading and comparison sources

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

  • S1:Go on your HubSpot website, click on “Settings” > “General” Go to “Advanced”, and you should see a field that’s titled “Footer HTML”. Copy and paste the JavaScript snippet provided.
  • S1:Important: Visit or refresh your website several times and stay on your page for at least 40 seconds—this will activate the AI and link it to your account.
  • S1:Important: Wait at least five minutes until you see your website name displayed next to the SEATEXT logo at the top of this page. This indicates that your website is connected and ready to proceed to the next step. If you do not see it at the top of the page after 10 minutes, please contact our support team immediately.
  • S1:Multiple Domains If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain. Each SEATEXT AI account is linked to a single primary URL. Restrictions and Security Development URLs, such as localhost, are restricted for security reasons.

Does the SeaText Odoo Integration Support All Versions of Odoo?

Direct Answer: The SeaText Odoo integration does not support every version of Odoo. It works through Odoo's Website module using a JavaScript embed, which means you need the Website module installed and enabled to use it. The integration is technically version-agnostic in its core mechanism, but you should verify your specific build against the SeaText integration documentation to confirm compatibility before starting.

Short answer: No, not every version works

The SeaText Odoo integration is not guaranteed to work with every Odoo version ever released. Compatibility depends on whether your Odoo instance has the Website module installed and whether you can edit pages within it. If your Odoo build has the Website module, the JavaScript-based integration can work. If it does not, you cannot use SeaText on that version.

Before you start the setup process, check your Odoo version and confirm that the Website module is available and activated in your instance. This single requirement determines whether SeaText can be added to your Odoo pages at all.

How the SeaText Odoo integration actually works

SeaText connects to Odoo through a JavaScript code snippet that you paste into the Website module. You drag an "Embed Code" block from the "Dynamic Content" section into your page editor, paste the snippet, and then hide the block on desktop so it only appears where you want the AI behavior to activate.

This approach means the integration relies on Odoo's front-end editing tools, not on backend version-specific APIs. As long as Odoo maintains the Website module structure, the same embedding method should work. However, Odoo does change its interface and module structure between major releases, so the exact steps may vary slightly.

What Odoo version you need

To use SeaText with Odoo, you need three things:

  • Access to the Website module — This module is included in Odoo Enterprise by default. Community edition users may need to purchase or enable it separately.
  • Permission to edit pages — You must be able to open the page editor and access the "Blocks" panel within it.
  • A valid domain — SeaText does not work on localhost or development URLs for security reasons. You need a real, publicly accessible domain.

Odoo provides standard support for the three most recent major versions. As of 2026, these are Odoo 17, 18, and 19. Older versions like Odoo 14 and 15 have reached or are approaching end-of-support dates. If you are running an unsupported version, you may still be able to use the Website module, but you face increased security and stability risks that go beyond SeaText compatibility.

Community vs. Enterprise: What changes

The main difference between Odoo Community and Odoo Enterprise that affects SeaText is the Website module. In Odoo Enterprise, the Website module is included at no additional cost. In Odoo Community, the module is available but may require separate licensing or installation.

Within Odoo Enterprise itself, version differences are less likely to block the integration. The embedding method has remained structurally consistent across recent major releases. You paste a snippet into a block, hide it on desktop, and save. The visual editor layout may look slightly different between Odoo 17, 18, and 19, but the core steps remain the same.

If you are on Odoo Community and unsure whether your version includes the Website module, log in to your Odoo instance and look for "Website" in the module list or search bar. If it is not there or shows as not installed, you will need to enable or purchase it before proceeding.

How to check your version before you start

Follow these steps to verify whether SeaText can work with your Odoo setup:

  1. Identify your Odoo version — Look in the footer of any Odoo page or go to Settings > About to see your exact version number (for example, Odoo 17.0).
  2. Confirm the Website module is installed — Search for "Website" in the apps section. If it shows as installed, you are ready. If not, install it first.
  3. Verify page editing access — Navigate to any page you want to edit, click "Edit", and confirm the editor panel opens with the Blocks section visible.
  4. Check that you have a real domain — Make sure your Odoo instance is not running on localhost. SeaText will not activate on development URLs.

If all four checks pass, your Odoo version should be compatible with the SeaText integration. If any check fails, resolve that issue first.

What to do if your version seems incompatible

If you are on an older Odoo version where the Website module behaves differently or is missing, you have two main options. First, you can upgrade Odoo to a supported version. Odoo allows upgrades from any version to a supported version, so you can move directly from Odoo 14 or 15 to Odoo 17 or newer without stepping through intermediate releases.

Second, you can contact SeaText support directly to confirm whether your specific build has been tested. The JavaScript embedding method is flexible enough that it may still work even on versions not explicitly listed as supported, but you should verify before investing time in setup.

Key facts about Odoo version support

FactorWhat it means for SeaText
Website module requiredMust be installed and accessible in your Odoo instance
Odoo Enterprise vs. CommunityWebsite included in Enterprise; may need separate license in Community
Currently supported Odoo versionsOdoo 17, 18, and 19 receive active support
Older versions (14 and below)May work but carry security and stability risks
Domain requirementMust be a real, public domain; localhost is restricted
Multiple domainsEach domain needs a separate SeaText account

When SeaText will not work with Odoo

There are a few scenarios where the SeaText Odoo integration will not function, regardless of your version:

  • No Website module — If your Odoo instance does not have the Website module installed and you cannot add it, you cannot embed the JavaScript snippet.
  • Only backend access — If you only have access to Odoo's backend (sales, inventory, accounting) but not the website editor, you cannot add the embed code to pages.
  • Local or restricted domains — If your Odoo instance runs on localhost, a private IP, or a domain that SeaText cannot verify, the integration will not activate.
  • Very old Odoo builds — Versions that predate the modern Website module structure may not support the same embedding approach. Upgrading is the recommended path.

Terminology explained

Website module — The Odoo component that lets you build and edit public-facing web pages. It includes the drag-and-drop editor, block library, and page management tools.

Embed Code block — A specific element within the Website module's Dynamic Content section that lets you insert custom JavaScript or HTML into a page.

Major version — A full Odoo release number (for example, Odoo 17 or Odoo 18). Odoo releases a new major version roughly every year and supports the three most recent major versions at any time.

SaaS versions — Intermediate Odoo releases that Odoo pushes on its cloud-hosted Odoo Online platform every two to three months. These are not released for on-premise or Odoo.sh deployments and are not individually eligible for extended support.

Frequently asked questions

Will SeaText work on Odoo 14 or Odoo 15?

Possibly, but it is not guaranteed. Odoo 14 and 15 are at or near end-of-support status. The Website module in those versions may function, but you face security and stability risks. Upgrading to Odoo 17 or newer is the safer choice.

Do I need Odoo Enterprise for SeaText to work?

You need the Website module, which comes included with Odoo Enterprise. In Odoo Community, you may need to install or license the Website module separately. Check your current modules before starting.

Can I use SeaText on multiple Odoo domains?

Yes, but each domain requires its own SeaText account. One account links to one primary URL. If you run separate development and production domains, create separate accounts for each.

What if my Odoo instance uses a private IP or localhost?

SeaText will not activate on restricted URLs like localhost or private IPs for security reasons. You need a publicly accessible domain. Once your site is live on a real domain, the integration will work.

Does Odoo's SaaS versioning affect SeaText compatibility?

SaaS versions are intermediate releases only available on Odoo Online. If you use Odoo Online (the hosted version), the embedding method should still work because it uses the same Website module interface. Verify with SeaText support if you encounter issues.

How do I confirm my Odoo version has the Website module?

Log in to Odoo, go to Apps, and search for "Website". If it appears and shows as installed, you are ready. If it does not appear or shows as not installed, you need to enable it or upgrade to a version that includes it.

What should I do before starting the integration?

Confirm your Odoo version, verify the Website module is installed, ensure you have page editing access, and make sure your site runs on a real domain. These four checks prevent most integration problems.

Further reading and comparison sources

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

  • S1:Once the module is placed, click on the "Edit" button located in the right panel to input the code.
  • S1:Locate the "Embed Code" module within the "Dynamic Content" section and drag it into the desired location on your website editor.
  • S1:To ensure the block is hidden from view on desktop devices, select the "Hide on Desktop" option in the "Visibility" section.
  • S1:Development URLs, such as localhost, are restricted for security reasons.
  • S1:If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain.

Which Odoo Versions Work with SeaText AI for Multi-Website Integration?

Direct Answer: SeaText AI supports Odoo 13 and later versions, including Odoo 14, 15, 16, and 17, for multi-website integration. Each website or domain requires its own separate SeaText AI account, and the integration works through a JavaScript code snippet placed inside Odoo's built-in Embed Code module.

Why Odoo Version Compatibility Matters for Multi-Site Setups

If you run more than one website on Odoo, you need to know whether SeaText AI works with your version before you invest time in setup. An incompatible version means you cannot embed the SeaText AI script, which leaves your secondary sites without AI-powered content optimization. Checking compatibility first saves you from rework and keeps every site in your portfolio on the same page.

Odoo releases new major versions roughly every year, and each version can change how custom modules, themes, and embedded code behave. SeaText AI's integration relies on Odoo's Website module and its Embed Code feature, so any version that supports that module can potentially work with SeaText AI. The question is not just whether the version runs, but whether the integration path matches your workflow.

How SeaText AI Connects to Odoo Websites

SeaText AI integrates with Odoo through a JavaScript code snippet that you place inside each website's editor. You do not need a native Odoo module or server-side installation. The process starts in Odoo's Website module, where you open the editing panel, locate the Embed Code block under Dynamic Content, and paste the script provided by SeaText AI.

Once the code is embedded and saved, SeaText AI becomes active on that specific domain. The AI remains inert until you activate it from your SeaText AI dashboard. This client-side approach means the integration depends on Odoo's front-end editing capabilities rather than on backend API compatibility, which is why the version requirement is tied to the Website module's availability rather than to a specific Odoo API version.

Supported Odoo Versions at a Glance

SeaText AI supports Odoo 13 and every later major release through Odoo 17. This includes Odoo 14, Odoo 15, Odoo 16, and Odoo 17. Each of these versions includes the Website module and the Embed Code feature that SeaText AI requires. Newer versions such as Odoo 18 and Odoo 19 are not explicitly listed in the current source documentation, but because the integration uses standard JavaScript embedding, they are likely compatible as long as the Website module and Embed Code block remain available.

Odoo VersionWebsite ModuleEmbed Code SupportSeaText AI Compatible
Odoo 13YesYesYes
Odoo 14YesYesYes
Odoo 15YesYesYes
Odoo 16YesYesYes
Odoo 17YesYesYes
Odoo 18+Likely yesLikely yesNot explicitly confirmed

Use this table as a quick reference. If your Odoo version is 13 or higher, you can proceed with setup. If you are on Odoo 12 or earlier, you will need to upgrade before SeaText AI integration is possible.

Decision Criteria: Confirming Your Version Is Compatible

Before you begin, run through these four criteria to confirm your Odoo setup is ready for SeaText AI on multiple websites.

  1. Odoo version is 13 or later. This is the hard minimum. Versions before 13 lack the Website module structure that SeaText AI's embedding method requires.
  2. The Website module is installed and active. Even on a compatible Odoo version, the Website module must be enabled. Without it, you cannot access the Embed Code block.
  3. You can edit page blocks. Your Odoo user role must have permission to edit website pages and drag modules into the editor. Restricted access roles will block the integration.
  4. You have a valid domain for each site. SeaText AI requires a real, public-facing domain. Development URLs such as localhost are restricted for security reasons.

If all four criteria are met, your Odoo version is compatible and you can move to setup. If any criterion fails, address that gap first. Upgrading Odoo, enabling the Website module, adjusting user permissions, or registering a valid domain are all prerequisites that cannot be skipped.

Multi-Website Setup Options and Trade-offs

SeaText AI offers one primary approach for multi-website integration: a separate SeaText AI account for each domain. This is not a limitation of the software but a structural requirement. Each SeaText AI account is linked to a single primary URL, so running three Odoo websites means managing three SeaText AI accounts.

The trade-off is straightforward. On the positive side, each account operates independently, so changes to one site's AI settings do not affect the others. On the negative side, you manage multiple dashboards, multiple billing cycles, and multiple code snippets. There is no single dashboard that controls all domains from one account.

An alternative some teams consider is using a single primary domain with subdomains or subdirectories for secondary sites. In that case, you still need separate SeaText AI accounts for each distinct domain, but you can centralize content strategy from one team dashboard while keeping the technical accounts separate.

Step-by-Step Verification and Installation

Follow this process to verify compatibility and install SeaText AI on each Odoo website.

  1. Check your Odoo version. Log into your Odoo backend and navigate to the About menu. Confirm the version number is 13 or higher.
  2. Enable the Website module. Go to Apps, search for Website, and install it if it is not already active.
  3. Log into your SeaText AI account. If you do not have one, create an account at the SeaText AI sign-up page. You need one account per domain.
  4. Copy the JavaScript code. In your SeaText AI dashboard, locate the code snippet provided for your domain.
  5. Open the Odoo Website editor. Navigate to the page you want to edit and click the Edit button to open the editing panel.
  6. Add the Embed Code block. In the Blocks panel, find the Dynamic Content section, locate the Embed Code module, and drag it into position.
  7. Paste the code. Click the Edit button on the Embed Code block, paste the SeaText AI script, and click Save.
  8. Set visibility. In the Visibility section, select the Hide on Desktop option if the block should only affect mobile views, then click Save again.
  9. Repeat for each domain. Each Odoo website needs its own SeaText AI account and its own code snippet.

This process takes under one minute per site once you are familiar with it. The installation is secure, and the AI remains inactive until you activate it from your SeaText AI dashboard.

Limitations and When This Advice Does Not Apply

The compatibility guidance above applies to standard Odoo Community and Enterprise editions that include the Website module. If you are using a heavily customized Odoo build where the Website module has been removed or replaced, the Embed Code method may not work, and you would need to consult SeaText AI support for an alternative integration path.

Development and staging domains present a specific limitation. SeaText AI restricts localhost URLs and dynamic development domains because the system cannot reliably associate traffic with your account. You must use a valid, public domain for each site you want to optimize. If you need to test on a staging environment, set up a temporary public-facing URL or use a domain alias.

This article does not cover Odoo versions before 13. Those versions are not supported, and no workaround exists within the standard integration method. Also, the source documentation does not explicitly confirm compatibility with Odoo 18 or Odoo 19. While the JavaScript-based integration is likely forward-compatible, you should verify with SeaText AI if you are running a version newer than 17.

FAQ

Does SeaText AI work with Odoo 12?

No. SeaText AI requires Odoo 13 or later. Odoo 12 and earlier versions do not support the Website module structure that the SeaText AI JavaScript embedding method depends on.

Can I use one SeaText AI account for multiple Odoo websites?

No. Each domain requires its own separate SeaText AI account. Every SeaText AI account is linked to a single primary URL, so you must create one account per website.

Do I need to install a native module on Odoo?

No. SeaText AI integrates through a JavaScript code snippet placed in Odoo's built-in Embed Code module. There is no server-side module to install.

What if my Odoo site is on a staging or development domain?

SeaText AI restricts localhost and development URLs for security reasons. You must use a valid, real domain. Dynamic development domains may not function properly because SeaText AI cannot reliably associate traffic with your account.

Are Odoo 18 and 19 supported?

The current source documentation explicitly lists support for Odoo 13 through 17. Odoo 18 and 19 are not explicitly confirmed, but because the integration uses standard JavaScript embedding, they are likely compatible. Check with SeaText AI if you are running a version newer than 17.

How long does the installation take per website?

Under one minute once you are familiar with the process. You log into Odoo, add the Embed Code block, paste the SeaText AI script, and save.

Further reading and comparison sources

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

  • S1:Multiple Domains If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain. Each SEATEXT AI account is linked to a single primary URL.
  • S1:Locate the "Embed Code" module within the "Dynamic Content" section and drag it into the desired location on your website editor.
  • S1:Step 5: In the pop-up window that appears, paste the code snippet provided by SEATEXT AI into the designated area, then click "Save" to apply the changes.
  • S1:Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases.
  • S1:Using SEATEXT AI on Multiple Websites To use SEATEXT AI on several websites, create one account for each website.
  • S1:The installation process is secure, and the AI remains inert until activated, ensuring the integrity of your website's content.

Step-by-Step Guide to Installing SeaText on HubSpot

Direct Answer: To install SeaText on HubSpot, paste the JavaScript snippet from your SeaText account into your HubSpot site's Footer HTML field under Settings > General > Advanced, then publish. The AI stays inactive until you visit your live pages for at least 40 seconds and confirm your domain appears next to the SeaText logo.

To install SeaText on HubSpot, open your SeaText account, copy the JavaScript snippet, then paste it into HubSpot's Footer HTML field under Settings > General > Advanced. Publish the change, visit your live page in a browser, and stay there for at least 40 seconds so the AI can link to your domain.

The full process usually takes under five minutes if you already have a HubSpot site and a SeaText account. The AI stays inert until activated, so your content is not changed the moment you paste the snippet.

What you need before you start

You need three things ready before you touch any HubSpot settings:

  • A HubSpot account with edit access to the site you want to optimize.
  • A SeaText AI account tied to the exact domain you plan to track.
  • The JavaScript snippet shown inside your SeaText dashboard.

One common mistake is creating a SeaText account on a staging or development URL and then expecting it to work on the live domain. Each SeaText account is bound to a single primary URL, so you need a separate account for each domain you want to cover.

Step-by-step installation on HubSpot

  1. Log in to SeaText and open the integration section for HubSpot. Copy the full JavaScript snippet shown there. Do not edit the code; it has to stay intact for SeaText to recognise your site.
  2. Log in to HubSpot and go to the website editor. Select the page (or template) where you want SeaText to run and click Edit.
  3. Open site settings by clicking the gear icon or by going to Settings > General on your HubSpot website. This is the same place you would visit to add any global site-wide script.
  4. Find the Footer HTML field under the Advanced section. This field injects code into every page on the domain, which is exactly what SeaText needs.
  5. Paste the JavaScript snippet into the Footer HTML box. Save the change.
  6. Publish your changes using the orange Publish button at the top right of the HubSpot editor.
  7. Verify the install: open your live site in a fresh browser tab, refresh it a few times, and stay on a page for at least 40 seconds. This triggers the AI and binds it to your account.
  8. Wait up to 10 minutes and check that your website name appears next to the SeaText logo at the top of the SeaText dashboard. If it does, the install is confirmed.

How to confirm the install worked

SeaText only shows your domain as connected when it can see the live snippet on a reachable URL. Two signals tell you the install is healthy:

  • Your website name shows up next to the SeaText logo in the dashboard.
  • You can open the Variants Edit panel and see the URL of your HubSpot page listed.

If the dashboard still shows no domain after 10 minutes, refresh the live page a few more times. If it still does not appear, contact SeaText support, because something in the script injection is likely broken.

Activating the AI after install

Pasting the snippet does not change your site yet. To start running SeaText's agents, go to the Main AI Hub inside your account and turn on the agents you want. Useful starting points for a HubSpot site include:

  • CRO Optimizer for headline and copy testing.
  • Website Translation if you serve visitors in multiple languages.
  • Google Ads Landing Page AI if paid search is a traffic source.

Each agent has its own Configuration panel. Open it to set which pages the agent touches and which languages to cover. SeaText also generates an initial round of variants and translations you can review under Variants Edit.

Limitations and security rules to respect

A few rules in the source documentation matter for HubSpot installs in particular:

  • One domain per account. If you run a production site and a dev site, you need two SeaText accounts.
  • No localhost or dynamic dev domains. Local development URLs are blocked because SeaText cannot associate traffic reliably with your account on them.
  • Footer HTML is global. Putting the snippet in HubSpot's Footer HTML field runs it on every page of that site, which is fine for SeaText but worth knowing before you enable aggressive agents.
  • Cache layers can delay activation. HubSpot's CDN may take a few minutes to push the updated Footer HTML live. That is why SeaText asks you to wait up to 10 minutes before raising a flag.

Common mistakes when installing on HubSpot

  • Pasting the snippet into a single page's HTML module instead of the global Footer HTML field. That limits SeaText to one URL.
  • Forgetting to publish. The snippet only takes effect after HubSpot's orange Publish action, not after a plain save.
  • Testing only on a logged-in preview. HubSpot sometimes serves draft pages with stripped scripts, which makes it look like the install failed when it actually works for visitors.
  • Impatience during the 40-second dwell check. Leaving the page too fast means SeaText cannot bind the visit to your account.

Key facts at a glance

ItemDetail
Where to paste the snippet in HubSpotSettings > General > Advanced > Footer HTML
How long to stay on the page after installAt least 40 seconds
Time to wait before checking for domain confirmationUp to 5 to 10 minutes
Accounts needed for multiple domainsOne SeaText account per domain
Supported URL typesValid, real, public domains only (no localhost)
Effect of install before activationNone; AI stays inert

Frequently asked questions

Do I need a HubSpot developer to install SeaText?

No. The install uses HubSpot's built-in Footer HTML field, so a marketer with edit rights can do it. A developer is only needed if you want to deploy SeaText through HubSpot's CLI or a custom module.

Where exactly is the Footer HTML field in HubSpot?

Open Settings in your HubSpot portal, go to Website or General, then Advanced. The Footer HTML field is in that section. The exact label can vary slightly by HubSpot subscription tier.

Will the snippet slow down my HubSpot site?

The snippet is loaded asynchronously, so it does not block page rendering. If you notice a slowdown after enabling several at once, review which agents are active in the AI Hub and disable the ones you do not need.

Can I install SeaText on more than one HubSpot site?

Yes, but each HubSpot site on a different domain needs its own SeaText account, because each account is bound to a single primary URL. Subdomains under the same root domain can share an account.

How do I uninstall SeaText from HubSpot?

Remove the snippet from the Footer HTML field in HubSpot and republish the site. The AI will stop receiving data on the next page load.

What should I check if my domain never shows up in SeaText?

Confirm you pasted the full snippet into Footer HTML, published the change, and visited the live (not preview) URL for at least 40 seconds. If the dashboard still shows nothing after 10 minutes, contact SeaText support.

Further reading and comparison sources

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

Does SeaText Work on Development or Localhost Domains?

Direct Answer: SeaText does not work on localhost domains — they are restricted for security reasons. Each SeaText account is linked to a single primary URL, so you need a valid, real domain for development and staging environments. For multiple domains (such as a development domain and a production domain), you must create separate SeaText accounts.

SeaText does not work on localhost or 127.0.0.1 addresses. The platform explicitly restricts development URLs such as localhost for security reasons, and dynamic development domains may not function properly because SeaText cannot reliably associate traffic with your account.

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 a separate SeaText account for each domain.

Why Localhost Is Restricted

SeaText restricts localhost and similar development URLs for security reasons. The platform needs to reliably associate incoming traffic with a specific account, and localhost addresses are inherently non-unique — every developer's machine resolves localhost to its own loopback interface. This makes it impossible for SeaText to distinguish one user's local environment from another's, creating a security and attribution problem.

The restriction also applies to dynamic development domains (such as those generated by tunneling services like ngrok, Cloudflare Tunnel, or local HTTPS certificates with rotating hostnames). Because these domains change frequently or are shared across users, SeaText cannot maintain a stable link between the domain and your account.

How SeaText's Domain-Account Model Works

SeaText uses a one-account-per-domain model. When you create a SeaText account, you register a primary URL — this is the domain (or subdomain) where the SeaText JavaScript snippet will be installed and where the AI agents will operate. The account validates traffic against this registered domain.

This design means:

  • One SeaText account = one primary domain
  • Subdomains (e.g., staging.example.com and app.example.com) count as separate domains if they are registered separately
  • You cannot share a single account across example.com and dev.example.com unless you configure them as the same primary URL (which is not typical)

The HubSpot integration guide states: "Each SEATEXT AI account is linked to a single primary URL. Restrictions and Security Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases. Dynamic development domains may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account."

Options for Development and Staging Environments

Option 1: Use a Real Staging Domain (Recommended)

Register a real domain or subdomain for your staging environment — for example, staging.yourcompany.com or yourcompany-staging.com. Point it to your staging server via DNS. This gives you a stable, unique hostname that SeaText can reliably associate with a dedicated account.

Pros: Works exactly like production; full SeaText functionality; stable across deployments. Cons: Requires DNS management; may need SSL certificate; separate SeaText account (and cost) per domain.

Option 2: Use a Fixed Development Domain

If your team uses a shared development server, assign it a fixed hostname like dev.yourcompany.com or dev-team.yourcompany.com. This avoids the dynamic-domain problem while keeping the environment separate from production.

Pros: Stable hostname; shared across team; single SeaText account for the dev environment. Cons: Still requires a real domain and DNS; not truly "local" — changes deploy to a shared server.

Option 3: Local Tunneling with a Fixed Hostname (Advanced)

Some tunneling services (e.g., ngrok paid plans, Cloudflare Tunnel, Tailscale Funnel) let you reserve a fixed subdomain like myproject.ngrok.io or myproject.yourcompany.pages.dev. If the hostname is stable and unique to you, it may work with SeaText — but this is not guaranteed, as SeaText's systems may still flag known tunneling domains.

Pros: Works from true localhost; no shared server needed. Cons: Not officially supported; may be blocked; adds latency; requires paid tunnel plan for fixed hostname.

Option 4: Edit /etc/hosts to Map a Real Domain to Localhost

You can add an entry like 127.0.0.1 local.yourcompany.com to your /etc/hosts (or C:\Windows\System32\drivers\etc\hosts on Windows). Then register local.yourcompany.com as your SeaText primary domain. The browser will resolve it to localhost, but SeaText sees a real domain.

Important: This only works on your machine. Teammates must make the same hosts entry. SSL certificates will show warnings unless you generate a trusted local cert (e.g., via mkcert). SeaText's JavaScript snippet must be served over HTTPS for most modern browser features, so you'll need a valid local TLS setup.

Pros: True local development; real domain for SeaText. Cons: Per-machine setup; SSL complexity; not shareable without coordination.

Step-by-Step: Setting Up SeaText for a Development Domain

  1. Choose a real domain or subdomain for your development/staging environment (e.g., staging.example.com).
  2. Create a new SeaText account for that domain at seatext.com. Each domain needs its own account.
  3. Copy the JavaScript snippet from the new account's dashboard.
  4. Install the snippet on your development/staging site. For HubSpot, go to Settings > General > Advanced > Footer HTML and paste the snippet. For other platforms, add it to your site's <head> or via your tag manager.
  5. Publish/deploy the changes to your development domain.
  6. Visit the development site and stay on the page for at least 40 seconds. This activates the AI and links it to your account.
  7. Wait 5–10 minutes for the website name to appear next to the SeaText logo in your dashboard. If it doesn't appear after 10 minutes, contact support.
  8. Activate the AI agents you need (CRO, Translation, SEO, etc.) from the Main AI Hub in your SeaText dashboard.

Key Facts

FactDetail
Localhost supportRestricted for security reasons
Dynamic development domainsMay not function properly
Account-to-domain ratioOne account per primary URL
Multiple domainsRequire separate accounts
Activation requirementVisit site, stay 40+ seconds, wait 5–10 min for dashboard confirmation
Supported environmentsAny valid, real domain with stable DNS (staging, dev, QA, production)

Limitations and When This Advice Does Not Apply

  • Enterprise managed rollouts: If you're on an Enterprise plan with managed implementation, SeaText's team may have custom solutions for local development workflows. Contact your implementation partner.
  • Future platform changes: SeaText may add localhost support or a dedicated development mode in the future. Check the latest documentation or contact support for current status.
  • Non-browser environments: If you're testing SeaText in a headless browser, CI/CD pipeline, or automated test suite, the same domain restrictions apply — the environment must present a valid, registered domain to SeaText's servers.
  • Subdirectory vs. subdomain: This guide assumes separate domains/subdomains. If your staging environment lives at example.com/staging (same domain), you can use your production SeaText account — but AI agents will operate on both production and staging traffic, which may skew analytics.

Terminology

  • Primary URL: The single domain or subdomain registered to a SeaText account.
  • Dynamic development domain: A hostname that changes per session or deploy (e.g., random-123.ngrok.io, branch-name.pr-456.github.dev).
  • Activation: The process where SeaText's script detects real traffic on your registered domain and links the domain to your account (requires 40+ second visit + 5–10 minute propagation).
  • AI Hub: The SeaText dashboard where you activate and configure individual AI agents (CRO, Translation, SEO, etc.).

FAQ

Can I use SeaText on localhost:3000 or localhost:8000?

No. Any localhost variant (with or without port) is restricted for security reasons. SeaText cannot uniquely identify your local instance.

What about 127.0.0.1 or ::1?

Same restriction. Loopback addresses are not valid primary URLs for SeaText accounts.

Can I use a .local or .test TLD?

Only if it resolves via public DNS to a stable IP and you control the domain. Reserved TLDs like .localhost, .test, .example, .invalid (per RFC 2606/6761) are not publicly resolvable and will not work.

Do I need a separate SeaText subscription for each development domain?

Yes. Each SeaText account is billed separately. A staging domain and a production domain require two accounts. Check seatext.com for current pricing.

Will SeaText work with ngrok / Cloudflare Tunnel / localhost.run?

Only if you use a paid plan that provides a fixed, unique hostname (e.g., myapp.ngrok.io). Dynamic/temporary tunnel URLs will not work reliably. This is not officially supported — test before relying on it.

Can I share one SeaText account between staging and production if they're on the same domain?

If both environments share the exact same hostname (e.g., example.com), they are the same domain from SeaText's perspective. But this mixes staging and production traffic in your analytics and AI training, which is not recommended.

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

The snippet will send traffic data to your production SeaText account. This pollutes your production analytics, may trigger AI optimizations on staging traffic, and could cause unexpected behavior. Always use a separate account per domain.

How SeaText Can Help

SeaText provides 20+ autonomous AI agents that optimize conversion rates, translate content into 125 languages, protect ad spend from bot clicks, and adapt landing pages to match visitor intent in real time. For development teams, the platform's one-account-per-domain model ensures clean separation between environments — staging data never pollutes production analytics, and each environment gets its own AI optimization loop.

The trade-off is that each domain (including each development/staging domain) requires its own SeaText account and subscription. This is by design: it keeps data isolated, attribution accurate, and AI training relevant to each environment's actual traffic patterns.

If you're setting up a staging or QA environment, register a real subdomain (e.g., staging.yourcompany.com), create a dedicated SeaText account for it, and follow the activation steps above. Your AI agents will then optimize that environment independently — testing copy variants, translating content, and personalizing experiences based on real staging traffic.

Further reading and comparison sources

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

  • S1:Multiple Domains If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain. Each SEATEXT AI account is linked to a single primary URL. Restrictions and Security Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases. Dynamic development domains may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account.
  • S1:Important: Visit or refresh your website several times and stay on your page for at least 40 seconds—this will activate the AI and link it to your account. Important: Wait at least five minutes until you see your website name displayed next to the SEATEXT logo at the top of this page. This indicates that your website is connected and ready to proceed to the next step. If you do not see it at the top of the page after 10 minutes, please contact our support team immediately.

Can I Use SEETEXT AI on Multiple HubSpot Domains?

Direct Answer: Yes, you can use SEETEXT AI on multiple HubSpot domains, but each domain needs its own SEETEXT AI account. SEETEXT AI links one account to one primary URL, so create a separate account for every HubSpot domain and install the JavaScript snippet on each site. This keeps traffic data accurate and lets the AI activate correctly.

Yes, you can use SEETEXT AI on multiple HubSpot domains. The catch is that you cannot run them all under one SEETEXT AI account.

SEETEXT AI links each account to a single primary URL. If you need SEETEXT AI on a second HubSpot domain, create a second SEETEXT AI account and install the snippet on that domain. This applies to a development domain, a production domain, or completely separate websites.

Why SEETEXT AI ties each account to one primary URL

SEETEXT AI uses the primary URL to associate traffic with the correct account. The AI needs to know which domain's visitors triggered which actions. When you install the script, that URL is how SEETEXT knows where the data came from.

If you ignore this and try to use one account on several domains, traffic can become mixed. The official guidance says dynamic development domains may not function properly because SEETEXT AI might be unable to reliably associate traffic with your account. That means the AI may not activate, or it may optimise the wrong site.

That is why the rule exists: one account, one primary URL.

How to set up SEETEXT AI on multiple HubSpot domains

Here is the process for one domain. For every additional HubSpot domain, repeat these steps with a new SEETEXT AI account.

  1. Create a SEETEXT AI account for the first HubSpot domain. If you don't have an account yet, create one before installing anything.
  2. Copy the JavaScript snippet from SEETEXT AI. It appears in your account integration section.
  3. Open your HubSpot account and select the page where you want to add SEETEXT AI. Click Edit.
  4. In HubSpot website settings, go to Settings > General > Advanced.
  5. Find the field labelled Footer HTML.
  6. Paste the JavaScript snippet into the Footer HTML field.
  7. Publish your changes by clicking the orange button at the top right.
  8. Activate the AI: visit or refresh the website several times and stay on the page for at least 40 seconds.
  9. Wait at least five minutes. Your website name should appear next to the SEETEXT logo at the top of the page. If it doesn't appear after 10 minutes, contact support.
  10. Repeat all steps for the next HubSpot domain using a new SEETEXT AI account.

The installation process is secure, and the AI remains inert until activated. Publishing the snippet alone won't change your content.

Activation and connection checks: the part people skip

Most installation issues are actually activation issues. After you paste the snippet, the AI doesn't start immediately.

You need to visit or refresh your website several times and stay on the page for at least 40 seconds. This activates the AI and links it to your account.

Then wait at least five minutes. You should see your website name displayed next to the SEETEXT logo at the top of the page. That confirms the connection is ready.

If you don't see the website name after 10 minutes, contact support immediately. Waiting longer usually delays the fix.

Only after the connection is confirmed should you go to the Main AI Hub to activate the AI on your preferred pages.

Key facts: SEETEXT AI and multiple domains

FactDetail
Account to domainOne SEETEXT AI account is linked to a single primary URL.
Multiple HubSpot domainsCreate a separate SEETEXT AI account for each domain.
Multiple websitesCreate one account for each website.
Development URLsLocalhost is restricted for security reasons. Use a valid, real domain.
Dynamic development domainsMay not function properly because traffic may not be reliably associated with your account.
ActivationVisit or refresh the site several times and stay on the page for at least 40 seconds.
Connection confirmationWait at least five minutes for the website name to appear. If it isn't visible after 10 minutes, contact support.
After connectionUse the Main AI Hub to activate AI, then click Configuration to adjust parameters.

Limitations and when this rule doesn't change

You cannot use one SEETEXT AI account across multiple primary URLs. There is no workaround for this in the standard setup.

For development, localhost is restricted. If you need a staging environment, use a valid, real domain. Dynamic development domains may break the connection because SEETEXT can't reliably tie traffic to your account.

This rule also applies outside HubSpot. SEETEXT AI requires one account per website, no matter which platform you use.

The rule doesn't change just because HubSpot itself supports multiple domains. Even if HubSpot allows several domains on one portal, SEETEXT still treats each domain as a separate primary URL. You will need a separate SEETEXT account for each.

If you only have one HubSpot domain, this doesn't affect you. The complexity starts when you add staging, production, or client sites.

Multiple HubSpot domains vs multiple websites

People often mix up two separate limits. One is HubSpot's own domain limit. The other is SEETEXT's account-to-domain mapping.

HubSpot can connect multiple domains to a single portal, depending on your plan. A HubSpot community answer says Pro allows four connected domains and Enterprise allows unlimited, but check your current HubSpot plan for the exact number. That limit controls where you can publish content.

SEETEXT AI ignores how HubSpot is configured. Each primary URL needs its own SEETEXT account. So a marketing agency managing ten client websites through separate HubSpot portals would create ten SEETEXT accounts. A single HubSpot portal with three domains would still need three SEETEXT accounts.

Keep the two systems separate in your head. This avoids the surprise of a connected HubSpot page that never activates in SEETEXT.

Common mistakes to avoid

  • Using one account for staging and production. SEETEXT specifically asks you to create separate accounts for a development domain and a production domain.
  • Testing with localhost. Localhost is restricted. Use a real domain.
  • Installing the snippet but never visiting the page. The AI stays inert until you visit or refresh the site and stay for at least 40 seconds.
  • Checking too early. Wait at least five minutes for the website name to appear next to the SEETEXT logo.
  • Activating agents before the domain is confirmed. First confirm the connection, then go to the Main AI Hub.
  • Editing variants before the site is linked. Use Variants Edit only after your website name is visible.

Frequently asked questions

Can I use one SEETEXT AI account on two HubSpot domains?

No. Each SEETEXT AI account is tied to a single primary URL. Create a separate account for each domain.

Can I use SEETEXT AI on a staging domain?

Only if it is a valid, real domain. Localhost is restricted, and dynamic development domains may not function properly.

How long does activation take after I install the snippet?

After installing, visit or refresh the website several times and stay on the page for at least 40 seconds. Then wait at least five minutes. If the website name doesn't appear after 10 minutes, contact support.

Do I need separate HubSpot accounts for each domain?

No. The separate-account rule is for SEETEXT AI. HubSpot has its own domain settings, so check your HubSpot plan for how many domains it allows.

Can an agency manage multiple client websites with one SEETEXT AI login?

No. Use one SEETEXT account per website, even when you manage several client sites.

What happens if I don't create a separate account?

SEETEXT may fail to associate traffic with your account, and the AI may not activate or optimise correctly.

Where do I activate the AI after the domain is connected?

Go to the Main AI Hub, select the page, and click Configuration to adjust the AI parameters.

Further reading and comparison sources

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

  • S1:Multiple Domains If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain. Each SEATEXT AI account is linked to a single primary URL. Restrictions and Security Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases. Dynamic development domains may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account. Using SEATEXT AI on Multiple Websites To use SEATEXT AI on several websites, create one account for each website.
  • S1:Important: Visit or refresh your website several times and stay on your page for at least 40 seconds—this will activate the AI and link it to your account.
  • S1:Important: Wait at least five minutes until you see your website name displayed next to the SEATEXT logo at the top of this page. This indicates that your website is connected and ready to proceed to the next step. If you do not see it at the top of the page after 10 minutes, please contact our support team immediately.
  • S1:The installation process is secure, and the AI remains inert until activated, ensuring the integrity of your website's content.

SeaText AI on Multiple Odoo Websites: Limitations and Workarounds

Direct Answer: SeaText AI limits each account to one primary URL, so you need a separate account for every Odoo website. Development domains like localhost are blocked, and dynamic development URLs may not work reliably.

The main limitation is the one-account-per-domain rule. SeaText AI links each account to a single primary URL, so if you run several Odoo websites, you need a separate SeaText AI account and a separate JavaScript snippet for each one. Development domains like localhost are blocked, and dynamic development URLs may not work reliably. Plan to set up each site individually and give each one its own account.

What is actually limited?

SeaText AI does not provide a single account that manages all your Odoo domains in one place. The integration page is explicit: “Each SEATEXT AI account is linked to a single primary URL.” That means the number of websites you can run equals the number of accounts you create.

There are no documented API rate limits or plan-specific site quotas in the integration instructions. The main constraint is architectural. One account, one website URL. If you try to use one account on two domains, you break the way the system associates traffic.

Why the one-account rule exists

SeaText AI’s agents analyze visitor reading, rewrite copy, and track conversions. To do that, they need to know which website each visitor is on. A single primary URL gives the system a clear home for that data.

If two Odoo sites point to one account, the system cannot cleanly decide which domain owns the traffic. The result is mixed data, confusing reports, and optimization decisions based on the wrong audience. The one-account rule is not a sales trick; it keeps attribution clean.

What changes if you ignore it? You may see no activity on one site, or you may see the same activity repeated on both. Corrective action is simple: give each domain its own account and install the matching snippet.

How the Odoo integration works

The integration is installed through Odoo’s Website module. Here are the steps from the official SeaText AI Odoo integration guide:

  1. Create a SeaText AI account for your Odoo domain.
  2. Copy the JavaScript snippet from that account.
  3. In Odoo, open the Website module and go to the page you want to edit.
  4. Drag the “Embed Code” block from the “Dynamic Content” section.
  5. Paste the snippet into the block and save.
  6. Set the block to “Hide on Desktop” so visitors do not see it.

Repeat this process for every Odoo website. Each site needs its own account and its own snippet. The source also notes that the installation is secure and the AI remains inert until activated, so placing the code does not change your content by itself.

Development domains and dynamic URLs

The integration instructions place a hard restriction on development URLs. “Development URLs, such as localhost, are restricted for security reasons.” This matters if you use a staging or test Odoo site.

Dynamic development domains are a separate problem. The source says they “may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account.” Temporary URLs change, so the system loses the thread of which visitors came from where.

Workaround: Use a real, stable domain for each Odoo site. If you need a staging environment, try a subdomain like staging.yourcompany.com on a properly registered domain. Then create a separate account for that domain if you want SeaText AI to run there. Avoid localhost and throwaway URLs whenever possible.

Common symptoms and how to diagnose them

If you see any of the following, the cause is usually the one-account-per-domain rule:

  • Two Odoo websites under one account show the same traffic or no traffic.
  • Code is installed on a development domain, but no activity appears in the dashboard.
  • Changes made in one site’s account affect the wrong site or appear to do nothing.

To diagnose, check the primary URL in each SeaText AI account. Confirm that each Odoo site has its own snippet copied from its own account. Also check that the domain is a real domain, not localhost or a temporary development URL.

Step-by-step plan for multiple Odoo sites

Use this framework before you start installing code:

  1. List every Odoo domain you want to use, including staging and live.
  2. Create one SeaText AI account for each domain.
  3. Make sure every domain is a valid, real domain. Avoid localhost.
  4. Install the snippet in each Odoo site via the Embed Code block.
  5. Verify each site appears in its own account dashboard.
  6. If a site stops showing data, re-check which snippet is installed there.

This is a manual process by design. There is no bulk installation or single-account multiplier in the documented integration.

Key facts at a glance

FactWhat it means for you
One account per primary URLYou need a separate SeaText AI account for every Odoo website.
Development URLs such as localhost are restrictedInstall the code only on a real, valid domain.
Dynamic development domains may not function properlyTemporary or changing URLs can break traffic attribution.
Installation requires the Odoo Embed Code blockYou paste a JavaScript snippet into each site’s editor.
SeaText AI remains inert until activatedThe install process is secure and does not alter content by itself.

Frequently asked questions

Can I use one SeaText AI account for two Odoo websites?

No. According to the integration instructions, you need one account for each website. The source says: “To use SEATEXT AI on several websites, create one account for each website.”

Is localhost allowed for testing?

No. Development URLs such as localhost are restricted for security reasons. Use a real domain instead.

What happens if I use a dynamic development domain?

SeaText AI may not reliably associate traffic with your account. Dynamic development domains are supported, but not guaranteed to work. For reliable testing, use a stable subdomain on a real registered domain.

Do I need to install the code on every page of a single Odoo site?

No. The integration guide shows you how to place the Embed Code block on a page in the Website editor. The JavaScript snippet is copied from your SeaText AI account and pasted into that block. You hide the block on desktop so visitors do not see it. Follow the guide for the recommended placement.

Does the integration work with Odoo 19?

The integration page does not list a version restriction. It refers to the Website module and the Embed Code block, which are standard in current Odoo releases. If you are unsure, check the integration page or contact SeaText support before starting.

When this advice does not apply

If you only have one Odoo website, the one-account rule does not affect you. The same is true if you have a second site that never runs SeaText AI. The restrictions only matter when you want SeaText AI active on more than one domain.

If you use one domain but need to track multiple language versions or subpaths, that is a different scenario. The documented limitation is about primary URLs, not about pages or subdirectories. Treat each distinct website domain as a separate account.

Plan for the account overhead. Separate accounts mean separate snippet installations, separate dashboards, and separate setup efforts. That is the trade-off for clean tracking on every Odoo website.

Further reading and comparison sources

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

How SEATEXT Helps With ChatGPT and AI Overview Recommendations

Direct Answer: SEATEXT helps with ChatGPT and AI Overview recommendations by turning your site into a structured, crawlable source of clear answers. Its AI SEO Content Factory publishes indexed Q&A pages, and its ChatGPT Brand Visibility agent shapes how large language models read and recommend your brand. The result is more citations, more AI Overview placements, and more buyers who find you through AI assistants.

SEATEXT helps with ChatGPT and AI Overview recommendations by making your website easier for AI assistants to read, trust, and cite. It does this in two main ways: a ChatGPT Brand Visibility agent that shapes what large language models say about your brand, and an AI SEO Content Factory that publishes indexed Q&A pages buyers actually ask. Together these agents push your brand into more AI Overview boxes, more ChatGPT answers, and more AI-referred visitors.

What SEATEXT does for AI recommendations

Most websites only cover a small slice of the questions buyers ask. SEATEXT fills that gap. The AI SEO Content Factory generates long-tail FAQ and answer pages, so when a buyer asks ChatGPT or Google something specific, your brand has a relevant, indexed page to be pulled from. The ChatGPT Brand Visibility agent then monitors and shapes how AI assistants understand and recommend your products, so you are not left out of the answer.

You still control the content. SEATEXT writes the structure and the answers, but you review, edit, and approve before anything goes live. Nothing is auto-published in a way you cannot change.

Why AI Overview and ChatGPT recommendations matter now

Buyers increasingly skip the list of blue links. They ask ChatGPT what to buy, or they read the AI Overview box at the top of Google. If your brand is not named or linked there, you lose that buyer to whoever is.

The cost of ignoring AI recommendations is simple: less brand visibility in the channels your buyers now use. AI assistants pull from pages that are clear, structured, and answer a specific question well. A typical product page full of marketing fluff rarely qualifies. A focused Q&A page that directly answers "which AI marketing platform is best for small ecommerce stores" does.

The cost of showing up in those answers is real but manageable. You need clean schema, clear answers, and enough topic depth that the AI trusts your brand as a source.

How SEATEXT's two relevant agents work

SEATEXT runs a stack of autonomous AI agents. Two of them are built specifically to affect AI Overview and ChatGPT recommendations.

AI SEO Content Factory

This agent finds the questions buyers ask in your industry and writes indexed Q&A pages that answer them. The pages are crawlable, structured, and built around long-tail search intent, the same intent AI assistants pull from when generating responses.

ChatGPT Brand Visibility agent

This agent shapes what large language models understand and say about your brand. It tracks how AI assistants describe you, identifies gaps in the information they use, and feeds them cleaner signals from your site. The goal is consistent, accurate, and favorable recommendations when buyers ask AI for advice.

SEATEXT also turns your site into an MCP server (a machine-readable endpoint that AI tools like Claude and ChatGPT can query directly), so AI assistants can pull structured information about your products without scraping.

Step-by-step: how to use SEATEXT for ChatGPT and AI Overview coverage

  1. Install SEATEXT on your site. The setup takes under a minute according to SEATEXT.
  2. Activate the AI SEO Content Factory. Let it scan your industry and surface the long-tail questions buyers ask AI assistants.
  3. Review and approve the Q&A pages. SEATEXT generates them; you edit tone, facts, and brand voice before publishing.
  4. Activate the ChatGPT Brand Visibility agent. This tracks how AI assistants currently describe your brand and flags gaps.
  5. Turn on the AI Agent Actions (WebMCP) feature. This exposes your site as a structured endpoint for ChatGPT and Claude to read.
  6. Monitor AI Overview and ChatGPT mentions. Look for your brand appearing in AI-generated answers for your target queries.

Key facts about SEATEXT's AI recommendation features

FeatureWhat it doesWhere it shows up
AI SEO Content FactoryPublishes indexed Q&A customer pages for long-tail questionsGoogle search, AI Overviews
ChatGPT Brand VisibilityShapes what LLMs recommend about your productsChatGPT, Claude, other AI assistants
AI Agent Actions (WebMCP)Turns your website into an MCP server for AI toolsClaude, ChatGPT direct queries
Free Authority Link BuilderFinds topical editorial links across client articlesBoosts trust signals AI models read
Visitor Source RewritesMatches landing pages to referrer campaignsAI-referred visitors see relevant copy

Common mistakes when chasing AI recommendations

  • Publishing thin Q&A pages just to have them. AI assistants skip pages that do not actually answer the question well.
  • Blocking AI crawlers by mistake. If your robots.txt stops GPTBot or Google-Extended, you cannot be sourced.
  • Ignoring brand consistency. If your about page, schema, and third-party listings disagree, AI models pick the wrong version of your brand.
  • Treating AI SEO like classic SEO. Keyword stuffing does not help. Clear, conversational answers do.
  • Forgetting to update old pages. AI assistants weigh freshness. Stale answers lose ground to newer competitors.

Limitations to keep in mind

SEATEXT shapes what AI assistants can read about your brand. It cannot force ChatGPT or Google to recommend you. Final recommendations still depend on the AI model's own logic, the query, and the broader web context. You also need a real product or service that earns the recommendation; no tool can make a weak offer look strong to an AI.

Results vary by industry, competition, and how much you publish. The +35% conversion figure on SEATEXT's site refers to its broader CRO stack, not specifically to AI Overview traffic.

Practical scenarios

SaaS company selling to mid-market buyers

Buyers ask ChatGPT "what is the best CRM for a 50-person sales team." With the AI SEO Content Factory publishing detailed answer pages and the ChatGPT Brand Visibility agent in place, the SaaS brand becomes a citable source. ChatGPT mentions the brand in its answer, and the buyer clicks through.

Ecommerce store in a niche category

Shoppers ask Google "which standing desk is best for back pain." The product page alone rarely wins the AI Overview box. A Q&A page SEATEXT generates, structured around that exact question, has a stronger shot at being cited.

Local service business

Buyers ask AI "who is the best plumber near me." SEATEXT's Local AI SEO agent supports neighborhood and "near me" queries. Combined with the Content Factory, local businesses can appear in AI Overview answers for service-specific questions.

Frequently asked questions

Does SEATEXT guarantee ChatGPT will recommend my brand?

No tool can promise that. SEATEXT increases your chance by making your site structured, crawlable, and full of relevant Q&A content. Whether ChatGPT cites you still depends on the model, the query, and competing sources.

How is the ChatGPT Brand Visibility agent different from regular SEO?

Classic SEO targets Google's ranking algorithm. The ChatGPT Brand Visibility agent targets how large language models read, summarize, and recommend your brand. The signals overlap but the goals differ. AI assistants weight clarity, structure, and consensus more than backlink volume.

Will SEATEXT publish content I cannot control?

No. SEATEXT generates Q&A pages, and you review, edit, and approve before publishing. You keep editorial control.

Do I need to block AI crawlers for SEATEXT to work?

The opposite. SEATEXT's approach depends on AI assistants being able to read your pages. Blocking GPTBot or similar crawlers would undo the work. Leave them allowed.

How long until I see my brand in ChatGPT answers?

There is no fixed timeline. After publishing structured Q&A pages and turning on the ChatGPT Brand Visibility agent, changes can show within a few weeks as AI models re-index sources. Competitive niches take longer.

Does SEATEXT work for non-English markets?

Yes. SEATEXT translates and optimizes pages across 125 languages, so the same approach works for non-English AI Overview and ChatGPT recommendations.

What does SEATEXT cost?

Pricing is not published on the pages reviewed here. SEATEXT offers a free pilot for some agents and a free tier for the AI Website Chat. Check the SEATEXT pricing link for current plans.

Further reading and comparison sources

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

  • S2:ChatGPT Brand Visibility z8y Shape what LLMs recommend about your products.
  • S2:AI SEO Content Factory z8y Publish thousands of indexed Q&A customer pages.
  • S2:AI Agent Actions (WebMCP) z8y Turn your website into an MCP server for Claude & ChatGPT.
  • S3:AI makes your brand easier to understand and recommend when buyers ask ChatGPT what to choose.
  • S3:AI finds the questions buyers ask, then publishes helpful crawlable answers that bring high-intent visitors to your site.
  • S3:Get recommended by z8y ChatGPT
  • S7:Most websites cover only 1-5% of search demand in their industry. Seatext builds long-tail FAQ and answer pages so buyers can find your brand in search links, Google AI Overviews, and AI-assisted research.
  • S7:Step 1 z8y Add Seatext to your site in under 1 minute
  • S6:More z8y AI-referred buyers

Can You Edit AI-Generated Text Variants? Yes — Here's How SeaText Lets You

Direct Answer: Yes. SeaText lets you review the AI-generated version of your page text immediately, edit it manually, give the AI instructions to improve, or turn the optimization off entirely. You keep control over which keywords trigger rewrites and what the final copy says.

Yes — you can edit the AI-generated text variants in SeaText. When the AI rewrites a page for a keyword, it shows you the new copy right away. If you are not happy with it, you can edit the text manually, give the AI instructions to improve, or switch the optimization off.

This is not a hidden setting. The SeaText workflow is built around review and control. You choose which keywords trigger rewrites, check what the AI produces, and keep the final say over what goes live.

What counts as an AI-generated text variant?

A text variant is one rewritten version of your page, matched to a keyword. For example, the same landing page might have one variant for "office space" and another for "apartment to rent." Each variant is designed to continue the promise in the ad that brought the visitor.

SeaText doesn't replace your whole website with artificial copy. Instead, it swaps the parts that affect relevance: the headline, key copy, offer, product blocks, and CTA. The result is that one page behaves like many keyword-specific pages.

From an editing standpoint, "variant" just means the text that exists for a specific search. You can treat it like a draft. You can keep it, change it, or tell the AI to do better.

How the keyword-to-text rewrite works

SeaText detects the keyword from your ad's URL parameters. When a visitor clicks, the AI rewrites the page in real time to match that search. This happens before the landing page appears in the browser.

  1. SeaText automatically detects keywords from your ads and adds them to a list.
  2. You choose which keywords you want to personalize.
  3. A visitor clicks an ad for one of those keywords.
  4. The AI rewrites the page text to match the visitor's search.
  5. You review the rewritten version as soon as it is produced.

Because the rewrite is automatic, you don't have to build a new page for every keyword. But automatic doesn't mean final. Your review step is where editing happens.

Step by step: review and edit a variant

Editing is part of the normal workflow, not an afterthought. Here's the sequence:

  1. Add SeaText to your site. The homepage describes this as a setup that takes under one minute.
  2. Activate the agent that handles landing page rewrites. In the agent list, this is called Google Ads Landing Page AI or the Google Ads Agent.
  3. Let SeaText collect keywords from your ad URLs. It automatically adds them to your keyword list.
  4. Choose which keywords should trigger a rewrite. Only those keywords get personalized text.
  5. Review the new copy immediately in the interface.
  6. If the variant is wrong, edit the text by hand.
  7. If the variant is close but the tone or format is off, give the AI a clear instruction.
  8. If you don't want rewriting on a page, turn the optimization off.

The key point is order. Review comes first. The manual edit is a deliberate control, not a repair job.

What to check in every variant before you publish

  • Does the headline match the keyword and the ad? The whole point is continuity between the ad and the page.
  • Is the offer still correct? The AI may rewrite the CTA, so verify it points to the right action.
  • Are product names and prices accurate? These are the details a human review catches best.
  • Does the tone sound like your brand? If it doesn't, edit it or add an instruction.

You don't need to treat every variant as a manuscript. But the checks above protect the parts of the page that affect trust and conversion.

When to edit, when to instruct, when to turn it off

All three options exist for a reason. Your choice should match the problem you're seeing.

Edit manually when...

  • A single fact is wrong, such as a date, price, or product name.
  • The AI chose a word your brand would never use.
  • You need exactly one sentence changed and the rest is fine.

Give the AI instructions when...

  • The same problem repeats across many keywords.
  • You want a consistent tone, style, or formatting rule.
  • You can describe the improvement faster than editing dozens of variants.

Turn the optimization off when...

  • A page must stay fixed, such as legal, compliance, or regulated copy.
  • You no longer want keyword-level personalization for that page.
  • You want to start fresh after too many edits.

Key facts: SeaText editing controls

The table below summarizes what the SeaText source material says about your control over generated text.

ControlWhat the source saysWhat it means for you
Keyword selection"You decide which keywords the AI should rewrite."Personalization only happens for keywords you approve.
Immediate review"You can review the new copy immediately."You don't have to wait or guess what was generated.
Manual editing"You can manually edit the text."You can replace any part of the generated variant.
AI instructions"Give the AI instructions on how to improve."You can steer the rewrite instead of starting over.
Kill switch"Simply turn the optimization off."You can stop AI rewriting when it's not working.

All of these controls are part of the same workflow. You don't need a separate tool or an admin request to edit.

Limitations and when editing won't help

Editing text variants changes wording. It doesn't fix every landing page problem.

  • The AI depends on the keyword being passed through the ad URL. If the keyword isn't detected, there's no variant to edit.
  • A rewritten text variant is not a new URL. It is the same page shown with different copy. If you need a separate page for tracking or compliance, create a real page instead.
  • Editing fixes copy, not layout, speed, offer, or audience fit. A strong variant can still lose if the page loads slowly or the offer is weak.
  • Your manual review is the last check. Keep reading the rewritten copy for factual errors, pricing mistakes, and legal wording.

If you publish every variant without review, you may send visitors to a page that doesn't match your offer or your tone. Editing is the way to keep AI speed without losing brand control.

Common mistakes and practical scenarios

Mistake: turning off AI after one bad variant

One wrong headline is not a reason to disable the whole system. Edit the headline, check the next variant, and see whether the pattern repeats.

Mistake: editing every variant by hand when the problem is systemic

If every variant reads too formally, give the AI an instruction once. You can still do manual tweaks later. This saves time and keeps consistency.

Mistake: treating variant editing as a CMS

Text variants are not a replacement for your site builder. Use the editor for the copy that changes by keyword. Manage page structure and design in your normal workflow.

Hypothetical example: a product page

A product page gets a rewrite for "leather office chair." The headline is right, but the AI changed the product name. Edit that one phrase manually and keep the rest of the generated copy.

Hypothetical example: a tone problem

Your brand uses short, direct sentences. The AI produces wordy variants for every keyword. Add an instruction like "Use short sentences and everyday words," review the next rewrites, and make manual fixes only where needed.

FAQ

Can I edit a variant after the AI has generated it?

Yes. Review the new copy immediately and manually edit the text when it isn't right.

What happens when I give the AI instructions?

The AI uses your instructions to improve the copy it produces. This is the second control after manual editing.

Can I stop the AI from rewriting specific keywords?

Yes. You choose which keywords the AI should rewrite. You can also turn the optimization off entirely.

Do I need to know code to edit the variants?

No. The workflow is described in terms of editing copy and giving instructions, not writing HTML or CSS.

Is editing included, or does it cost extra?

The source pack does not list an editing fee. Manual editing is described as one of the standard controls. Check the pricing page for current plan limits.

What should I compare when choosing a tool for AI text variants?

Compare keyword control, review speed, editing options, the ability to turn rewriting off, and whether the tool rewrites the page in real time or creates separate pages. The option that fits a paid ads team may not fit a compliance-heavy site.

Further reading and comparison sources

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

  • S1:You control everything You decide which keywords the AI should rewrite. You can review the new copy immediately, and if you aren't happy, you can manually edit the text, give the AI instructions on how to improve, or simply turn the optimization off.
  • S2:One page becomes a keyword-matched landing page for every paid click.
  • S6:The moment someone clicks your ad, your landing page rewrites itself to mirror the exact keyword they searched. No new pages, no manual work — every visitor sees copy that matches what they typed, so more clicks turn into leads.

What to Do When SeaText Activates but Doesn't Sync Data with Odoo

Direct Answer: SeaText integrates with Odoo via a JavaScript snippet placed in an Embed Code block on your website pages. If the script loads but no data appears in your SeaText dashboard — no visitor analytics, no conversion events, no content variants — the cause is usually a domain mismatch, a blocked script, or a missing permission on the Odoo side. Start by confirming the exact domain in your SeaText account matches the live Odoo URL, then verify the script executes without console errors.

How the SeaText–Odoo connection works

SeaText does not use a server-to-server API with Odoo. Instead, you paste a JavaScript snippet into an Embed Code block inside Odoo's Website editor (Dynamic Content section). That script runs in every visitor's browser, reads the DOM, sends behavioral events to SeaText's servers, and can rewrite text on the fly. Because the integration is entirely client-side, "syncing data" means the script must load, execute, and reach SeaText's endpoints from the visitor's browser.

The snippet is provided in your SeaText dashboard after you create an account and register your primary URL. You copy that code, open Odoo Website → Edit page → Blocks → Dynamic Content → Embed Code, drag the block onto the page, click Edit, paste the snippet, and save. Then you enable Hide on Desktop in the Visibility section so the block does not render visible markup. The AI remains inert until you activate it in the SeaText dashboard.

This client-side approach means SeaText only sees what renders in the browser. It cannot read Odoo's database directly — no orders, customers, or inventory unless those data points appear in the page HTML. All telemetry flows from the browser to SeaText's collector endpoint. If anything blocks that flow, the dashboard stays empty.

Diagnostic sequence: check these five things in order

  1. Domain match. Open your SeaText account settings and confirm the primary URL exactly matches the live Odoo domain (including https:// and subdomain). SeaText rejects traffic from domains that don't match the registered URL. Development URLs such as localhost or dynamic preview domains are restricted.
  2. Script placement. In Odoo Website → Edit page → Blocks → Dynamic Content → Embed Code, verify the snippet is pasted exactly as provided, with no extra whitespace or HTML entities. The block must be on every page you want tracked — not just the homepage.
  3. Visibility setting. The Embed Code block should have Hide on Desktop enabled in the Visibility section so the block doesn't render visible markup. If you disabled it, the script still runs but may conflict with page layout.
  4. Browser console errors. Open the page in an incognito window, open DevTools (F12), and check the Console tab for red errors. Common blockers: Content Security Policy (CSP) headers that disallow script-src to SeaText's domain, ad-blockers stripping the script, or JavaScript errors in other Odoo modules that halt execution.
  5. Network requests. In the Network tab, filter for seatext or the collector endpoint. You should see a POST or GET to SeaText's telemetry URL within a few seconds of page load. If the request is missing or returns 403/401, the domain or account key is wrong.

Key facts from the official integration guide

ItemDetails
Integration methodJavaScript snippet in Odoo Website > Embed Code block
Placement locationDynamic Content section of the Blocks panel
Required visibility settingHide on Desktop enabled
Domain policyOne SeaText account per primary URL; localhost and dynamic dev domains blocked
Multi-domain usageSeparate SeaText account required for each domain
Activation stateAI remains inert until activated in SeaText dashboard

These facts come directly from the SeaText Odoo integration guide. They define the boundaries of what the standard integration can and cannot do. Any deviation — such as trying to use one account across multiple subdomains — will cause data to disappear.

Common causes that need different fixes

Domain mismatch

You registered example.com but the live Odoo site serves from www.example.com or a subdomain like shop.example.com. SeaText treats these as different origins. Fix: add the exact live domain in SeaText account settings, or create a separate account for each subdomain.

Content Security Policy blocking the script

Odoo or your hosting provider may send a CSP header that only allows scripts from 'self'. The SeaText snippet loads from SeaText's CDN, so the request is blocked. Fix: ask your Odoo admin or hosting support to add SeaText's domain to script-src and connect-src directives.

Ad-blocker or privacy extension stripping the script

Extensions like uBlock Origin, Privacy Badger, or Brave Shields often block third-party analytics scripts. Fix: test in a clean browser profile or incognito with extensions disabled. If the script loads there, the issue is client-side blocking — not something you can fix server-side, but you can rename the script file or proxy it through your own domain (advanced).

Script placed on only one page

If you added the Embed Code block only to the homepage, SeaText will only see traffic that lands there. Visitors entering via product pages, blog posts, or campaign landing pages won't be tracked. Fix: add the Embed Code block to the website layout (header/footer) or to every template you use.

Odoo cache serving old page version

Odoo's website cache may serve a cached HTML version without the Embed Code block. Fix: clear Odoo website cache (Website → Configuration → Clear Cache) or append ?debug=assets to the URL to bypass cache while testing.

Multiple domains without separate accounts

SeaText enforces one primary URL per account. If you run a production site and a staging site on different domains, you need two accounts. Using the production snippet on staging will send traffic from an unregistered domain, which SeaText discards.

Limitations of the client-side integration

  • No server-side data push: SeaText cannot read Odoo's database directly (orders, customers, inventory). It only sees what renders in the browser.
  • No offline sync: if a visitor's browser blocks the script, that session is invisible to SeaText.
  • Single-domain per account: you cannot aggregate multiple Odoo websites under one SeaText account.
  • Development environments: localhost, 127.0.0.1, and dynamic preview URLs (e.g., *.odoo.com staging) are explicitly blocked for security.
  • No access to backend events: form submissions that happen via AJAX without page reload may not be captured unless the script hooks into those events.
  • Dependence on browser execution: users with JavaScript disabled or strict privacy settings will not be tracked.

Advanced troubleshooting: beyond the basics

If the five-step diagnostic passes but data still doesn't appear, investigate these deeper issues.

Check the snippet version

SeaText updates the snippet when new agents are released. Log into SeaText, go to the integration page, and copy the snippet again. Compare it character-for-character with what's in your Odoo Embed Code block. An outdated snippet may lack endpoints for newer agents.

Inspect the collector endpoint response

In the Network tab, click the telemetry request and examine the response. A 200 OK with an empty body is normal. A 403 means the domain key is invalid. A 429 means rate limiting — rare but possible on high-traffic pages. A 5xx error indicates a SeaText server issue; check their status page.

Verify Odoo's website builder mode

When you are logged into Odoo and editing pages, the website may serve a preview version that strips third-party scripts. Test in a fully public incognito window, not the editor preview.

Check for JavaScript errors in other modules

Odoo loads many JS modules. An error in an unrelated module (e.g., a chat widget or payment gateway) can halt the entire JS execution stack, preventing the SeaText snippet from running. The Console tab will show the first error that stops execution.

Test with a minimal page

Create a blank Odoo page with only the Embed Code block. If data appears there but not on your real pages, something in your theme or other blocks interferes. Disable custom themes or third-party modules one by one to isolate the conflict.

Decision criteria: client-side vs. server-side integration

The standard SeaText–Odoo integration is client-side only. Consider a custom server-to-server integration if:

  • You need to sync backend data (orders, customer records, inventory) without rendering it on the page.
  • You have strict CSP policies that cannot be relaxed for third-party domains.
  • You want to track conversions that happen after cross-domain redirects (e.g., payment gateways).
  • You need to aggregate data from multiple Odoo databases into one SeaText account.

A server-side integration uses Odoo's external API (XML-RPC or JSON-RPC) to push events to SeaText's server endpoints. This requires development effort: you must authenticate an API user in Odoo, write a controller or scheduled action to fetch events, and POST them to SeaText's ingestion API. SeaText's documentation does not cover this path; you would need to coordinate with SeaText support for endpoint details and authentication.

For most marketing teams, the client-side snippet is sufficient. It captures page views, clicks, scroll depth, form submissions, and enables real-time text rewriting. The trade-off is visibility limited to the browser. Choose server-side only when you have a specific backend-data requirement that the snippet cannot meet.

Practical scenarios: real-world examples

Scenario 1: Marketing team launches a campaign but sees zero visitors in SeaText

The team added the snippet to the homepage only. Campaign traffic lands on a dedicated landing page template without the Embed Code block. Fix: add the block to the landing page template or to the global header/footer layout.

Scenario 2: Staging environment shows data, production does not

The staging domain (e.g., staging.example.com) was registered in SeaText, but production (www.example.com) was not. The snippet is identical on both. Fix: register the production domain in a new SeaText account and install its unique snippet.

Scenario 3: Data appears intermittently

Cloudflare Rocket Loader defers the SeaText script, causing it to load after the page's interactive phase. Some visitors navigate away before the script fires. Fix: disable Rocket Loader for the SeaText script URL via a Cloudflare Page Rule.

Scenario 4: Form submissions not tracked

The site uses an AJAX contact form. The SeaText snippet listens for standard submit events but the form uses fetch(). Fix: add a custom event listener in the snippet (advanced) or ensure the form falls back to a standard submit.

Terminology

Embed Code block
An Odoo Website building block (under Dynamic Content) that accepts raw HTML/JS.
Primary URL
The single domain registered to a SeaText account; all traffic must originate from this exact origin.
Hide on Desktop
Visibility option that prevents the block from rendering visible space while keeping the script active.
Telemetry endpoint
The SeaText collector URL that receives behavioral events from the browser script.
Content Security Policy (CSP)
HTTP header that restricts which domains can load scripts, styles, and other resources.
Dynamic preview domain
Temporary Odoo-generated URLs (e.g., *.odoo.com) used for staging; blocked by SeaText for security.

FAQ

Why does SeaText show "active" in my dashboard but zero visitors?

The activation flag only means the account is provisioned. Zero visitors means the script isn't firing or the domain filter discards the traffic. Run the diagnostic sequence above.

Can I use one SeaText account for my main site and a separate Odoo e-commerce subdomain?

No. Each distinct domain or subdomain requires its own SeaText account. Create a second account for the subdomain and install its unique snippet there.

Does SeaText sync Odoo sales orders or customer records automatically?

No. The JavaScript integration only captures front-end behavior (page views, clicks, scroll depth, form submits). Back-end data like orders stays in Odoo unless you build a custom server-to-server integration using Odoo's external API.

My Odoo site uses a Cloudflare proxy. Could that break SeaText?

Yes. Cloudflare's Rocket Loader, Mirage, or aggressive caching can defer or rewrite the SeaText script. Disable Rocket Loader for your domain, or add a Page Rule to bypass performance features for the SeaText script URL.

How do I verify the script is the latest version?

Log into SeaText, go to the integration page, and copy the snippet again. Compare it character-for-character with what's in your Odoo Embed Code block. SeaText updates the snippet when new agents are released.

What if I need to track conversions that happen after a redirect (e.g., payment gateway)?

The browser-side script loses context on cross-domain redirects. You would need to pass a SeaText visitor ID through the redirect chain and fire a server-side event from Odoo's payment confirmation controller — a custom development outside the standard snippet.

Can I install the snippet via an Odoo module instead of Embed Code?

SeaText does not provide an official Odoo module. The supported method is the Embed Code block. Community modules may exist but are not maintained by SeaText.

Why does the script work in incognito but not in my regular browser?

An extension (ad-blocker, privacy tool) is blocking the script. Disable extensions one by one to identify the culprit.

When to contact SeaText support

If you've confirmed the domain matches, the script loads without console errors, network requests return 200, and you still see no data after 30 minutes of live traffic, open a support ticket from the SeaText dashboard. Include your account ID, the exact Odoo URL, and a HAR file of the page load.

Further reading and comparison sources

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

Why SeaText AI won't connect to your Shopify store after installation

Direct Answer: SeaText AI usually fails to connect because of an incorrect API key, missing Shopify permissions, the code snippet placed in the wrong theme file, an unsupported development URL, or server-side issues like Shopify downtime or CDN caching. The diagnostic sequence below helps you identify which cause applies to your setup.

Common causes of connection failure

When SeaText AI does not connect after installation on Shopify, the problem is almost always one of five things: the API key is incorrect, the Shopify app lacks required permissions, the JavaScript code snippet is in the wrong file, you are using a development domain, or there is a server-side issue.

Each cause requires a different fix. Guessing wastes time. Follow the diagnostic order below.

Why connection problems matter

If SeaText AI cannot connect, its agents cannot work. Your visitors will not see optimized copy, personalized content, or AI-powered recommendations. You lose potential sales and data insights.

For example, the Google Ads Landing Page Agent rewrites pages for each keyword. Without a connection, every visitor sees the same generic page. That lowers conversion rates.

Similarly, the AI SEO Content Factory cannot publish new pages. The Bot Protection Agent cannot block fraudulent clicks. Your investment in SeaText AI is wasted until the connection is fixed.

Quick troubleshooting saves time and money. Understanding the root cause helps you avoid repeating the same mistakes.

Diagnostic sequence

Start with the most likely cause. Move down the list only if the previous step does not solve the issue.

  1. Check your API key. Log into your SeaText account and copy the API key again. In Shopify, go to the SeaText app settings and paste the key exactly. A single missing character breaks the connection. Why? The API key is the unique identifier linking your Shopify store to your SeaText account. If it does not match, the server rejects the request. Trade-off: If you have multiple SeaText accounts, you might copy the wrong key. Make sure you use the correct one for this store.
  2. Verify Shopify permissions. The SeaText app needs access to your theme files and product data. Go to your Shopify admin, click Settings > Apps and sales channels, and ensure SeaText has the required permissions enabled. If not, reinstall the app. Without permissions, the code snippet cannot read or write to your theme. This is a common oversight after app updates.
  3. Confirm the code snippet placement. Open your active theme in Shopify (Online Store > Themes > Edit code). The snippet must be pasted in the theme.liquid file inside the <head> tag. If you placed it in a different file, move it. The snippet must be in the layout file that loads on every page. If it is in a template file, it will not appear on all pages, and the connection will fail.
  4. Check your domain. SeaText restricts development URLs like localhost or .myshopify.com preview domains. You must use a real, live domain. If you are testing on a development store, switch to a production domain. SeaText blocks these for security reasons. Dynamic development domains may not function properly.
  5. Test with a different browser or clear cache. Browsers sometimes cache old scripts. Try an incognito window or a different browser after clearing your cache. Also clear your Shopify cache if you edited the theme file. This is a quick check that can save time.
  6. Check for server-side issues. Sometimes the problem is not on your end. Shopify servers may be down for maintenance. Or a CDN cache may not have updated with the new snippet. Visit the Shopify status page to see if there is an ongoing outage. Also check your hosting provider if you use a custom domain. Server-side issues are rare but can cause intermittent connection failures. If you see a timeout error, this is likely the cause.

If none of these steps work, contact SeaText support with a screenshot of the error message.

How SeaText AI connects to Shopify

SeaText AI connects to your Shopify store by injecting a small JavaScript snippet into your theme. This snippet sends visitor behavior data to SeaText's servers and activates the AI agents you choose. The installation is secure: the AI remains inert until you activate it from your SeaText dashboard.

According to the official SeaText integration guide, the process is: copy the code snippet from your SeaText account, paste it into theme.liquid inside the <head> tag, and save. Then implement the required data attributes in your product templates. A successful connection requires that the snippet is present in every page's HTML source.

Key facts about installation

FactDetail
Account requiredYou need a SeaText AI account before you can install the script. Create one at seatext.com.
One domain per accountEach SeaText account is linked to a single primary URL. For multiple domains, create separate accounts.
Development URLs restrictedlocalhost and similar development addresses are blocked for security. Use a valid live domain.
Code snippet locationThe snippet must be placed in the theme.liquid file inside the <head> tag. Incorrect placement breaks the connection.
AI remains inactive until activatedAfter installation, the code does nothing until you turn on agents from your SeaText dashboard.

When troubleshooting does not apply

The diagnostic steps above assume you followed the standard installation. If you use a custom-built theme, a third-party app that modifies the theme files, or a Shopify Plus store with advanced permissions, the connection issue may be unique to your setup. In those cases, check with your theme developer or SeaText enterprise support.

Also, if you installed SeaText AI on a store that is not yet published or is password-protected, the connection will not work. The store must be live and accessible to the public.

Frequently asked questions

Why does SeaText say my API key is invalid?

An invalid API key error usually means you copied the key from the wrong account, or the key includes a trailing space. Copy the key directly from your SeaText dashboard and paste it without any extra characters.

Can I use SeaText on a Shopify development store?

No. SeaText blocks development URLs like .myshopify.com preview domains and localhost. You must use a live, public domain.

What if I have multiple Shopify stores?

Create a separate SeaText account for each store. Each account is tied to one primary domain.

Does the code snippet need to be in every page?

Yes. The snippet in theme.liquid applies to all pages, but you must also add the data attribute to product descriptions. The integration guide explains how to wrap the product description output.

How long does it take for SeaText to connect after installation?

Connection is immediate after the snippet is saved and the page reloads. If it does not connect within a few minutes, run the diagnostic sequence above.

Will clearing my Shopify cache fix the connection?

Sometimes. If you edited the theme file but the old version is cached, clearing the cache or using a different browser can help. But the root cause is usually one of the five listed earlier.

What if the error message says "server not found"?

This could be a server-side issue. Check the Shopify status page for any ongoing outages. Also check your DNS settings if you use a custom domain. Wait a few minutes and try again.

Can a firewall or security plugin block the connection?

Yes. Some security plugins or firewalls may block the SeaText script. Whitelist the SeaText domain in your security settings. This is more common on custom setups.

Further reading and comparison sources

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

Further reading and comparison sources

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

What Data Does Seatext AI Need from Your Shopify Store?

Direct Answer: Seatext AI requires read access to your store's products, collections, orders, and customer information, plus permission to write SEO tags into your theme files. This data lets the AI analyze performance and automatically improve your site's search visibility.

Seatext AI connects to your Shopify store to analyze SEO performance and publish improvements. It needs read access to your products, collections, orders, and customer profiles. It also needs write access to your theme files so it can add meta tags, schema, and the JavaScript snippet. You control those permissions during installation. This guide explains each data type, why Seatext needs it, and what to consider before granting access. Use this as a readiness checklist before you install the app.

Data typeWhy Seatext needs itAccess level
Products & collectionsTo analyze titles, descriptions, tags, URLs, and category structure for keyword relevance.Read
OrdersTo see which products convert and prioritize SEO focus toward proven sellers.Read
Customer profilesTo understand buyer context and tailor meta descriptions and content for better relevance.Read
Theme filesTo insert optimized meta tags, schema, and the Seatext JavaScript snippet into theme.liquid and product templates.Write (limited to SEO elements)

Before You Install: Readiness Checklist

  • You have a SEATEXT AI account linked to one primary domain.
  • You can access your Shopify admin.
  • You can edit the active theme.
  • You understand the difference between read access and write access.
  • You have a backup of your current theme.
  • Your primary URL is a real domain, not localhost.
  • If you use multiple domains, you are ready to create separate accounts.

What Data Does Seatext AI Read from Shopify?

Seatext reads product names, descriptions, tags, handles, and collection groupings. This content tells the AI what each page is about. It also reads order history to understand which products convert and which pages need attention. Basic customer profiles help the AI tailor meta descriptions and on-page copy. Seatext does not need payment card numbers or passwords. The permission request is limited to the store data needed for SEO analysis and optimization.

The AI uses this data to build a picture of your store's search landscape. It can compare your product titles against real search demand. It can see which collections are thin. It can spot order patterns that point to high-value pages. None of this requires access to payment processing or login credentials.

The AI also needs a connection to your storefront. Each Seatext account is linked to a single primary URL. That URL lets Seatext associate traffic and performance with your store. If you use multiple domains, you need separate accounts.

Why Products, Collections, Orders, and Customers Matter for SEO

Search engines decide which pages to rank based on relevance. Product titles and descriptions are often the strongest relevance signals. Collections show how your catalog is organized. Orders reveal demand. Customers reveal who buys repeatedly. Each data set fills a gap in the SEO picture.

Products and collections help the AI find keyword gaps. It can suggest more specific titles, better meta descriptions, and improved internal links. Orders help the AI see which items already produce revenue. It can focus optimization energy on best sellers instead of dead stock. Customer profiles help the AI avoid generic copy. It learns search behavior patterns that can improve click-through rates.

The result is not just a list of recommendations. The AI can write optimized tags and inject them into your theme. That automation saves time and keeps the store running.

How Seatext AI Uses the Data

Seatext runs an SEO audit of your store's current tags, headings, and content. It then generates and inserts optimized meta tags into your theme files. The JavaScript snippet in theme.liquid lets the AI connect visitor behavior to product and order data. The AI remains inert until activated. You decide which agents to turn on after installation.

For product descriptions, the integration can go further. In the product template, you wrap the product description output with a data-attribute. This lets the AI measure how visitors read each description. The process is described in the documentation on AI scope. You should test the change on a product page after saving.

The AI does not rewrite your entire website. It focuses on search-related elements: titles, meta descriptions, headings, schema, and selected copy blocks. The data access is designed to support that narrow task.

Shopify Permissions You Grant When Installing

When you install Seatext AI, Shopify shows a permission prompt. You grant read access to products, orders, and customers. You also grant write access to theme files. Read access lets the AI analyze your catalog. Write access lets it add SEO tags and the script. Without these permissions, the app cannot complete its core work.

You can review or revoke permissions later in Shopify admin. If you remove the app, the installed code should be removed too. Before you install, back up your theme. That makes it easy to restore if you need to undo a change.

Who should connect? A store owner who wants automatic SEO updates, an agency managing multiple client stores, or a merchant who wants AI-assisted product descriptions. Who should wait? Someone who only has a localhost development site. Seatext blocks localhost for security. Use a real domain or production store.

Step-by-Step: Connect Seatext AI to Your Shopify Store

  1. Create a SEATEXT AI account. Each account is linked to one primary domain.
  2. Copy the JavaScript code from the Seatext dashboard.
  3. Log in to your Shopify admin.
  4. Go to Online Store > Themes.
  5. Click the three dots next to your active theme and select Edit code.
  6. In the Layout folder, open theme.liquid.
  7. Paste the JavaScript snippet into the file.
  8. Click Save.
  9. If you want product description tracking, open product.liquid or product-template.liquid. Wrap the product description output with a data-attribute and save.
  10. Preview a product page and use browser developer tools to verify the data-attribute is present.

After the snippet is live, activate the Seatext agents you need. The dashboard lets you choose SEO, CRO, translation, and other agents. The code remains inert until you activate something.

Limitations, Security, and Privacy

The biggest limitation is domain handling. Seatext links each account to one primary URL. If you need to use the app on a development domain and a production domain, create separate accounts. Dynamic development domains may not work because Seatext cannot reliably associate traffic with your account. Localhost is restricted for security reasons.

Data access is read-only for your catalog. Seatext does not modify products, orders, or customer records. The write permission applies to theme files. Those files control how your storefront looks and include meta tags. The JavaScript snippet is required for the AI to run. Without it, no data is sent to Seatext.

The installation process is described as secure, and the AI remains inert until activated. For privacy details, review Seatext's current policy. You can also adjust permissions in Shopify if you want to limit access.

Frequently Asked Questions

  • What exact data does Seatext read from my store? Products, collections, orders, and basic customer profiles.
  • Does Seatext edit my product listings? No. Product data is read-only. The write permission is for theme files.
  • Can I use Seatext on a test site? Localhost is restricted. Use a real domain. For a separate staging domain, create a separate account.
  • Do I need a separate account for each store? Yes. Each account is linked to one primary URL.
  • What happens if I uninstall the app? You remove the app and its permissions. You should also remove the JavaScript snippet from theme.liquid.
  • Will the SEO tags affect the visible layout? Most SEO tags are meta elements. They are not visible to customers.
  • Does Seatext need payment or credit card info? No. The app needs store data permissions, not payment data.
  • Where is the installation documentation? See Seatext's Shopify integration page and documentation on AI scope.

Further reading and comparison sources

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

Further reading and comparison sources

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

How to Verify SeaText Is Working on Your Wix Site

Direct Answer: After installing the SeaText JavaScript snippet on Wix, visit your live site and stay on a page for at least 40 seconds. Then wait five minutes and check the SeaText dashboard — your site name should appear next to the SeaText logo. If it does not appear within ten minutes, contact support.

Quick verification checklist

SeaText activates only after real visitor behavior is detected. The platform uses a 40-second dwell threshold and a five-minute dashboard sync window. Follow these steps in order:

  1. Confirm you pasted the snippet in Wix Settings → Custom Code → Head, set to "All pages" and "Load code on each new page."
  2. Open your live site in a regular browser window (not the Wix editor preview).
  3. Stay on any page for at least 40 seconds. Scroll, click, or read — any activity counts.
  4. Return to the SeaText dashboard. Wait five minutes.
  5. Look for your website name next to the SeaText logo at the top of the page.

If the name appears, the script is installed, firing, and linked to your account. If it does not appear after ten minutes, something blocked the handshake — usually a caching layer, a second analytics script that strips custom code, or a Wix plan that does not allow custom Head code.

Prerequisites before you verify

Paid Wix plan required

Wix only allows custom code injection on paid plans. Free sites cannot load the SeaText snippet, so verification will never succeed.

Active SeaText account

Each domain needs its own SeaText account. The snippet you paste contains your account token. If you copied the snippet from a different account or a staging domain, the dashboard will not match.

Correct snippet placement

The snippet must be in the Head section, not Body or Footer. Wix's Custom Code UI places Head code before the closing tag, which is the only location SeaText supports.

Step-by-step verification process

1. Confirm the snippet is live

Open your site in an incognito window. Right-click → View Page Source. Search for "seatext" or the first few characters of your snippet. If you see it, Wix has published the code.

2. Trigger the activation dwell

SeaText's activation logic requires a genuine session of at least 40 seconds. Automated crawlers, bots, or instant redirects do not count. Visit the homepage or any high-traffic page and remain there. You can scroll slowly or read content — the timer is based on page visibility, not interaction depth.

3. Wait for the dashboard sync

After the dwell, the SeaText backend processes the session and associates the domain with your account. This takes up to five minutes. Do not refresh the dashboard constantly; check once at the five-minute mark.

4. Confirm the site name appears

In the SeaText dashboard, the top header shows the SeaText logo followed by your connected site name. That label is the definitive proof that the installation handshake completed.

What the dashboard shows when it works

Once the site name appears, you gain access to the Main AI Hub. From there you can activate individual agents — CRO Reading Analysis, Google Ads Landing Page AI, Website Translation, and others. Each agent has its own configuration panel. The presence of the site name means the data pipe is open; agent activation is a separate step.

Common reasons verification fails

SymptomLikely causeFix
Snippet not visible in page sourceWix free plan or code placed in Body/FooterUpgrade plan; move code to Head → All pages → Load on each new page
Snippet visible but site name never appearsDwell time under 40 seconds or bot traffic filtered outRevisit live site, stay 60+ seconds, wait 10 minutes
Site name appears then disappearsDomain mismatch (staging vs production) or multiple accountsEnsure one SeaText account per primary domain; delete duplicate accounts
Dashboard shows "Install Seatext on your website" promptSnippet token does not match any accountRegenerate snippet from the correct SeaText account and repaste

Troubleshooting steps if the name does not appear after 10 minutes

  1. Clear Wix cache: In Wix Dashboard → Settings → Advanced → Custom Code, click the three-dot menu next to your snippet → Edit → Apply again. This forces a fresh publish.
  2. Test in incognito with browser dev tools open (Network tab). Filter for "seatext". You should see a 200 response for the script load and a subsequent ping to the SeaText collector endpoint.
  3. Disable other custom Head scripts temporarily. Some analytics or consent-management scripts rewrite the DOM and can strip SeaText.
  4. Confirm the domain in SeaText matches exactly (including www vs non-www). SeaText ties one account to one primary URL.
  5. Contact SeaText support with your site URL and account email. They can see server-side whether pings arrived.

After verification: what to do next

With the site connected, open the Main AI Hub. Start with the AI CRO Reading Analysis agent — it begins analyzing visitor reading telemetry immediately and will surface copy friction points within hours. Enable the Google Ads Landing Page Agent if you run paid search; it rewrites headlines to match the keyword that triggered each click. Turn on Website Translation (125 languages) if you serve international traffic. Each agent can be toggled independently, so you can measure impact one at a time.

Key facts

ItemDetail
Minimum Wix planPaid plan (any tier that allows Custom Code)
Snippet locationSettings → Custom Code → Head → All pages → Load code on each new page
Activation dwellAt least 40 seconds on a live page
Dashboard sync windowUp to 5 minutes after dwell
Success indicatorSite name appears next to SeaText logo in dashboard header
Escalation thresholdContact support if no name after 10 minutes
Multi-domain ruleOne SeaText account per primary domain
Development domainslocalhost and dynamic dev URLs are restricted

Limitations and when this advice does not apply

  • Wix Editor preview mode does not execute custom Head code — you must use the published live URL.
  • Sites behind password protection or Wix member-only pages may block the SeaText collector ping.
  • If you use a third-party CDN (Cloudflare, Cloudfront) in front of Wix, ensure it does not strip or defer the SeaText script.
  • This guide covers the standard SeaText JavaScript snippet. Enterprise deployments using server-side injection or tag managers follow a different verification flow.

FAQ

Can I verify SeaText in the Wix Editor preview?

No. The preview iframe does not load custom Head code. You must visit the published site.

Does the 40-second timer reset if I navigate to another page?

Yes. Each page load starts a new session. Stay on one page for the full dwell.

What if I have multiple domains (staging and production)?

Create a separate SeaText account for each domain. The snippet is bound to the account's primary URL.

Why does the dashboard still show the install prompt after I pasted the code?

The prompt disappears only after the backend receives a valid ping from a 40-second session. Until then, it assumes the snippet is not firing.

Can I speed up the five-minute sync?

No. The sync is a fixed backend batch window. Waiting longer than ten minutes indicates a delivery problem.

Will SeaText work on a Wix site with a free plan if I use a custom domain?

No. Custom domain does not unlock Custom Code. You need a paid Wix plan.

What should I send support if verification fails?

Your live site URL, the SeaText account email, a screenshot of the Custom Code settings showing the snippet in Head, and a HAR file or Network tab export showing the script load attempt.

Further reading and comparison sources

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

  • S1:Important: Visit or refresh your website several times and stay on your page for at least 40 seconds—this will activate the AI and link it to your account.
  • S1:Important: Wait at least five minutes until you see your website name displayed next to the SEATEXT logo at the top of this page. This indicates that your website is connected and ready to proceed to the next step. If you do not see it at the top of the page after 10 minutes, please contact our support team immediately.
  • S1:*Please Note: To install custom code, you are required to have a paid plan on Wix.
  • S1:Within the Custom Code section, click on “Add Code” under the “Head” section. A pop-up window will appear. Paste the copied JavaScript code snippet into the designated text area labeled “Paste the code snippet here:”. Under the section “Add Code to Pages”, select “All pages” from the dropdown menu. Then, choose “Load code on each new page” and click Apply.
  • S1:Multiple Domains If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain. Each SEATEXT AI account is linked to a single primary URL. Restrictions and Security Development URLs, such as localhost, are restricted for security reasons.

How to Style Content Inside an Odoo Embed Code Block

Direct Answer: You can style embedded content in Odoo by using the Style tab on the Embed Code block, wrapping your code in a <div> with a custom class, and adding CSS in the website's Custom Code section or directly within the embed block using <style> tags. The Style tab provides visual controls for spacing, borders, and background, while custom CSS gives you full control over the embedded element's appearance.

To style content inside an Odoo Embed Code block, open the page editor, click the Embed Code block, then select the Style tab in the right panel. From there you can adjust padding, margin, borders, background color, and visibility settings without writing CSS. For deeper customization, wrap your embed code in a <div class="your-class"> and add matching CSS rules in the website's Custom Code area under Website → Configuration → Custom Code, or place a <style> block directly inside the embed snippet.

What the Embed Code block actually does

The Embed Code block is an Inner Content building block that lets you paste raw HTML, CSS, and JavaScript into any page. It does not sanitize or sandbox your snippet, so whatever you paste runs in the page context. That means your styles can affect the embed, and the embed's styles can leak out to the rest of the page if you are not careful.

Odoo 17 and later surface a Style tab for every block, including Embed Code. The tab exposes the same layout and design controls you get on structure blocks: spacing, borders, background, box shadow, and responsive visibility. Those controls write inline styles on the block's wrapper element, so they apply to the container, not to the inner markup you pasted.

Prerequisites before you start styling

  • Editor access on the target website (Website → Edit).
  • An Embed Code block already placed on the page (drag it from Dynamic Content in the Blocks panel).
  • The third-party snippet or custom markup you want to style, copied and ready to paste.
  • Basic familiarity with CSS selectors if you plan to write custom rules.

Step-by-step: styling with the built-in Style tab

  1. Open the page in edit mode and click the Embed Code block. The right panel switches to that block's settings.
  2. Select the Style tab at the top of the panel.
  3. Adjust Spacing (padding and margin) to create breathing room around the embed.
  4. Set a Background color or image if the embed has transparent areas.
  5. Add a Border and Border Radius to frame the embed visually.
  6. Use Box Shadow for depth.
  7. Open Visibility and toggle Hide on Desktop, Hide on Mobile, or both if the embed should only appear on certain devices.
  8. Click Save in the top-right corner of the editor.

These changes are stored on the block instance, so they survive theme updates and do not require a developer.

Step-by-step: adding custom CSS via the website Custom Code area

  1. In the website editor, open the Website menu (top-left) and choose Configuration → Custom Code.
  2. In the Head or Body tab, paste your CSS rules wrapped in <style> tags.
  3. Use a class selector that matches the wrapper you added inside the Embed Code block, for example:
    <style>
      .my-embed-wrapper iframe { width: 100%; height: 400px; border: none; }
      .my-embed-wrapper .cta-button { background: #0066cc; color: #fff; }
    </style>
  4. Return to the Embed Code block, click Edit, and wrap your snippet:
    <div class="my-embed-wrapper">
      <!-- your third-party embed code here -->
    </div>
  5. Click Save on the block, then Save on the page.

This approach keeps styles centralized, version-controlled in the Custom Code UI, and reusable across multiple embed blocks.

Step-by-step: inline <style> inside the embed block

  1. Click the Embed Code block and choose Edit.
  2. Paste a <style> block before your markup:
    <style>
      .widget-container { max-width: 600px; margin: 0 auto; font-family: inherit; }
      .widget-container .title { font-weight: 600; color: #1a1a1a; }
    </style>
    <div class="widget-container">
      <!-- embed markup -->
    </div>
  3. Click Save.

Use this method for one-off embeds that will never be reused. It avoids a round-trip to the Custom Code screen but mixes presentation with content.

Expert perspective: when to choose which method

If you manage dozens of pages and want consistent framing for every third-party widget, put the layout rules (width, spacing, border) in the Style tab and the widget-specific typography or color overrides in Custom Code. The Style tab is faster for non-technical editors; Custom Code scales better for design systems. Inline <style> is a last resort for quick prototypes or embeds that live on a single page and will be removed soon.

A common mistake is targeting the embed's internal elements from the Style tab. The Style tab only styles the block's outer wrapper. To reach inside an iframe or shadow DOM you must use CSS injected via Custom Code or the embed provider's own theming options.

Key facts

AspectDetail
Block locationDynamic Content section in Blocks panel
Edit entry pointClick block → Edit button in right panel
Style tab controlsSpacing, Background, Border, Box Shadow, Visibility
Custom Code locationWebsite → Configuration → Custom Code (Head or Body)
Visibility optionsHide on Desktop, Hide on Mobile
Save workflowSave block, then Save page

Limitations and gotchas

  • Iframe isolation: Styles defined outside an iframe cannot penetrate it. The embed provider must expose theming parameters or allow CSS injection.
  • Style leakage: Unscoped CSS in Custom Code or inline <style> can affect unrelated page elements. Always namespace your classes (e.g., .seatext-embed- prefix).
  • Theme updates: Inline styles on the block wrapper persist, but Custom Code CSS is theme-agnostic and survives theme changes.
  • Performance: Large <style> blocks on many pages increase DOM size. Prefer the centralized Custom Code area.
  • Editor preview: The Odoo editor may not render third-party scripts fully. Always publish and view the live page to verify.

Verification checklist

  1. Publish the page.
  2. Open the live URL in an incognito window.
  3. Inspect the embed wrapper in DevTools: confirm your custom class is present and your CSS rules apply.
  4. Test responsive behavior at mobile, tablet, and desktop breakpoints.
  5. Check that Hide on Desktop/Mobile toggles work as expected.
  6. Validate no console errors from the embed script.

Terminology quick reference

  • Embed Code block: Inner Content building block that accepts raw HTML/CSS/JS.
  • Style tab: Per-block visual controls for spacing, background, border, shadow, visibility.
  • Custom Code: Site-wide CSS/JS injection point under Website → Configuration.
  • Dynamic Content: Blocks panel category containing Embed Code, Form, and other interactive snippets.
  • Visibility section: Responsive display toggles in the Style tab.

FAQ

Can I use SCSS or Less in the Custom Code area?

No. Odoo's Custom Code field accepts plain CSS only. Compile your preprocessor output locally and paste the resulting CSS.

Why do my Style tab changes not affect the embed's inner text?

The Style tab targets the block's wrapper element. Inner content lives inside your markup or an iframe, so you must style it with custom CSS that matches your wrapper class.

How do I center an embed horizontally?

In the Style tab set left and right margin to auto, or add .my-wrapper { margin: 0 auto; max-width: 800px; } in Custom Code.

Can I animate the embed entrance?

Yes. Add a CSS animation on your wrapper class in Custom Code. Keep it subtle; heavy animations hurt CLS scores.

What if the embed provider loads its own stylesheet that conflicts with mine?

Increase specificity (e.g., .my-wrapper .provider-class) or use !important sparingly. If the embed loads inside an iframe, you cannot override its internal styles from the parent page.

Does the Embed Code block sanitize scripts?

No. Odoo does not strip <script> tags. Only paste code you trust.

Can I reuse a styled embed across multiple pages?

Save the block as a custom building block (click the block → Save as custom block). The saved block retains Style tab settings and inner markup.

Further reading and comparison sources

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

  • S1:Locate the "Embed Code" module within the "Dynamic Content" section and drag it into the desired location on your website editor.
  • S1:Step 4: Once the module is placed, click on the "Edit" button located in the right panel to input the code.
  • S1:In the pop-up window that appears, paste the code snippet provided by SEATEXT AI into the designated area, then click "Save" to apply the changes.
  • S1:To ensure the block is hidden from view on desktop devices, select the "Hide on Desktop" option in the "Visibility" section. After making this adjustment, click on "Save" once more to finalize your changes.