Widget documentation

A booking button on your own site in minutes

A lightweight JavaScript loader (~5 KB) that works on any website. Four modes, full branding control, and zero impact on your site's load speed.

Works on any website
5 KB script, async loaded
No iframe tracking
Live styling updates
Quick start

Live in three steps

No developer needed. The code is generated automatically when you create a widget; you just paste it on your site.

1

Create an API key

Once per website: a key links your SalonBird account to your domain. Find it under Settings, Widget tab.

2

Copy the code

Each widget gives you a script tag plus an optional button snippet. One-click copy.

3

Paste on your site

The script goes in the site header (once per site). Customer clicks, widget opens, done.

Want to start now?

Open your widget settings, pick a mode, copy the code. You're live in two minutes.

Open settings
The four modes

Pick the style that fits your site

Each mode launches the same booking flow but behaves differently on your site. You can mix multiple modes.

Badge

Floating book button

A fixed button at the bottom-right (or another corner) on every page of your site. Customer clicks, modal opens with the booking flow. No extra HTML needed, just the script in your header.

Use for: Recommended for most salons. Maximum visibility on every page.

Popup

Button on specific spots

Place a Book now button exactly where you want: in your menu, next to a service description, at the bottom of a blog post. Customer clicks, modal opens. Fully styleable.

Use for: Salons with their own design system who want to control button placement.

Inline

Booking form in the page

The full booking form is embedded directly in your page, no popup. Adapts to the container's width.

Use for: A dedicated booking page on your site (for example /book).

Link

Pure hyperlink

A regular HTML link, no JavaScript. Works everywhere: in a menu, an email signature, your Instagram bio, or a QR code on a flyer.

Use for: Spots where JavaScript can't run, or for links outside your own site.
Platform guides

Steps for your website platform

Click your platform to see the exact steps. Most platforms take less than two minutes.

  1. 1Install the free WPCode plugin (or Insert Headers and Footers).
  2. 2Open Code Snippets, go to Header & Footer.
  3. 3Paste the SalonBird script code in the Body field and click Save.
  4. 4For a button on a specific page: use a Custom HTML block and paste the button snippet.
Works on every WordPress theme. You don't edit your theme, so theme updates won't break anything.
Branding

Matches your brand automatically

Set it once, applied to every widget. Changes go live within about 5 minutes without you updating anything on your website.

Primary color

One color for every accent: buttons, focus state, selected timeslots. Use your primary brand color.

Border radius

From sharp (0px) to fully pill-shaped. Buttons, cards and input fields all follow.

Live preview

See exactly how changes look before you save. No surprises for your customers.

Per-widget overrides

Need a different color or position for one campaign? Override per widget without touching the base.

Deep-linking

Send customers straight to the right step

Add URL parameters to pre-fill the booking flow: service, staff, date, even branding. Works for all four modes.

?service=Pre-select a service by slug. Customer skips the choice step.
?staff=Pre-select a staff member. For solo salons this happens automatically.
?date=Open on a specific day (format YYYY-MM-DD). Useful for events or last-minute slots.
?color=Override the primary color per link. Great for seasonal campaigns.
?radius=Override the border radius (in pixels). Match a specific landing page.
?lang=Force a language (nl or en) if you serve bilingual customers.
Example
https://widget.salonbird.com/your-salon
  ?service=haircut-adult
  &staff=lisa
  &date=2026-05-20
  &color=%23E91E63
Security and analytics

Safe on your domain, transparent in the data

API keys are tied to your domain, keys rotate without downtime, and every action is visible in your dashboard.

Per-domain API keys

Every key is tied to a fixed list of domains. If a key leaks, it won't work anywhere else.

Domain whitelist

Only pages on the allowed domains can load the widget. Local dev environments get a 24-hour grace period.

Key rotation

Rotate a key in one click. The old one keeps working for 7 days so you have time to update sites.

Privacy friendly

No cookies, no tracking pixels. IPs are hashed with a daily-rotating salt.

Full funnel analytics

See exactly where customers drop off: from first view to confirmed payment. Per widget and per domain.

WIDGET_LOADEDWIDGET_OPENEDSERVICE_SELECTEDSTAFF_SELECTEDDATETIME_SELECTEDBOOKING_STARTEDBOOKING_CONFIRMED
Frequently asked

What customers often ask

Can't find your answer? Reach out to support, we usually reply within 24 hours.

No. The loader is about 5 KB and loads asynchronously, so your site renders first. We measure no meaningful impact on LCP or FID.

Yes, automatically. The widget is fully responsive and works on phones and tablets, including with native iOS and Android keyboards.

Yes. Color, radius and position changes go live within about 5 minutes on every site that uses your widget. You never have to update the paste code on your site again.

The widget keeps working. It's an independent script, you can refactor freely without touching it. Changing domains? Add the new domain to your key.

Yes. For example a Badge on every page plus an Inline form on /book. Or a separate Popup button for your premium services with its own color.

Yes. We detect the context and adjust behavior automatically (for example Stripe Checkout opens in the top window instead of inside the iframe).

Create a key, paste the code, publish if needed: about 2 minutes on WordPress, Wix and Squarespace. Webflow and Shopify take a bit longer because you have to republish.

Every widget settings page has an Email to web designer button with ready-made instructions. Or send us a ticket via support, we're happy to help.

SalonBird
SalonBird

Ready to launch your booking button?

Open your dashboard, create a widget and copy the code. No technical knowledge required.

Open dashboard

No credit card required · Cancel anytime