Delivery
Install the pixel
Add one script tag to your site and every published guide and checklist in your workspace can run.
The pixel is the script that makes guides work on your own product. It identifies the visitor, works out which guide applies to the page they're on, draws the tooltip layer and the camera bubble, and reports what happened back to your analytics.
You install one pixel per workspace, once, in your site's <head>. That single tag covers every guide and checklist you'll ever publish, including ones recorded months from now. There is no second snippet to add later.
Install it
1. Copy the snippet
Open any guide, go to the Embed tab, and find the Pixel installation card. Click Copy on the snippet labelled "Paste into <head>".
The snippet is identical on every guide, because it belongs to the workspace rather than to one guide.
2. Paste it into your <head>
Put it in the <head> of your site, ideally in the shared layout or template so it lands on every page. It loads with defer, so it won't hold up your page render.
3. Deploy
Ship it the way you ship anything else. Nothing in Reveal needs to know you've deployed.
4. Wait for the first pageview
The Pixel installation card shows a status chip that reads "Waiting for first pageview" until the pixel actually fires on a real page. Load your site once and it updates.
The snippet
<!-- Reveal pixel -->
<script defer src="https://embed.reveal.software/pixel.js"
data-workspace="acme"
data-key="wk_xxxxxxxx_xxxxxxxx_live"></script>
data-workspace is your workspace slug. It tells the pixel which workspace's guides to look for. It's the same slug you see in the sidebar under your workspace name and in your dashboard URLs.
data-key is your pixel key. It authorises the request and scopes it to your workspace. Copy the snippet from the app rather than typing these by hand, because the values in the docs are placeholders.
Note. The key in the snippet is a publishable key that runs in the browser, so it's visible to anyone who views source. That is expected. It is not the same as the Live key under Settings, API & Webhooks, which is a secret and should never appear in front-end code.
Enable embedding site-wide
The Pixel installation card has an Enable embedding site-wide toggle. It controls whether the pixel is allowed to serve guides across your site as a whole, rather than the tag simply being present. Turn it on for normal onboarding, where a guide needs to be able to appear on whichever page it targets.
Turning it off is the quickest way to hold everything back while you're still setting up, without removing the tag from your templates. Either way, the per-guide Domains list below still applies, so this toggle widens what's possible rather than overriding those rules.
Domains
The Domains card sits under the pixel snippet, and it controls where one guide is allowed to run: "The sites where this guide is allowed to run. The pixel only serves the guide on these domains."
This is per guide, not per workspace. The pixel can be installed everywhere and still refuse to serve a guide on a domain that isn't in its list, which is how you keep a staging-only guide off production.
Add a domain and press Enter. Changes save automatically on this card, so there is no save button to look for.
Wildcards work the same way they do in the Create guide modal:
app.acme.commatches that host only.*.acme.commatches every subdomain.*matches any site.
Heads up. If a guide isn't appearing on a domain you expected, check this list first. A guide that's published, has steps, and has a working pixel will still stay silent on a domain that isn't listed for it.
Live diagnostics
Three tiles on the Pixel installation card tell you whether the pixel is actually doing anything.
DOMAINS DETECTED lists the domains the pixel has been seen firing on. Until the first ping arrives it reads "awaiting first ping". This is the fastest way to catch a pixel that went onto your marketing site instead of your app.
PAGEVIEWS TODAY counts impressions today. If this is moving, the pixel is loading and your traffic is reaching it. If it's flat while your site has traffic, the tag isn't on the pages you think it is.
GUIDE ACTIVE RIGHT NOW shows how many users are mid-guide at this moment, as "N live". Useful right after publishing, when you want to confirm a real person hit the guide rather than just the page.
The two buttons
Test on \{domain\} opens the domain listed for the guide so you can check the pixel there yourself, instead of waiting on real traffic to tell you.
Copy pixel key copies the workspace key on its own, without the surrounding script tag. Use it when you're wiring the pixel in through a tag manager or a template that already has the tag and just needs the value.
How detection works
Reveal doesn't crawl your site looking for the tag. Reveal for Chrome reports back when it sees the pixel in the wild, and that report is what flips the status chip and fills in DOMAINS DETECTED.
In practice: install the snippet, deploy, then visit your own site in Chrome with the extension installed. That visit is usually what marks the pixel as detected. Real user traffic does the same thing, it just takes as long as it takes.
There is also a Site domain field under Settings, Workspace, marked Coming soon, with the note "Our Chrome extension confirms detection automatically". Detection is handled by the extension today, so there's nothing to fill in there.
It's installed but nothing fires
Work through these in order.
Open the guide's Issues tab. It mirrors the checks the pixel runs at load time, and it catches the three usual causes: Guide isn't published, Guide has no steps, and Pixel not detected yet. The last one has a Fix in Embed button that drops you back on the snippet.
Check the Domains card for that guide. The domain you're testing on has to match an entry, wildcard included.
Check the trigger on the Behavior tab. A guide set to Manual only will never fire on its own, by design. It's waiting for a Reveal button or a dynamic link.
Check the audience and frequency cap. A guide set to New users with a frequency cap of Once won't show again to a browser that has already seen it. Try a fresh profile or an incognito window.
Confirm the tag is in
<head>on the page you're testing, not only on the homepage.
If all of that is clear, troubleshooting goes further.
Next steps
Ways to deliver a guide: How the pixel relates to buttons, links, and the player.
Behavior: Decide when a guide fires and who sees it.
Pixel reference: Attributes, events, and what the pixel does on the page.
Troubleshooting: When a guide is published and still not showing.