The two shapes
- Script embed
- Loader embed
The default. Self-contained, mounts where you put it. Use it when your builder lets
you drop a raw HTML block into the page body.
Per-builder
ClickFunnels 2.0
ClickFunnels 2.0
Row or Element → Custom JS/HTML.Head code goes in Settings → Tracking Code → Head.ClickFunnels wraps the element in its own container, so keep the snippet’s
width:100%.ClickFunnels Classic
ClickFunnels Classic
Add Element → Custom HTML/JavaScript.If the step strips your
<script>, switch to the loader embed: ClickFunnels usually
allows a single external script.GoHighLevel
GoHighLevel
Funnels and websites: Element → Custom Code / HTML.Head code goes in Funnel/Website Settings → Head Tracking Code.GHL email and SMS cannot run JavaScript. Link to a landing page instead of trying
to embed the player in the message.
Kajabi
Kajabi
Page section → Custom Code block, or Settings → Code for site-wide head code.Kajabi sandboxes some blocks. If the player does not mount, switch to the loader embed.
Wix
Wix
Prefer Settings → Custom Code → Body-end. That gives you a full-width player.Wix’s Embed HTML widget runs inside a sandboxed iframe. Tracking still fires, but
the iframe pins the height and you lose responsive sizing.
Squarespace
Squarespace
Code Block on the page, or Settings → Advanced → Code Injection for the head.Code Blocks only allow
<script> on Business plans and above. On a lower plan, link
to a hosted page instead.Webflow
Webflow
Add → Embed (the HTML Embed component). Head code goes in Project Settings →
Custom Code → Head.Webflow’s Embed defaults to
display:inline-block. Put it in a full-width div.Elementor
Elementor
Use the TrackPlay block or shortcode from the WordPress
plugin, not an HTML widget. The block stays split-test-aware and
survives editor re-saves; a pasted raw embed does neither.
WordPress (no builder)
WordPress (no builder)
Unbounce, Instapage, Leadpages
Unbounce, Instapage, Leadpages
Custom HTML / Embed widget.These builders often defer scripts. If the player mounts late, the loader embed with
data-trackplay-lazy is more reliable.Which snippet do I want?
When it does not work
The player does not appear at all
The player does not appear at all
Your builder stripped the inline
<script>. Switch to the loader embed: an external
script survives most sanitisers.It is letterboxed or the wrong size
It is letterboxed or the wrong size
A parent column is forcing a fixed height. The container is
width:100% with an
aspect-ratio; make sure nothing above it overrides the height.Analytics show 0 plays
Analytics show 0 plays
Almost always a split test with a hand-edited embed pinned to a child video. Re-copy
the snippet from the Embed tab.
Two players on one page fight each other
Two players on one page fight each other
Each needs its own container
id and data-trackplay-video. Do not paste the same
snippet twice.Slow first frame
Slow first frame
Add the head code block.
