Embedding Overview
Add meetergo scheduling to your website with inline embeds, popups, sidebars, video, and conversion widgets
Embed your meetergo booking page directly on your website so visitors can schedule without leaving your site. meetergo offers several embedding methods to fit your design needs.
Get your embed code
meetergo generates a ready-made snippet for every meeting type, so you do not have to write the HTML yourself:
- Go to Meeting Types.
- Click Share next to the meeting type you want to embed.
- Open the Embed/Website tab.
- Choose the embed style you want. Inline Embed is the simplest. You can also use a popup button, text popup, sidebar, video, or Conversion Widget.
- Click Copy Code.
The copied snippet already contains your booking link and the integration script. Paste it into your website wherever the booking form should appear, or follow one of the platform-specific guides.
Want to see the styles side by side before you choose? Try the embed preview.
Quick Start
If you prefer to write the markup yourself, add this script before </body> on your website:
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Then configure your embed using one of the methods below.
Embedding Methods
| Method | Description | Best For |
|---|---|---|
| Inline Iframe | Booking page embedded in your page | Dedicated booking pages |
| Modal Button | Any element opens a booking modal | Custom buttons, links |
| Floating Button | Corner widget that opens modal | Always-visible CTA |
| Sidebar | Collapsible side panel | Professional sites |
| Video Widget | Video player with booking CTA | Sales pages |
| Conversion Widget | Branded contact and booking card | Conversion-focused pages |
The Conversion Widget is configured and saved separately from the other embed styles. See Add a Conversion Widget to your website for setup, availability, domain, and WhatsApp details.
1. Auto-Resize Iframe (Inline)
Display your booking page directly within your website content. The iframe automatically adjusts its height to fit the content.
Code
<div class="meetergo-iframe" link="https://cal.meetergo.com/your-booking-link"></div>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Options
| Attribute | Description | Example |
|---|---|---|
link | Your booking page URL | https://cal.meetergo.com/yourname |
data-align | Horizontal alignment | center, left, right |
data-resize | Enable auto-resize | true (default), false |
Example with Options
<div
class="meetergo-iframe"
link="https://cal.meetergo.com/your-link"
data-align="center"
data-resize="true"
></div>
2. Modal Booking Buttons
Turn any HTML element into a booking trigger. Clicking opens your booking page in a modal overlay.
Code
<button class="meetergo-modal-button" link="https://cal.meetergo.com/your-booking-link">
Book Now
</button>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
This button label lives in your own HTML — edit the text between <button ...> and </button>. The button inside the booking page ("Book now") is a meetergo setting instead, see Change the text on the booking button.
Works with Any Element
<!-- Button -->
<button class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Schedule a Call
</button>
<!-- Link -->
<a class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Book a consultation
</a>
<!-- Div -->
<div class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Click to schedule
</div>
3. Floating Action Button
A button that floats in a corner of your page. Supports animations and full customization.
Code
<script>
window.meetergo = window.meetergo || function(){ (window.meetergo.q = window.meetergo.q || []).push(arguments); };
meetergo('init', {
floatingButton: {
position: "bottom-right",
link: "https://cal.meetergo.com/your-booking-link",
text: "Book Appointment",
backgroundColor: "#4F46E5",
textColor: "#FFFFFF",
animation: "pulse"
}
});
</script>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Options
| Option | Values | Description |
|---|---|---|
position | bottom-right, bottom-left, top-right, top-left | Button placement |
text | String | Button label |
link | URL | Your booking page |
backgroundColor | Hex color | Button background |
textColor | Hex color | Text color |
animation | pulse, bounce, slide-in, none | Button animation |
icon | Icon name | Lucide icon to display |
4. Collapsible Sidebar
A professional side panel that slides out when clicked. Supports left or right positioning.
Code
<script>
window.meetergo = window.meetergo || function(){ (window.meetergo.q = window.meetergo.q || []).push(arguments); };
meetergo('init', {
sidebar: {
position: "right",
link: "https://cal.meetergo.com/your-booking-link",
buttonText: "Book Meeting",
backgroundColor: "#4F46E5",
textColor: "#FFFFFF"
}
});
</script>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Options
| Option | Values | Description |
|---|---|---|
position | left, right | Which edge of the screen |
link | URL | Your booking page |
buttonText | String | Text on the collapsed tab |
buttonIcon | Icon name | Lucide icon |
backgroundColor | Hex color | Tab background |
textColor | Hex color | Tab text color |
width | CSS value | Panel width (e.g., 400px) |
5. Video Widget
An interactive video player with booking call-to-action. Includes mute button and progress bar.
Code
<script>
window.meetergo = window.meetergo || function(){ (window.meetergo.q = window.meetergo.q || []).push(arguments); };
meetergo('init', {
videoEmbed: {
videoSrc: "https://example.com/your-video.mp4",
posterImage: "https://example.com/thumbnail.jpg",
bookingLink: "https://cal.meetergo.com/your-link",
bookingCta: "Book a Demo",
bookingCtaColor: "#4F46E5",
position: "bottom-right",
isRound: true
}
});
</script>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Video widget requires a Premium plan or higher.
Global Configuration
Configure meetergo with the window.meetergoSettings object before loading the script:
<script>
window.meetergoSettings = {
company: "your-company",
enableAutoResize: true,
iframeAlignment: "center",
// Pre-fill form fields
prefill: {
firstname: "John",
lastname: "Smith",
email: "john@example.com"
},
// Callbacks
onSuccess: function(data) {
console.log("Booking created:", data);
},
onEvent: function(event) {
console.log("Event:", event);
}
};
</script>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
JavaScript API
Control the embed programmatically:
// Pre-fill form data
window.meetergo.setPrefill({
firstname: "Jane",
lastname: "Doe",
email: "jane@example.com"
});
// Open booking modal programmatically
window.meetergo.launchScheduler("https://cal.meetergo.com/your-link", prefillData);
// Open/close modal
window.meetergo.openModal();
window.meetergo.closeModal();
// Re-parse iframes after DOM updates
window.meetergo.parseIframes();
// Cleanup (memory management)
window.meetergo.destroy();
Pre-filling Form Fields
Pass attendee data to skip form fields:
Via URL Parameters
https://cal.meetergo.com/your-link?firstname=John&lastname=Smith&email=john@example.com
Via JavaScript
window.meetergoSettings = {
prefill: {
firstname: "John",
lastname: "Smith",
email: "john@example.com",
phone: "+1234567890"
}
};
See Prefill Forms with URL Parameters for all available fields.
Callbacks
Handle booking events in your code:
onSuccess
Called when a booking is completed:
window.meetergoSettings = {
onSuccess: function(data) {
// data contains booking details
console.log("Appointment ID:", data.appointmentId);
console.log("Meeting type:", data.meetingTypeName);
// Track conversion
analytics.track("booking_completed", data);
}
};
onEvent
Called for various embed events:
window.meetergoSettings = {
onEvent: function(event) {
console.log("Event type:", event.type);
}
};
Platform-Specific Guides
Troubleshooting
Embed Not Appearing
- Verify the script URL is correct
- Check that
window.meetergoSettingsis defined before the script loads - Ensure the booking link URL is valid
- Check browser console for errors
Modal Not Opening
- Confirm element has
class="meetergo-modal-button" - Verify
linkattribute is present - Check for JavaScript conflicts
Auto-Resize Not Working
- Ensure
data-resizeis not set tofalse - Check parent container doesn't have fixed height
- Call
window.meetergo.parseIframes()after dynamic DOM updates
Pre-fill Not Working
- Check field names match exactly (case-sensitive)
- Ensure prefill is set before script loads or use
setPrefill()API - URL-encode special characters in URL parameters
Full Documentation
For TypeScript types, advanced configuration, and more examples, see the meetergo-integration repository.
Was this article helpful?
Let us know if this article answered your questions.
Related articles
- Add a Conversion Widget to your websiteCreate a branded website card with a booking call to action, real availability, and optional WhatsApp
- Embed appointment bookings on your websiteCompare inline embed, popup button, text popup, sidebar, and video embed options for adding booking to your website.
- Embedding your booking page in SquarespaceAdd your meetergo embed code to a Squarespace Code block and set a minimum 700px height for the booking form.
- Embedding your booking page in WebflowAdd your meetergo inline embed code to a Webflow Embed element and set its height to display the booking form correctly.