The widget lets people sign up from your own site or funnel. You paste a short piece of code, and a button opens your sign-up form in a popup on top of the page. It works for webinars and challenges.
Use it when you already have a landing page you like and don’t want to send visitors to a separate registration page. If you’re happy with the page FullHouse gives you, share that link instead.
Get your code
| For a | Go to |
|---|---|
| Webinar | Webinars → your webinar → Set up → Registration page → Embed code |
| Challenge | Challenges → your challenge → Sign-up page → Embed |
Each place offers two snippets, ready to copy:
- Drop-in button: paste it where you want the button. Type your wording in Button label first and the snippet updates. The label starts as “Save my seat” on webinars and as your form’s Button wording on challenges.
- Use your own button: for making something already on your page open the form.
The event needs to be published for visitors to use the form. Challenges publish as a whole, so always use the challenge’s snippet, not a day’s.
Add a button to your page
The script draws a button exactly where you paste it.
<script src="https://showtell.live/embed.js"
data-webinar="your-webinar"
data-button-text="Save my seat"></script><script src="https://showtell.live/embed.js"
data-challenge="your-challenge"
data-button-text="Join the challenge"></script>Replace your-webinar or your-challenge with the value from your own snippet.
Use your own button
Add data-mode="manual" to stop the script drawing a button, then mark any button or link on your page. This suits pages where you’ve already designed the call to action, or want several buttons for the same event.
<script src="https://showtell.live/embed.js"
data-webinar="your-webinar"
data-mode="manual"></script>
<a href="#" data-showtell-register>Reserve your spot</a><script src="https://showtell.live/embed.js"
data-challenge="your-challenge"
data-mode="manual"></script>
<button data-showtell-challenge="your-challenge">Join the challenge</button>You can mark as many elements as you like. The script only needs to be on the page once, anywhere, and it also works for buttons that appear later, such as inside your own popup or a section that loads as you scroll.
Every setting
On the script
| Setting | What it does | Default |
|---|---|---|
data-webinar |
The webinar to open | None |
data-challenge |
The challenge to open. If you set both this and data-webinar, the webinar wins |
None |
data-button-text |
The wording on the drop-in button | “Save my seat” for a webinar, “Join the challenge” for a challenge |
data-color |
The drop-in button’s colour, and the popup’s loading spinner. Use a six-digit colour such as #0a7d4f |
#6d28d9 |
data-mode |
manual hides the drop-in button. Anything else shows it |
Button shown |
The script needs either data-webinar or data-challenge to draw a button. Without either, only triggers that name their own event will work.
On your own buttons and links
| Setting | What it opens |
|---|---|
data-showtell-register with no value |
Whatever the first script on the page names, webinar or challenge |
data-showtell-register="your-webinar" |
That webinar |
data-showtell-challenge="your-challenge" |
That challenge |
From your own code
If you or your developer want to open the form from a script, these are available once the widget has loaded:
<script>
// Open a webinar, either way
ShowTell.open('your-webinar');
ShowTell.open({ webinar: 'your-webinar' });
// Open a challenge
ShowTell.open({ challenge: 'your-challenge' });
// Close the popup
ShowTell.close();
</script>ShowTell.open() with nothing inside opens what the first script names. It does nothing if a popup is already open. The widget doesn’t send sign-up events back to your page, so there’s no way to run your own code after a sign-up.
Examples
A plain HTML page
<!doctype html>
<html>
<body>
<h1>The 5-Day Launch Challenge</h1>
<p>Join us live every evening next week.</p>
<script src="https://showtell.live/embed.js"
data-challenge="your-challenge"
data-button-text="Join free"
data-color="#0a7d4f"></script>
</body>
</html>A Pinball page
Copy the snippet
Copy either snippet from FullHouse, as above.
Add a Custom HTML block
In the Pinball page editor, add a Custom HTML block where you want the button, paste the snippet and choose Insert.
Publish and test
Pinball only runs scripts on the published page, so the button won’t appear in its editor preview. Test on the live page.
If you’ve connected the two, a Pinball form can also register people without any popup, keeping them on your funnel’s own steps. See Pinball.
Other page builders
Look for a block called custom code, custom HTML or embed, and paste the snippet into it. Some builders put these blocks in their own small frame, which traps the popup inside that box. See Troubleshooting. If yours does, look for a site-wide setting for adding code instead, and use the Use your own button snippet.
A webinar and a challenge on one page
Use one script per event. Each draws its own button.
<script src="https://showtell.live/embed.js"
data-webinar="your-webinar"
data-button-text="Save my seat"></script>
<script src="https://showtell.live/embed.js"
data-challenge="your-challenge"
data-button-text="Join the challenge"
data-color="#0a7d4f"></script>With several scripts, the first one that names an event decides what a bare data-showtell-register opens, so name the event on your own buttons. Only one popup can be open at a time.
Several events with your own buttons
<script src="https://showtell.live/embed.js" data-mode="manual"></script>
<a href="#" data-showtell-register="monday-webinar">Monday's session</a>
<a href="#" data-showtell-register="friday-webinar">Friday's session</a>
<a href="#" data-showtell-challenge="your-challenge">The full challenge</a>Change how it looks
The widget is sealed off from your site’s styling, so your fonts and colours can’t break it, and it can’t affect your page. That also means your CSS can’t restyle it.
| What | How to change it |
|---|---|
| Button wording | data-button-text |
| Button colour | data-color. The text is always white, so pick a dark enough colour. A named colour like red also works, but the button loses its soft glow |
| Button shape, size, font | Fixed. For full control, use your own button |
| Form colour | Your workspace’s brand colour, not data-color |
| Form wording | Your registration settings, or the challenge’s sign-up page |
What’s in the popup
A compact version of your form, up to 440 pixels wide. It grows and shrinks to fit its contents. Visitors close it with the ×, by clicking outside it or with the Esc key. Your page can’t scroll while it’s open.
| Webinar | Challenge | |
|---|---|---|
| Label at the top | “Free training”, which you can’t change | Your Label above the headline |
| Heading | Public title | Public title |
| Times | “Pick a session”, up to 4 options | Every day, under “One sign-up covers all 5 days” |
| Fields | The same name, email and phone fields as your form | First name and email |
| Questions and consent | Included | Included |
| Button | Your button wording | Your button wording |
The headline, subheadline, “What you’ll learn” list, presenter and countdown aren’t included. Your landing page does that job.
If a webinar has no upcoming times, the popup shows “No upcoming sessions right now — check back soon.” and the button is disabled.
What happens after sign-up
They're registered
Everything works the same as on your registration page: the same duplicate checks, confirmation email and reminders.
They leave your page
The whole browser tab moves to their thank-you page, or to your redirect if you set one, or for a challenge, to their hub.
If the browser blocks that move
The popup shows “You’re registered!” or “You’re in!”, with a Continue button and an Open in a new tab link.
Someone already registered goes to the “Find your personal link” page instead, and their link is emailed to them. In a challenge popup, the fallback reads “You’re already signed up”.
Your page never receives the attendee’s personal link. It stays between the attendee and the form, so scripts on your site can’t read it.
Tracking and reporting
- UTM values: any
utm_source,utm_medium,utm_campaign,utm_termorutm_contentin your page’s address pass through to the registration automatically. Send your ad traffic to your page with those in the link, and they’re saved with the person. - Visits: opening the popup counts as a visit to the event. Your dashboard shows how many visits came through embedded forms. For a challenge, visits are counted on Day 1.
- Conversions on your site: because the visitor leaves your page, code on your page won’t see the sign-up finish. For a webinar, use its Tracking step to count conversions on the thank-you page. Those codes also run inside the popup, so don’t count the popup opening as a conversion. For a challenge, use its Tracking section, whose codes run on the sign-up page, the popup and each person’s hub.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
| No button appears | Your page builder removed the script, or the page hasn’t been published | Paste into a custom code block, and test on the live page. Many builders don’t run scripts in their previews |
| No button appears, but the code is there | data-mode="manual" is set, or neither data-webinar nor data-challenge is set, or the script was given type="module" |
Use the snippet exactly as copied |
| The popup opens inside a small box | Your builder puts custom code in its own frame | Add the script through a site-wide code setting and use your own button |
| Your own button does nothing | The script isn’t on that page, or it’s a bare data-showtell-register with no event named on any script |
Add the script, or name the event on the button |
| The popup says Sign-ups aren’t open right now, or the form says “Sign-ups aren’t open right now. Please check back soon.” | The event is a draft or paused, or the address in the code is wrong, or the code names a challenge day, or a challenge is being opened as a webinar | Publish it, then copy the snippet again |
| The wrong event opens | Several scripts on the page, and a bare data-showtell-register opens the first |
Name the event on each button |
| Nothing opens on a site with strict security settings | The site’s content security policy blocks outside scripts and frames | Ask your developer to allow https://showtell.live for scripts and frames |
| “Too many attempts. Please wait a minute, then try again.” | More than 10 attempts in a minute from one network | Wait a minute and try again |
| “Something went wrong — please try again.” | A temporary problem | Wait a minute and try again |
| “We could not connect. Check your connection and try again.” | The visitor’s connection dropped | Try again |
A form colour doesn’t match data-color |
The form uses your brand colour | Change it in Branding |
| “No upcoming sessions right now — check back soon.” | The webinar has no times to offer | Check its schedule |
| The label says “Free live training” on a challenge | That’s the default | Change Label above the headline on the sign-up page |