Back to help

Add the selector to your site

Our script puts the language selector on every page of your site, including your original-language pages. You paste it once. It costs nothing extra and needs no other changes.

Find your platform below. If it is not listed, follow the generic guide, which works on any site where you can add a line of HTML.

Copy the snippet from Settings, then Selector, in your project. Every guide below assumes you have it.

Before you start

Three things are true on almost every platform:

  • Custom code is often a paid feature. Most site builders let you add code only on a paid plan. If you cannot find the setting, check your plan first.
  • Put it in a place that exists on every page. A block that only appears on the homepage means the selector disappears everywhere else. Site-wide head code is the safest choice.
  • It has to be in the HTML your site sends, not added afterwards. Some builders and frameworks offer to run code after the page loads. The selector still works that way, but it appears later and can be lost entirely if the page rebuilds itself first. If you are asked, choose the option that puts the tag in the page itself.

Two questions come up on almost every builder.

When it asks head or body, either works. Head is preferred.

When it asks which pages, choose all of them. Some builders then ask a second, different question: whether to run the code again on every page change. Either answer works, because the script notices page changes itself and re-attaches the selector, so take whichever your builder suggests. On Wix specifically that setting is called Load code once, and it is the right choice.

  • On a site built from code, do not wrap the tag in a head element you write yourself. React based frameworks (Next.js, Remix, Astro with React, and others that hydrate) can render such a tag on the server and then insert it again in the browser, leaving two copies on the live page. Render it as an ordinary element in your shared layout instead.

Whatever you use, you can confirm the result: open your site, view the page source and search for ut/v1.js. Your selector settings screen also has a check that asks your site for you and says plainly whether the tag is there.

On a framework that hydrates, check the live page too, because a duplicate created during hydration never appears in the source. In the browser console run document.querySelectorAll("script[src*='/ut/v1.js']").length and expect exactly 1.

Status tells you whether we have installed it ourselves on a real site, or whether the guide is written from the platform's own documentation.

PlatformCategoryWhere the code goesStatus
Any websiteOtherSite HTMLTested by us
Next.jsFrameworkRoot layout or custom documentFrom their documentation
Google Tag ManagerOtherCustom HTML tagTested by us
ShopifyEcommerceTheme code, theme.liquidTested by us
FramerSite builderProject settings, custom codeFrom their documentation
WebflowSite builderSite settings, custom codeTested by us
SquarespaceSite builderCustom code, code injectionTested by us
WixSite builderSettings, custom codeTested by us
WordPressCMSTheme code field, child theme, or header.phpTested by us

Everything else

No page of its own yet, and none is needed: the snippet goes in the same place on all of them, which is the site-wide head. Use the any website guide and look for a custom code, header scripts, or head injection setting.

Nuxt, Astro, SvelteKit, Remix, WooCommerce, BigCommerce, PrestaShop, Magento, Shopware, Square Online, Big Cartel, Shopwired, Zoho Commerce, Drupal, Ghost, Craft CMS, TYPO3, HubSpot, Duda, Jimdo, Weebly, Carrd, Dorik, Onepage, Format, Wix Studio, Bubble, Softr, Base44, Bolt.new, Lovable, Macaly, OpenBuilder, Brila, EmDash, Durable, Heyflow, Kajabi, Teachable, Thinkific, LearnWorlds, Podia, Zendesk, Help Scout, Salesforce, SAP Commerce Cloud, Adobe Experience Manager, DealerOn, Elementor, Unstack.

If yours is not on this list at all, the generic guide still applies. Tell us and we will write the page.

Cannot add code to your site

Some platforms do not allow custom code at all, or only on plans you do not have. In that case use the other option: we serve your original pages and inject the selector ourselves. It needs nothing on your side. It is available with a subdirectory connection, and your original-language pages then count towards your page view allowance, so your page view usage grows faster.