https://app.firsttouch.ai/signals. Open the relevant website visitor signal and use the right-side drawer to copy your team’s tracking script.
Add the script once, in the
<head> of every page you want to track.Install The Tracking Pixel
1
Open Signals
In FirstTouch, go to
https://app.firsttouch.ai/signals.2
Open the pixel setup drawer
Select the website visitor signal, then open the right-side setup drawer.
3
Copy the tracking script
In the drawer, click Copy in the Copy the tracking script section.
4
Add the script to your website header
Paste the script into the global
<head> or header code area for your website platform.5
Publish your website changes
Publish the change so the script is live on your public website. Saving a draft is not enough.
6
Verify in FirstTouch
Return to the setup drawer and click Check now to verify that FirstTouch can detect the pixel.
What The Script Looks Like
Copy the exact script from your FirstTouch workspace. It includes your team’s unique identifier.Platform Setup Notes
Use the guide that matches where your website is managed. The exact menu labels can change by platform, but the goal is always the same: install the FirstTouch script once in a global header or site-wide custom code area, publish the change, then verify it in FirstTouch.Manual HTML Or Code-Based Website
Use this option if you or your developer can edit the website files directly.- Open the shared layout, global HTML template, or header file for your site. Common files include
header.php,index.html,index.php, or a framework layout file. - Find the closing
</head>tag. - Paste the FirstTouch script immediately before
</head>. - Save the file and deploy the change to production.
- Open your live website and verify the pixel in FirstTouch.
Webflow
- Open Site Settings > Custom Code.
- Paste the FirstTouch script into Head Code.
- Click Save.
- Click Publish and publish to the live domain.
Webflow requires a paid site plan to add custom code.
Google Tag Manager
- Open Tags > New > Custom HTML.
- Paste the FirstTouch script.
- Set the trigger to All Pages - Page View.
- Click Save.
- Click Submit > Publish.
WordPress
The safest WordPress option is usually a header injection plugin because it keeps the script separate from theme files.- Install a header code plugin such as WPCode or Head, Footer and Post Injections.
- Open the plugin’s header or site-wide code settings.
- Paste the FirstTouch script into the Header, Head, or Scripts in header box.
- Make sure the code is enabled for every page.
- Click Save Changes.
- Clear any WordPress, hosting, or CDN cache.
WordPress Theme File Editor
Only use this option if you are comfortable editing theme files.- In WordPress, open Appearance > Theme File Editor.
- Select
header.phpfrom the theme files. - Paste the FirstTouch script immediately before the closing
</head>tag. - Click Update File.
- Clear caches and check the live site.
WordPress With Elementor
- Open the Elementor header template or site-wide custom code area.
- Add an HTML widget or custom code entry in the header.
- Paste the complete FirstTouch script, including the opening and closing
<script>tags. - Save or publish the template.
- Clear caches and verify the live site in FirstTouch.
Wix
- Open your Wix site dashboard.
- Go to Settings > Custom Code.
- Click Add Custom Code.
- Paste the FirstTouch script into the code box.
- Name it FirstTouch Tracking Script.
- Set Add Code to Pages to All pages.
- Set it to load on each new page.
- Set Place Code in to Head.
- Click Apply and publish the site.
HubSpot CMS
- In HubSpot, click the settings icon.
- Go to Content > Pages.
- Use Choose a domain to edit its settings and select the relevant domain, or choose the default settings for all domains.
- In Site Header HTML, click Override default settings if needed.
- Paste the FirstTouch script into the header HTML field.
- Click Save.
Squarespace
- Log in to Squarespace and open the site.
- Go to Website > Pages.
- Open Custom Code or Code Injection.
- Paste the FirstTouch script into the Header field.
- Click Save.
- Visit the live site and verify the pixel in FirstTouch.
Framer
- Open your Framer project.
- Open Settings.
- Go to the General tab.
- Find Custom Code.
- Paste the FirstTouch script into the field for code in the
<head>tag. - Save the settings.
- Publish the site.
Some Framer sites behave like single-page apps. After publishing, navigate between pages and confirm FirstTouch can still detect visits beyond the first page load.
Shopify
- In Shopify admin, go to Online Store > Themes.
- Open the actions menu for the active theme and select Edit code.
- Open the main layout file, commonly
theme.liquid. - Paste the FirstTouch script immediately before the closing
</head>tag. - Click Save.
- Preview the store, then verify the pixel on the live storefront.
Tilda
- Open the page editor.
- Open the blocks library.
- Add the T123 Embed HTML code block.
- Paste the FirstTouch script into the block.
- Save and publish the page.
If Tilda does not apply the block globally, repeat the setup on every page you want FirstTouch to track.
Next.js
For Next.js, install the script in the root layout so it loads for the whole app.- Copy the FirstTouch script from the setup drawer.
- Add it to the root layout using Next.js script handling, or add the external script URL with your team’s tracking ID.
- If your app uses client-side routing, confirm that FirstTouch records navigation after route changes, not only the first page load.
- Deploy the app and verify the live domain in FirstTouch.
React
For a React single-page app, install FirstTouch in the top-level app shell.- Copy the FirstTouch script from the setup drawer.
- Add it to your root HTML file, such as
public/index.html, immediately before</head>. - If your app does not use a static HTML template, load the script from the top-level component when the app starts.
- Navigate between routes and confirm FirstTouch detects visits after client-side route changes.
- Deploy the app and verify in FirstTouch.
TypeScript
For TypeScript projects, the preferred approach is still to paste the exact FirstTouch script into the global HTML head or framework layout.- Copy the exact script from FirstTouch.
- Add it to the global HTML template, root layout, or a dedicated script loader.
- If you convert the script into TypeScript, keep the tracking ID and script source exactly the same as the copied FirstTouch snippet.
- Compile and deploy the project.
- Verify the live site in FirstTouch.
Angular
For Angular apps, load FirstTouch from the app shell so it is available across routes.- Copy the FirstTouch script from the setup drawer.
- Add it to
src/index.htmlbefore</head>, or create an Angular service that loads the script once when the root component starts. - If you use a service, call it from
AppComponentso it runs for the whole application. - Navigate between Angular routes and confirm FirstTouch continues detecting visits.
- Build, deploy, and verify the live site in FirstTouch.
Installation Checks
- Confirm the script appears once on the live page.
- Confirm the published page source includes
first-touch-web-visitors.js. - Clear website, plugin, CDN, and browser caches after installing.
- If you use a cookie consent platform, make sure it allows the FirstTouch script to run after the required consent is granted.
- If your site has a Content Security Policy, allow scripts from
https://app.firsttouch.ai. - Re-check the pixel after major CMS, theme, tag manager, or deployment changes.
Ask An AI Or Developer To Install It
If someone else manages your website, send them the script from the FirstTouch drawer with this prompt:Troubleshooting
- If verification fails, confirm the published page source includes
first-touch-web-visitors.js. - If you installed through Google Tag Manager, confirm the container version was published.
- If you installed through Webflow, confirm you published the site after saving custom code.
- If your site has a strict Content Security Policy, allow scripts from
https://app.firsttouch.ai. - If the script only exists on one landing page, FirstTouch can only detect visits to pages where the script loads.

