Adding scripts
Paste chat widgets, booking calendars, and other vendor scripts in Appearance → Customize → Scripts & Embeds → Custom Embeds. The code then runs on every page.
If the vendor gave you an ID (a G-… Measurement ID, a GTM-… container, a pixel ID), don't use this panel. Put the ID in Analytics & Tracking instead. See Adding tracking codes.
Add a script
- Go to Appearance → Customize → Scripts & Embeds → Custom Embeds.
- Paste the snippet into the field that matches where the vendor says it should go (see the table below). Include the
<script>tags they sent. - Click Publish.
- Check a live page, not the Customizer preview. The preview skips these snippets so they don't run twice while you edit.
Add one tool at a time so you can tell which snippet caused a problem.
Which field to use
Follow the vendor's install note when they specify a location. If they don't, use <footer> Embed for chat and scheduling widgets.
| Field | Where it loads | Typical use |
|---|---|---|
| Tracking Embed | Near the end of the page | A pixel or tag with no ID field under Analytics & Tracking |
| <head> Embed | The page head | Snippets the vendor says must go in the head |
| <body> Embed | Right after the page body opens | Widgets that need to load early |
| <footer> Embed | Near the end of the page | Chat, scheduling, and other widgets that can load last |
Each field is one box. You can paste more than one snippet in the same box if they belong in the same place. Leave a blank line between them.
These load on every page, including Landing Page campaign pages. If a widget should appear on only one page, paste it in a Custom HTML block on that page instead, and leave Custom Embeds empty for that tool.
What doesn't belong here
| You have | Put it here |
|---|---|
| A Google Analytics, Tag Manager, Meta Pixel, LinkedIn, StackAdapt, or Hotjar ID | Scripts & Embeds → Analytics & Tracking |
| CSS to change how something looks | Appearance → Customize → Additional CSS |
| A Google Fonts or Adobe Fonts stylesheet | Scripts & Embeds → Embed Fonts |
| PHP | your child theme or Code Snippets |
A longer decision tree: Custom embeds vs Additional CSS vs tracking IDs.
Cookie banner and load strategy
Custom Embeds load as pasted. They don't wait for Tracking Load Strategy (After Page Load / First Interaction) and they don't wait for the GDPR cookie banner.
They also run while you're logged in. Track Admin Sessions only affects the ID fields, not these boxes.
That's why a service with an ID field should use that field: those IDs follow the banner and the load strategy.
If it doesn't show up
- Confirm you clicked Publish, then view the live site (a private window is fine). The Customizer preview will not show the widget.
- Turn off an ad blocker for that tab. Many blockers hide chat and tracking scripts.
- Search the page for a second copy of the same snippet in a Custom HTML block, and remove the duplicate.
- If the vendor asked for the head and you used <footer> Embed, move it.
To remove a script, delete it from the box and click Publish.