How it works
From sign-up to your first lead in under 10 minutes.
The MovingCosts widget is a self-contained quote calculator that lives in an <iframe>on your website. You control the prices. You receive the leads. Here's exactly how it all fits together.
The five-step journey
Register
Create a partner account with your business email.
Get approved
We manually review every applicant - usually within one working day.
Set prices
Tweak the calculator defaults to match your van rates and labour costs.
Embed
Paste one snippet of code on any page of your website.
Get leads
Every submitted quote arrives in your inbox - no middleman.
What gets loaded on your site
We engineered the widget to be lightweight and conflict-free. It cannot interfere with your existing theme, scripts or analytics.
1. Tiny loader script
~3 KB of vanilla JavaScript. Finds the placeholder div, injects an iframe, and adds the small “Powered by” backlink.
2. Isolated iframe
The calculator runs in a sandboxed iframe pointing at movingcost.co.uk/embed/calculator. Zero CSS bleed, zero JS conflicts.
3. Direct-to-you email
On submit, our server runs the calculation, then emails the lead to the address you configured. We do not store the customer's contact details.
The embed code
After approval, you'll see this snippet in your dashboard with your unique key already filled in. Place it anywhere in your page's HTML - typically in a “Get a Quote” section.
<div id="mcuk-quote-widget" data-key="pk_live_xxxxxxxxxxxxxxxxxxxxxxxx">
<a href="https://movingcost.co.uk/" target="_blank" rel="noopener">Moving cost calculator by MovingCost.co.uk</a>
</div>
<script async src="https://movingcost.co.uk/api/widget/embed.js"></script>The script is loaded with the async attribute, so it never blocks your page from rendering.
Install on your platform
WordPress
- Edit the page where you want the widget.
- Add a new block → choose Custom HTML.
- Paste the snippet below into the block.
- Preview, then publish.
<!-- WordPress: paste into a Custom HTML block -->
<div id="mcuk-quote-widget" data-key="pk_live_xxxxxxxxxxxxxxxxxxxxxxxx">
<a href="https://movingcost.co.uk/" target="_blank" rel="noopener">Moving cost calculator by MovingCost.co.uk</a>
</div>
<script async src="https://movingcost.co.uk/api/widget/embed.js"></script>Joomla
- Open the article in Joomla's editor.
- Click the "Toggle Editor" button to switch to raw HTML.
- Paste the snippet where you want the widget to appear.
- Save the article.
<!-- Joomla: edit article in HTML mode, or use a Custom HTML module -->
<div id="mcuk-quote-widget" data-key="pk_live_xxxxxxxxxxxxxxxxxxxxxxxx">
<a href="https://movingcost.co.uk/" target="_blank" rel="noopener">Moving cost calculator by MovingCost.co.uk</a>
</div>
<script async src="https://movingcost.co.uk/api/widget/embed.js"></script>Wix / Squarespace
- Drag an Embed / Custom HTML block onto your page.
- Paste the snippet into the block.
- Save and publish.
<div id="mcuk-quote-widget" data-key="pk_live_xxxxxxxxxxxxxxxxxxxxxxxx">
<a href="https://movingcost.co.uk/" target="_blank" rel="noopener">Moving cost calculator by MovingCost.co.uk</a>
</div>
<script async src="https://movingcost.co.uk/api/widget/embed.js"></script>React / Next.js
- Create a client component that injects the loader script in useEffect.
- Use the component anywhere in your app.
// React / Next.js - wrap in a client component
'use client';
import { useEffect } from 'react';
export default function QuoteWidget() {
useEffect(() => {
const s = document.createElement('script');
s.src = 'https://movingcost.co.uk/api/widget/embed.js';
s.async = true;
document.body.appendChild(s);
return () => { s.remove(); };
}, []);
return <div id="mcuk-quote-widget" data-key="pk_live_xxx" />;
}Raw HTML / Static site
- Paste the snippet directly into the HTML where you want the widget.
<div id="mcuk-quote-widget" data-key="pk_live_xxxxxxxxxxxxxxxxxxxxxxxx">
<a href="https://movingcost.co.uk/" target="_blank" rel="noopener">Moving cost calculator by MovingCost.co.uk</a>
</div>
<script async src="https://movingcost.co.uk/api/widget/embed.js"></script>Your prices, not ours
The calculator ships pre-loaded with our UK-market averages so it works out of the box. But every partner sets their own pricing in their dashboard:
- Cost per man, per hour
- Cost per mile
- Base fee per van
- Minimum charge, minimum hours, minimum men
- VAT rate
- Packing, dismantling and access surcharges
- Estimate range variance
- Per-service tier pricing
An Advanced JSON tab in the dashboard lets power users edit every parameter directly. A Reset button restores the MovingCosts defaults at any time.
What we ask in return
A “Powered by” link
A small Powered by MovingCost.co.ukanchor appears in your page's HTML just below the widget. It's a real, crawlable link - not nofollow - and it's how we keep the service free for everyone.
Periodic verification
We automatically check that the link is still there. If it's removed, your dashboard shows a gentle reminder. Long-term removal can lead to your widget being suspended - but we always contact you first.
Privacy & data handling
Customer data → straight to you
Lead name, email, phone, dates and notes are emailed directly to your configured inbox. We do not persist them in our database.
Only anonymous metrics stored
We keep counts of impressions, started quotes and submitted quotes for your dashboard. No personal data, no tracking cookies.
Cross-origin safe
The widget runs in an iframe with strict CORS and an origin allow-list you control. It cannot read or modify your page's other content.
Frequently asked questions
Is it really free?+
Yes. There are no fees, no tiered plans, and no commission on the leads you receive. We monetise through the small attribution link below the widget.
Will it slow down my website?+
No. The loader script is around 3 KB and loaded asynchronously, so it never blocks rendering. The calculator itself loads inside an iframe, isolated from your page.
Does it work on mobile?+
Yes - the calculator is fully responsive and resizes its iframe automatically to fit the available width on any device.
Can I style it to match my brand?+
You can set a primary colour in your dashboard, which is used for buttons, highlights and the price headline. Full custom CSS is on the roadmap.
Where do leads go?+
Every submission triggers an email to the lead address you set in Settings → Lead email. The email contains the customer's contact details, move route, property size, services requested, and our generated estimate range.
Can I restrict which domains the widget runs on?+
Yes. In Settings you can add an allowed-domains list. Any embed attempt from a domain outside that list is rejected at the API level.
What if a competitor copies my key?+
The allowed-domains list prevents this. You can also rotate your API key at any time from the dashboard.
Do I need to handle GDPR?+
Yes - because the customer's details come to your inbox, you become the data controller for that lead. The widget displays a consent checkbox referencing your company name before submission.
How accurate are the default prices?+
The defaults reflect UK national averages as of 2026 Q2. They are a starting point - most partners adjust the per-mile and per-man rates within the first day to match their operation.
Can I see what my visitors see before going live?+
Yes. Your dashboard includes a live preview iframe loaded with your actual key and pricing.
Ready to start receiving leads?
Register now - it takes about two minutes. We'll review your application within one working day.