Quick verdict
The JavaScript snippet is what you install on every page you want SeaText to touch. The API key (or account token) is the credential that proves the snippet belongs to your paid plan and your domain. Without the snippet, nothing runs in the browser. Without a valid key, the snippet stays inert.
| Criterion | JavaScript code (client-side snippet) | API key / account credential (server-side) |
|---|
| What it is | A <script> block you paste into theme.liquid (Shopify) or the equivalent head/body tag on other platforms. | A secret string issued when you create a SeaText account; linked to one primary domain. |
| Where it lives | In your site's front-end HTML, loaded by every visitor's browser. | Stored in your SeaText dashboard; never exposed in page source. |
| Primary role | Bootstraps the AI agents (translation, CRO, personalization, chat, etc.) and sends/receives data from SeaText servers. | Authenticates the script to your plan, enforces domain limits, and gates feature access. |
| Setup effort | One-time paste into layout file; save and publish. Shopify: Online Store → Themes → Edit code → Layout → theme.liquid. | Create account → verify domain → copy key from dashboard. One key per domain; separate accounts for dev/staging/production. |
| Security model | Publicly visible in page source; designed to be safe because it only executes allowed actions. | Must stay secret. If compromised, someone could burn your quota on another domain. |
| Multi-domain handling | Same snippet can be pasted on multiple sites, but each site needs its own valid key. | One account = one primary URL. For dev, staging, and prod you need three accounts (three keys). |
How the JavaScript code works
You copy the snippet from your SeaText dashboard (labeled SEATEXTCODEINTEGRATION) and paste it once into your site's main layout file. On Shopify that's theme.liquid inside the Layout folder. The script loads asynchronously, detects the page context, and activates the agents you've turned on in the dashboard — translation, CRO reading analysis, split URL testing, product copy optimization, personalization, chat, and more. The script remains inert until your account is active and the key validates.
Think of the snippet as the delivery vehicle. It carries the instructions for what agents to run)Skip. It also carries the logic for how to talk to SeaText servers. The snippet itself is not secret. Anyone can view it in your page source. That is fine because the snippet only knows how to ask for permission. It does not hold the permission itself.
The snippet fetches the current agent configuration from SeaText servers using your key. New agents you enable in the dashboard activate automatically. You do not need to update the snippet when SeaText releases new agents. The snippet is a stable entry point. The key is what changes when you move domains or rotate credentials.
What the API key / account credential controls
When you sign up, SeaText creates an account bound to a single primary URL. That account issues the credential the snippet uses to call home. The credential enforces:
- Plan limits (number of active agents, page views, languages).
- Domain allow-list — only the registered primary URL (and any approved aliases) will work.
- Feature gates — e.g., AI SEO Content Factory, Bot Protection, Conversion Relay (CAPI) are enabled per plan.
Because each account maps to one primary URL, you cannot share a single key across a development domain (localhost or *.ngrok.io), a staging subdomain, and production. You must create three accounts and paste the same snippet on each, but each snippet will validate against its own key.
The key is the gatekeeper. It decides if the snippet is allowed to run on this specific domain. It also decides which agents are available. If you upgrade your plan, the key unlocks new agents. If you downgrade, the key locks some agents. The snippet does not need to change. The key does all the work.
Installation walkthrough (Shopify example)
- Log in to Shopify admin → Online Store → Themes → Actions → Edit code.
- Open
Layout/theme.liquid. - Paste the SeaText JavaScript snippet just before the closing
</head> tag (or per SeaText's current instruction). - Click Save.
- In SeaText dashboard, confirm the domain shows "Active" and the agents you want are toggled on.
For product-description-level optimization, SeaText also documents wrapping the description output in a data- attribute (see product.liquid or product-template.liquid), but the core difference between snippet and key remains the same.
Here is a more detailed walkthrough for the product description tag:
- Log in to your Shopify admin and navigate to Online Store → Themes.
- Click Actions → Edit Code for your active theme.
- Identify the file that renders the product description (typically named
product.liquid or located within product-template.liquid). - Find the product description output code, which usually appears as a Liquid variable like
{{ product.description }}. - Wrap that output in the
data- attribute as documented by SeaText. - Save your changes and preview a product page to ensure the description is displayed correctly.
- Verify that the
data- attribute is present in the HTML source using your browser's developer tools.
How to verify the script is working
After installation, you need to confirm the snippet is actually running. Here are the steps:
- Open your website in a browser.
- Right-click anywhere and select "Inspect" or press F12.
- Go to the "Network" tab.
- Reload the page.
- Search for the SeaText domain in the network requests.
- If you see requests going to SeaText servers, the snippet is loading.
- Check the "Console" tab for any errors.
Common console errors include 401 (unauthorized) or 403 (forbidden). These usually mean the key does not match the domain. The snippet is present but the key is not valid for this URL.
You can also verify the snippet is in the page source. View the page source (Ctrl+U on Windows, Cmd+Option+U on Mac) and search for SEATEXTCODEINTEGRATION. If you find it, the snippet is pasted correctly. If not, you pasted it in the wrong file or the wrong location.
For the product description tag, inspect a product page and look for the data- attribute in the HTML. If it is missing, the wrapping step was not done correctly.
Troubleshooting common errors
Here are the most common issues and how to fix them:
- Script loads but agents do not run: Check the console for 401 or 403 errors. This means the key is invalid for the current domain. Verify you are using the correct account for this domain.
- Script does not appear in page source: You pasted it in the wrong file. On Shopify, it must be in
theme.liquid inside the Layout folder. Check the file path. - Agents run on production but not on staging: You are using the production key on the staging domain. SeaText binds each key to one primary URL. Create a separate account for staging.
- Translation does not work on some pages: The snippet may not be included on those pages. Some themes conditionally load scripts. Ensure the snippet is in the global layout file, not a page-specific template.
- Product description tag is missing: The wrapping step was not applied. Go back to
product.liquid and wrap the description output correctly. - Localhost does not work: SeaText restricts development URLs like
localhost for security. Use a real domain, even a cheap .dev or .app domain.
When to use a tag manager instead
Some platforms do not allow direct access to the layout file. Hosted builders, certain CMS platforms, and some website builders restrict theme code editing. In these cases, you can use a tag manager like Google Tag Manager to inject the snippet.
The snippet/key distinction still holds. You still need a valid key for the domain. The tag manager just handles the delivery of the snippet. The key still authenticates the script to your account.
Using a tag manager has some trade-offs. It adds an extra layer of complexity. You need to ensure the tag fires on every page. You also need to verify the tag loads before the page content renders. Some SeaText agents work best when the script loads early. A tag manager might delay the script load.
If you have access to the layout file, direct paste is simpler and more reliable. Use a tag manager only when you have no other option.
How to handle multiple environments
You will likely have at least three environments: development, staging, and production. Each needs its own SeaText account and key.
Here is the recommended setup:
- Development: Create a SeaText account for your local dev domain. Use a real domain like
dev.yourstore.com. Do not use localhost or dynamic tunnels like *.ngrok.io. - Staging: Create a separate account for your staging domain. Use a stable URL like
staging.yourstore.com. Do not use dynamic preview URLs that change on every deploy. - Production: Create a third account for your live domain. This is the account that matters most. Keep this key secure.
Each account has its own key. The snippet is the same. You paste the same snippet into each environment. The key validates against the correct domain.
Dynamic preview URLs are unreliable. If your staging URL changes on every deploy, SeaText cannot reliably associate traffic with your account. Use a fixed staging domain instead.
Choose the JavaScript snippet if…
- You're the developer or theme editor doing the one-time install.
- You need to verify the script is present in browser dev tools (inspect → Network → search for the SeaText domain).
- You're troubleshooting why agents aren't firing — check console for 401/403 errors (usually a key/domain mismatch).
- You have access to the layout file and can paste the snippet directly.
- You want the simplest possible integration with no extra layers.
Choose the API key / account credential if…
- You're setting up a new environment (dev, staging, prod) and need a fresh account per domain.
- You're rotating credentials after a team member leaves or a repo leak.
- You're upgrading/downgrading plans and need to confirm the new feature gates are applied.
- You need to control which agents are active on which domain.
- You are managing multiple websites and need separate accounts for each.
Conditional recommendation
Choose the JavaScript snippet when you are doing the initial installation. It is the piece you physically place in your site. You need it to get anything running.
Choose the API key when you are managing access, environments, or security. The key is what you create, rotate, and protect. It is the credential that ties everything together.
In practice, you always need both. The snippet is the delivery mechanism. The key is the authorization. You cannot run SeaText without both.
If you are setting up a new site, start with the snippet. Paste it into your layout file. Then create the account and key for that domain. The snippet will validate against the key and start working.
If you are adding a new environment, focus on the key. Create a new account for the new domain. Paste the same snippet. The new key will authorize the snippet for the new domain.
If you are troubleshooting, check both. First verify the snippet is present. Then verify the key matches the domain. Most issues come from a mismatch between the two.
Common mistakes
- Pasting the snippet but forgetting to activate the account for that exact domain — the script loads but returns auth errors.
- Reusing a production key on a staging subdomain — SeaText will reject it because the primary URL doesn't match.
- Treating the snippet as a secret — it's public by design; only the key needs protection.
- Using
localhost for testing — SeaText restricts development URLs for security. - Sharing one key across multiple websites — each website needs its own account and key.
- Editing the snippet code — you should never modify the snippet. SeaText updates it remotely.
Limitations & when this advice doesn't apply
- If you're using a platform without layout-file access (some hosted builders), you may need a tag-manager injection instead of direct theme edit — the snippet/key distinction still holds.
- Enterprise SSO or custom backend integrations might use a true REST API key separate from the snippet credential; that scenario isn't covered in the public docs.
- Localhost and dynamic dev tunnels are explicitly restricted for security; use a real domain (even a cheap
.dev or .app) for local testing. - Dynamic development domains may not function properly, as SeaText might be unable to reliably associate traffic with your account.
Key facts
Which Shopify Themes Are Compatible with Seatext AI?
Direct Answer: Seatext AI works with all standard Shopify themes, including free and paid ones, because it only needs access to the theme’s code. Custom-built themes may need extra configuration steps. The key test is whether you can edit theme.liquid and paste a small JavaScript snippet.
Seatext AI works with all standard Shopify themes, including free and paid options, as long as you can edit the theme’s code. Custom-designed themes may require additional setup. The compatibility test is simple: can you open the theme editor and modify theme.liquid? If yes, Seatext AI can usually run on that theme.
| Fact | Detail |
|---|
| Snippet location | Paste into theme.liquid (Shopify) or global head/body on other platforms |
| Account-to-domain ratio | 1:1 — one SeaText account per primary URL |
| Multi-env requirement | Separate accounts (and keys) for dev, staging, production |
| Localhost support | Restricted; use a real domain |
| Snippet visibility | Public in page source; safe by design |
| Key visibility | Secret; rotate if exposed |
| Snippet updates | Remote; no manual re-paste needed |
| Key rotation | Regenerate in dashboard; snippet picks up new key on next load |
| Theme type |
Setup effort |
Customization flexibility |
Limitations |
Who it fits |
| Free Shopify theme (e.g., Dawn) |
Low – follow the standard install steps |
High – full access to layout files |
None |
Stores that want a fast, predictable setup |
| Paid Shopify theme (e.g., Prestige, Turbo) |
Low – same steps as free themes |
High – theme files are editable |
None |
Stores that want more design options without custom development |
| Custom-built theme |
Medium-High – may need custom snippet placement |
Very high – but requires developer help |
Potential code conflicts; verify with developer |
Stores with unique design requirements and developer support |
What Is Seatext AI and How Does It Work?
Seatext AI is an autonomous AI agent that adds SEO tags, rewrites copy, and personalizes content in real time. It runs in the browser after you embed a small JavaScript snippet into your Shopify theme.
The snippet is the bridge between your store and Seatext’s servers. When a visitor loads a page, the script reads the URL, visitor context, and campaign data. It then asks Seatext AI to replace or enhance headlines, product descriptions, CTAs, and meta tags.
Because the script runs client-side, it does not require changes to Shopify’s backend. That is why almost any theme can work. The main requirement is a stable place to load the script before the page finishes rendering.
Seatext AI stays inactive until you activate it. This means installing the snippet does not change your storefront by itself. You control which agents turn on and what they are allowed to edit.
Compatibility Overview: What Makes a Theme Compatible?
Shopify themes are built from Liquid templates, CSS, JavaScript, and JSON configuration files. The central layout file is layout/theme.liquid. It wraps every page on your store.
Seatext AI’s standard install asks you to paste a JavaScript snippet just before the closing </head> tag. Any theme that lets you edit that file is compatible at a basic level.
All official Shopify themes, whether free or paid, allow code editing. The Theme Store sells themes from approved developers, and those themes also expose the Edit code screen.
Custom themes are different. A developer may build a theme with a non-standard file structure. The global head markup might live in a different file or be generated by a section. In that case, you need to find the right insertion point before the snippet can work.
How the Snippet Works in Different Theme Architectures
Modern Shopify themes use sections and blocks. Dawn, for example, relies heavily on JSON templates. Older themes use templates like product.liquid and collection.liquid.
For most themes, the global snippet belongs in theme.liquid. This gives Seatext AI access to every page type: home, product, collection, cart, and CMS pages.
If a custom theme splits the head into multiple partials, you need to locate the partial that renders last. The goal is to load Seatext AI after the main theme scripts but before the content is displayed.
Some themes use async loading for third-party scripts. If Seatext AI loads too late, visitors may see unstyled content for a moment. The Seatext documentation recommends placing the snippet in the head, not the footer, to reduce flicker.
The same snippet works on both classic Liquid themes and newer Online Store 2.0 themes. The integration does not depend on theme blocks, so you do not need to install an app or add a section.
Decision Criteria for Choosing a Theme
If you are choosing a theme before installing Seatext AI, consider these criteria:
- Code access: Can you open the
Edit code screen and modify theme.liquid? If not, the standard install will fail.
- Update frequency: Themes that receive regular updates are easier to maintain because the snippet stays in the same location.
- Support resources: Paid themes often include developer support that can help resolve conflicts.
- Custom design needs: If you need a highly unique layout, a custom theme may be justified, but plan for extra testing.
- Performance budget: Heavy themes with many scripts can slow down AI personalization. A lean theme lets Seatext AI respond faster.
- Page builder compatibility: If you use a third-party page builder, check whether it renders content inside an iframe. If it does, Seatext AI may not be able to edit that content directly.
How to Install Seatext AI on a Theme
- Log in to your Shopify admin and go to Online Store > Themes.
- Find the theme you want to use, click the three-dot menu, and select Edit code.
- Open the
layout/theme.liquid file.
- Paste the Seatext AI JavaScript snippet just before the closing
</head> tag.
- Save the file and preview a product page to confirm the
data- attribute appears in the HTML source.
For product descriptions, Seatext AI may need a second step. You must wrap the product description output with a specific tag. This is usually done in product.liquid or product-template.liquid. The exact location depends on your theme’s architecture.
If you use a theme with JSON templates, look for the section that renders the product description. You may need to edit a section file instead of the main product template.
Custom Theme Considerations and Practical Setup Trade-offs
Custom themes may have a different file structure or use sections that load asynchronously. In those cases:
- Ask the theme developer where the global
head markup lives.
- Insert the snippet in the same place used for other third-party scripts.
- Test on a staging store before pushing to production.
The main trade-off is control versus convenience. A custom theme gives you complete control over design and performance. But it also creates more work when adding tools that need to hook into the page lifecycle.
You may also need to decide between a development domain and a production domain. Seatext AI restricts development URLs such as localhost. Each Seatext AI account is linked to a single primary URL. If you need to test on a staging subdomain like staging.yourstore.com, you must create a separate account for that domain.
Another practical trade-off is which agents to activate. Seatext AI includes many agents: SEO content, translation, A/B testing, personalization, and bot refunds. Each agent may rewrite different parts of the page. Start with one agent, verify it works on your theme, then add more.
Performance and Maintenance Considerations
Seatext AI runs JavaScript in the browser, so performance depends on your theme and hosting. A bloated theme with dozens of scripts will load slower regardless of Seatext AI.
To keep pages fast:
- Use a theme with minimal third-party scripts.
- Place the Seatext snippet in the head, not the footer.
- Preload the script if your theme supports resource hints.
- Monitor page speed after activation.
Theme updates can overwrite your changes. Shopify does not always preserve custom edits to theme.liquid when you click Update theme. After each update, re-check that the Seatext snippet is still present.
If you switch themes, install the snippet in the new theme’s theme.liquid file. The old theme’s snippet will not carry over automatically.
Troubleshooting Theme Compatibility Issues
If Seatext AI does not appear to work after installation, follow this checklist:
- Check the page source: Open the HTML in your browser and look for the Seatext
data- attribute. If it is missing, the snippet was not added or was removed.
- Confirm the correct domain: Seatext AI only works on the primary URL linked to your account. A localhost or dynamic development domain will not function properly.
- Look for theme errors: Open Shopify’s theme editor and see if any Liquid errors appear. A syntax error in a custom section can stop the head from rendering.
- Check script order: If another script removes or modifies DOM elements, Seatext AI may not find the content it needs. Move the snippet before that script.
- Test on a fresh theme: Install Dawn and add the snippet there. If it works, the problem is specific to your custom theme.
- Contact the theme developer: Ask where third-party scripts should be placed and whether any content is rendered inside an iframe.
Most compatibility issues are not actually about the theme. They come from using the wrong domain, placing the snippet in the footer, or forgetting to re-add it after a theme update.
Key Facts
| Fact | Source |
| Seatext AI is installed by editing the Shopify theme code. | S1 |
| The integration works on any theme that allows code editing. | S1 |
The snippet is placed in layout/theme.liquid before the closing </head> tag. | S1 |
| Each Seatext AI account is linked to a single primary URL. | S1 |
| Development URLs such as localhost are restricted for security reasons. | S1 |
FAQ
- Do I need a developer to use Seatext AI?
- No. The standard install works for any theme you can edit yourself.
- Will a paid theme cost extra to use with Seatext AI?
- No. The AI only needs the snippet; pricing is independent of the theme.
- What if my custom theme breaks after adding the snippet?
- Check the theme’s
head placement and consult the developer to resolve conflicts.
- Can I switch themes after installing Seatext AI?
- Yes. Install the snippet in the new theme’s
theme.liquid file.
- Is there any Shopify plan that does not support Seatext AI?
- All paid Shopify plans (Basic, Shopify, Advanced, Plus) support the integration. The free Lite plan is not supported.
- Does Seatext AI work with Online Store 2.0 themes?
- Yes. The snippet is placed in
theme.liquid, which exists in both classic and OS 2.0 themes.
- Can I use Seatext AI on a staging domain?
- You need a separate Seatext AI account for each domain. Development URLs like localhost are restricted.
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.