How to add a booking widget to a Wix moving company website

    The MoversQ team · September 3, 2026 · 7 min read

    Wix does not need a plugin for this. There is a first-party panel in the dashboard whose entire job is holding third-party snippets, and it has two settings people get wrong: which pages the code loads on, and whether it loads once or on every page change. Get those two right and the booking widget works the first time.

    Before you touch anything

    • Your site has to be published. The Custom Code panel is not rendered inside the Wix editor or in Preview. If you test in the editor you will conclude the widget is broken when it simply is not running yet.
    • Check your Wix plan. Wix gates Custom Code behind a paid site plan and behind a connected domain on some plans. If the Custom Code entry is missing from Settings, that is why — confirm in your own Wix account rather than hunting for a bug.
    • Your widget ID, from the Setup tab of your MoversQ dashboard. The copy button there hands you the snippet already filled in.
    • Your move sizes and rates entered first. The widget quotes from your own tiers, so an empty rate table renders an empty widget.

    The install, panel by panel

    1. Dashboard → Settings → Custom Code. This is the site dashboard, not the editor. Scroll to the Advanced group; Custom Code sits there next to Robots.txt Editor.
    2. Click "+ Add Custom Code" and paste the snippet into the code box.
    3. Name it something you will recognise. Wix lists saved snippets by name and nothing else, so "Code 1" becomes useless the moment you add a second one. Call it "MoversQ booking widget".
    4. "Add Code to Pages": choose specific pages, not All Pages. Pick the page where your quote form lives. Site-wide is the wrong default here — Wix will inject the iframe into every page including your gallery and your contact page, and you end up with a booking widget in places you never designed for it.
    5. Set "Load Code Once", not "Load code on each new page". Wix sites navigate without a full reload, so the per-page setting can mount the widget a second time on top of the first.
    6. Place it at "Body - end". Not Head. The snippet renders visible content, and code placed in the head runs before the page body it needs to sit inside exists.
    7. Apply, then publish. Apply saves the snippet; publishing is what puts it on the live site. Both, in that order.

    The snippet

    Replace YOUR-WIDGET-ID with yours, or use the dashboard copy button so you are not transcribing an ID by hand.

    <iframe
      src="https://getmoversq.com/widget/YOUR-WIDGET-ID"
      width="100%"
      height="600"
      frameborder="0"
      style="border:none; max-width:420px;"
    ></iframe>
    The widget ID is not a credential. It only tells the widget whose rates to quote and whose inbox to send the request to, so it is fine sitting in your published page source.

    What you should see once it is published

    • Open the live domain in a private window — not the editor, not the/preview URL.
    • The widget renders near the bottom of the page body, carrying your business name.
    • Clicking a move size shows the range you set in your dashboard, not a placeholder like "$0 – $0".
    • One test request with your own name and phone number should land in Leads within seconds, plus the email alert. Delete that test lead afterwards.

    If you want it mid-page instead of at the end of the body

    Custom Code cannot control where on the page the widget lands — it appends to the end of the body. If you want the widget between a headline and your service list, use the editor instead: Add Elements → Embed Code → Embed a Widget (the HTML iframe element), drop it where you want it, and paste the same snippet.

    The tradeoff is real, so choose deliberately. The editor element is a fixed-size box: you set its width and height by dragging, and the widget scrolls inside that box rather than growing as the customer moves through the steps. Custom Code has no layout control but no clipping either. For most movers: Custom Code on a dedicated quote page, editor element only if the design demands the widget sit in the middle of a longer page.

    Troubleshooting, Wix-specific

    Nothing on the live site

    • Did you publish after clicking Apply? Apply alone changes nothing for visitors. This is the most common cause by a wide margin.
    • Open the snippet again and re-read "Add Code to Pages". If you selected a page and are testing a different one, the code is not loading there — correct behaviour, wrong page.
    • Dynamic pages and members-only pages are listed separately in that picker. Selecting the parent page does not cover them.

    It works live but not in the editor

    Expected. Wix deliberately does not execute custom code in the editor or in Preview. Judge the install from the published URL only.

    Two widgets, or one that resets itself as you click around

    That is "Load code on each new page". Because Wix navigates between pages without reloading the document, the snippet gets injected again on the second page while the first copy is still mounted. Edit the snippet, switch it to Load Code Once, apply, republish.

    The widget is cut off, or scrolls inside a little window

    This is the editor Embed a Widget element, not Custom Code. Drag the element taller — around 700px is enough for the whole flow — or move the snippet into Custom Code, which has no height limit. On mobile, check the element's mobile size separately; Wix keeps a separate mobile layout and a box that fits on desktop is often half the height on a phone.

    You edited the snippet and the old version is still live

    Wix serves published pages from its own edge cache. Republish, then hard refresh (Cmd/Ctrl + Shift + R) or load the page in a private window. Give it a minute before you start changing settings again — most "it didn't save" reports are a cached page.

    Your Wix Bookings or a cookie banner is covering it

    Both sit above page content. If a consent banner overlaps the widget on mobile, that also blocks the submit button — test the whole flow on a phone before you call the install done.

    Using a different platform?

    • WordPress works differently enough to be worth its own walkthrough: adding online booking to a moving company WordPress site.
    • Squarespace: Settings → Advanced → Code Injection → Header, or a Code block on a single page.
    • GoDaddy Website Builder: Add Section → HTML / Custom Code, paste, Publish.

    Next

    The install is the easy half. What decides whether those requests become paid jobs is the number the widget shows, which is a pricing decision: flat rate vs hourly, and which one you should be quoting.

    MoversQ is one plan at $79 a month: your own rates, unlimited bookings, email lead alerts, no commission on the job. Seven-day free trial, and the snippet above is the whole install.

    See pricing and start a free trial

    Read next

    Flat rate vs hourly: which should your moving company quote?

    The model you quote decides which risk you own. Where hourly still wins, where flat rate wins, and the scope-plus-surcharge structure movers use to hedge.