Before you start
- Get the code from the service you’re adding. Each code is unique to your account, so Attract never writes it for you. The steps below show where each listed service keeps it.
- Decide where it should run: every page, or only some.
- For a service that tracks visitors, such as an ad pixel, set up your cookie banner first. See Cookie consent.
Add a script
Open Embed Scripts
Start a new one
Pick the service
- Name: for your own reference, such as “Website chat”.
- Service: the service you’re adding. The list is grouped by kind:
- chat, such as Chat — Fetchski WebChat (recommended) or Chat — Intercom;
- analytics, such as Analytics — Google Analytics 4 (Google tag);
- Tag manager — Google Tag Manager;
- ad pixels: Advertising — Google Ads (Google tag), Advertising — Meta Pixel and Advertising — TikTok Pixel.
Get the code


Each listed service comes with steps for finding its code.
Paste it
<script and ends with </script> (its script tags): copy those too.- For an ad or analytics service, an ID box appears too: Google Ads tag ID, Measurement ID, Container ID or Pixel ID. Leave it empty and it’s filled in from the code when you save.
- Where on the page: keep Recommended for this service unless the service’s own steps say otherwise. This is where the code sits in the page’s hidden code, not where anything shows: the head is a hidden part that loads first, the body holds the page itself. A chat window still appears in its usual corner either way.
Describe a custom service
- Provider: the company behind the code, such as “Acme Chat Ltd.”
- Provider domain (optional): just the domain the code loads from, such as
acmechat.com, with nohttps://and no page. - Provider’s privacy policy (optional, but expected): the full web address of the company’s privacy policy page, such as
https://acmechat.com/privacy.
Check its consent
Choose its pages


Run a script everywhere, or only where you need it.
Save it
Page lists
In Pages, write one page per line:/contactis that page only.- A
*at the end means “anything after this”. So/blog/*is every blog post, but not the blog page itself./blog*is the blog page and every post. /is the home page only.
What happens next
A script has no draft. It goes live as soon as you save. To take it off every page at once, turn off Enabled. Its settings stay. Your policy pages update by themselves:- The Privacy Policy and Terms and Conditions pages gain a Third-party services section for each listed service that’s on. Not every service adds to the Terms, but chat services do. The section sits below your own text and shows a Last changed date.
- The Cookie Policy lists each cookie the service sets, in the cookie list. You can reword those entries.
- Turning a service off removes its sections. Your own policy text is never touched.


Your Privacy Policy describes each service while it's on.
Good to know
- Scripts follow the cookie banner. A script in Analytics, Marketing or Functional runs only while a visitor allows that kind. Where visitors must opt in, it waits until they agree, and the service hears nothing about them before that. Where the banner is only a notice, it runs straight away and stops if they decline (How the banner works). A chat window appears the moment a visitor agrees, with no reload.
- Choose Strictly necessary with care. A script in Strictly necessary runs for every visitor, with no way to decline. Use it only if your site can’t work without it.
- With the cookie banner off, new visitors get only Strictly necessary scripts. Nobody can agree to the rest. A visitor who already made a choice while the banner was on keeps getting what they allowed.
- A tag manager takes on what it loads. Google Tag Manager starts as Analytics. If your container also fires ad tags, set its Consent category to Marketing.
- Some pasted code is left out on purpose. Many services add a backup part for browsers with JavaScript (the language scripts run in) turned off; it starts with
<noscript>. Those visitors can’t answer the cookie banner, so Attract removes that part for you. You don’t need to do anything. - Animated page changes. Your site can move between pages smoothly. Some services and some custom code break when it does, so while one of those is on, your site uses ordinary page loads instead. If you know your custom code works with them, turn on Keeps working with animated page transitions on the Pages tab.
- Fetchski WebChat has extra, optional fields on its Legal tab about the chat’s AI. They change what your Privacy Policy says about it. If you turn on Ask visitors to consent again when the AI changes, a change to the chat’s AI also asks every visitor for consent again.
Troubleshooting
… Check you copied the whole snippet.
… Check you copied the whole snippet.
That is only the <noscript> fallback. Paste the <script> part of the code.
That is only the <noscript> fallback. Paste the <script> part of the code.
… can’t go in the head — choose “Body start” or “Body end” for this snippet.
… can’t go in the head — choose “Body start” or “Body end” for this snippet.
List at least one page path, or choose “Every page”.
List at least one page path, or choose “Every page”.
A warning says the code loads from somewhere else
A warning says the code loads from somewhere else