Call me back button for your website

They asked for a call.
Ring before they forget why.

A call me back button is a short form, usually a name, a phone number and a good time to ring, that turns “I’d rather talk” into a phone call you make later. To add one, put a callback form or widget on every page with one script tag in your site’s head, ask for as little as you can, note the caller’s time zone, and say on the button how soon you will ring. Below: when it beats chat or a phone number, what to ask, a planner for a promise you can keep, and the install steps for WordPress, Shopify, Wix, Squarespace and Webflow.

Callback button Live Within 2 working hours, as promised

By the Builderify team

01 A tap, a number, a time 02 Queued, with their time zone 03 Rung back, marked called
01 / When it wins

When a callback request beats
live chat, a phone number or a form.

A callback wins when the answer needs a conversation and nobody can pick up right now. It loses when the visitor needs help this minute, or when you cannot ring back soon enough to keep the promise on the button.

Phone number, callback button, live chat and contact form compared
Question Phone number Call me back button Live chat Contact form
Best for Urgent jobs, when someone is always free to answer Questions that need a conversation, when nobody can pick up now Quick questions, while the visitor is still on the page Detailed requests and attachments, with no time pressure
What the visitor does Dials, then waits on hold or reaches voicemail Leaves a name, a number and a time, then gets on with their day Types, then waits for a reply in the window Writes it all out, then waits for an email
What it needs from you Someone on the line during opening hours Someone working the queue, and a promise you keep Someone watching while visitors are on the site Someone checking the inbox
Where it goes wrong Out of hours it rings an empty room A late or forgotten callback is worse than no button Out of hours a chat becomes an email anyway Long forms get abandoned halfway
Add one when
  • The honest answer is “it depends”: quotes, insurance, finance, a treatment plan, a B2B demo.
  • You are on a roof, under a sink or with a patient, and cannot answer the phone live.
  • Your customers would rather talk than type, and the next step is a conversation anyway.
  • People find you in the evening or at the weekend, when nobody is at the desk.
Skip it, or not only it, when
  • It is an emergency. A burst pipe should not wait in a queue: show the number, and for anything dangerous, the emergency services.
  • The question fits in one line. An FAQ or live chat answers it while they are still on the page.
  • Nobody can ring back within a working day. Then a form with an honest reply time is kinder.
  • Your callers are in countries you cannot, or should not, phone.

Most sites end up with two or three of these side by side, and that is fine: a number for the urgent, a callback for the considered, chat for the quick. If you are weighing chat tools as well, our comparison of free live chat plans sets out the seats, chat limits and branding on each.

02 / What to ask

What a callback request form
should ask, and what it shouldn’t.

Ask for a name and a number, and offer a best time as a choice. That is the whole form. Everything else can wait for the call, which is the point of having one.

Every extra field is one more thing to answer before anything happens, and on a phone each one is a tap, a keyboard and a scroll. Fewer fields also means less personal data to look after: the UK GDPR says you should not hold more than you need for your purpose.

Two details make the number usable. Use type="tel" with autocomplete="tel", so phones show the dial pad and can fill it in, and show an example with the country code. And record the caller’s time zone without asking: the browser already knows it.

Name So you can greet them like you expected the call. One field, not first and last. Keep
Phone number type="tel", autocomplete="tel", an example with the country code. Required. Keep
Best time Morning, afternoon or evening, plus an optional day. Blank means “as soon as you can”. Keep, as a choice
What it’s about One line, so you ring prepared or pass it to the right person. Optional
Email Only if you will send a quote or a summary after the call. Optional
Their time zone Read it from the browser and store it with the request. Don’t ask
Address, budget, company size, “how did you hear about us” Ask on the call, where it takes seconds instead of a form. Leave out
A plain callback form, if you build your own
<form action="YOUR-FORM-ENDPOINT" method="post">
  <label for="cb-name">Your name</label>
  <input id="cb-name" name="name" autocomplete="name" required>

  <label for="cb-phone">Phone number</label>
  <input id="cb-phone" name="phone" type="tel" autocomplete="tel"
         placeholder="+44 7700 900123" required>

  <fieldset>
    <legend>Best time to call (optional)</legend>
    <label><input type="radio" name="when" value="morning"> Morning</label>
    <label><input type="radio" name="when" value="afternoon"> Afternoon</label>
    <label><input type="radio" name="when" value="evening"> Evening</label>
  </fieldset>

  <input type="hidden" name="timezone" id="cb-tz">
  <button type="submit">Call me back</button>
  <p>We only use your number to call you about this request.</p>
</form>
<script>
  document.getElementById('cb-tz').value =
    Intl.DateTimeFormat().resolvedOptions().timeZone;
</script>

Point action at whatever receives your forms. The two lines of script fill in the visitor’s time zone, such as Europe/London, so you know what “afternoon” means to them.

03 / Callback desk planner

How fast to call back,
and what to promise on the button.

Call back as fast as you promised, and promise only what your hours allow. Enter your opening hours, where you and your callers are, and how many requests and people you have. The planner works out a typical week and writes the line for your button.

Your callback desk Runs in your browser
Opening hours, when someone can ring back

The planner assumes requests arrive evenly from 08:00 to 22:00 in your callers’ time, and that “minutes a call” includes notes and the odd retry. Time zones use standard (winter) offsets; daylight saving shifts them by an hour for part of the year.

A typical week, in your time Your target slips at the busiest hour
Longest wait, on the clock
2 d 16 h
Left Fri 17:00, called Mon 09:00
Longest wait, in opening hours
4 h 17 min
Left Mon 09:00, called Mon 13:17
Called within your target
83%
of the week’s requests
Average wait, on the clock
12 h 47 min
72 requests a week, room for 160
The line for your button

“We call back within 6 working hours”

Mon–Fri 09:00–17:00, London time

With 1 person clearing about 4 callbacks an hour, 83% of requests are called within 2 working hours. The slowest takes 4 h 17 min of opening hours, so promise 6 working hours, or add hours or a person.

Promise in working hours, and show the hours

A request left at 21:00 on a Friday is not late on Monday at 09:30 if the button said “within 2 working hours, Mon–Fri 9–5”. It is late if the button said “within 2 hours”. Put the hours and your time zone next to the promise.

Monday morning is the real test

The weekend’s requests are all waiting when you open, and the ones that arrive on Monday join the back of that queue. If the promise breaks anywhere, it usually breaks there. Add a person for the first hours of the week, or start earlier.

Their afternoon, your evening

When callers are in another time zone, their “afternoon” may be your evening. Store the time zone with each request, read the window in their time, and set the planner’s second zone to see how the queue moves.

How fast is fast enough? There is no universal number worth quoting, and the figures that circulate rarely come with a source. The useful rule is simpler: ring within the time you put on the button, and within the window the caller chose. A request that is called late, or not at all, does more harm than having no button.

04 / Install it

How to add a callback request form
to WordPress, Shopify, Wix and the rest.

A callback widget installs like any other: one script tag in the <head> of every page, pasted once. After that the button, the form and the wording are changed from the tool’s dashboard, not your theme.

Add a call me back button on WordPress

  1. 1 Install a header-and-footer code plugin such as WPCode from the plugin directory.
  2. 2 Open Code Snippets › Header & Footer and paste the script tag into the Header box.
  3. 3 Save. Prefer no plugin? Paste it before </head> in your theme’s header.php, in a child theme so an update does not remove it.

Add a call me back button on Shopify

  1. 1 Duplicate your live theme first: Shopify warns that code edits can be lost when a theme updates.
  2. 2 Go to Online Store › Themes, open the … menu beside the current theme and choose Edit code.
  3. 3 Open layout/theme.liquid, paste the script tag just before </head>, and save.

Add a call me back button on Wix

  1. 1 The site has to be published and have a connected domain before Wix allows custom code.
  2. 2 Go to Settings › Custom Code (under Development & integrations) and click + Add Custom Code.
  3. 3 Paste the tag, give it a name, choose All pages and Head, then Apply.

Add a call me back button on Squarespace

  1. 1 Go to Pages › Custom Code › Code Injection. On version 7.0 it is under Website Tools › Code Injection.
  2. 2 Paste the tag into the Header field, which Squarespace injects into the <head> of every page, and save.
  3. 3 Code injection is available on the Core, Plus and Advanced plans and some legacy plans, not on Personal.

Add a call me back button on Webflow

  1. 1 Open Site settings › Custom code.
  2. 2 Paste the tag into Head code and click Save changes, then publish the site.
  3. 3 Site-wide custom code needs an active Site plan, or a Core, Growth, Agency or Freelancer Workspace.

Add a call me back button on Plain HTML

  1. 1 Paste the tag just before </head>.
  2. 2 If your pages share a header include, put it there once; otherwise add it to every page that should show the button.
  3. 3 Upload the changed files and reload a page to check the button appears.

Then open your site on a phone, tap the button, and send yourself a test request before you tell anyone it is there.

Add a tap-to-call link for mobile, too

A tel: link turns your number into something a phone can dial with one tap. Put the full international number in the link, starting with + and the country code and without the leading zero, so it works from any phone; write it however you like in the visible text.

The two do different jobs. The link is for people who want to talk now, while you are open. The callback button is for everyone else, including the visitor at 22:00 who would otherwise ring an empty office.

Tap to call
<a href="tel:+442079460123">Call us: 020 7946 0123</a>
  • On a phone, tapping it hands the number to the dialler. On a computer it may open a calling app, or do nothing useful, so do not make it the only way in.
  • Out of hours, say so next to the number, and point to the callback button instead.
05 / With Builderify

A callback button and a queue,
from one script tag.

In Builderify, Callbacks is a block you add to the floating bubble, beside live chat, an FAQ or anything else you put there. Installed once on WordPress, Shopify, Wix, Squarespace, Webflow, Framer or plain HTML, it works like this:

  1. 01
    The form
    Name and phone number are required. Email is optional and can be switched off; “What’s it about?” is off until you switch it on. Visitors can pick a day, up to 14 days ahead by default, and morning, afternoon or evening, or leave both blank for “as soon as possible”.
  2. 02
    Their time zone, without asking
    The widget reads the visitor’s time zone from their browser and stores it with the request, so the queue shows Europe/Madrid next to “Evening”.
  3. 03
    A queue in order
    Waiting requests come first, oldest at the top. Each one is Waiting, Called, No answer or Closed, with your notes, and the time of the first call attempt is recorded. Requests whose chosen day has passed are counted as past their window.
  4. 04
    Every caller is a lead
    Each request is also added to the leads list you chose for the block, phone-only callers included. If they gave an email, they get a confirmation email first, and nothing from a campaign or sequence reaches them until they confirm.
  5. 05
    Tap to call from the queue
    Numbers in the dashboard are tel: links, so on a phone “Call now” dials straight from the request.
A small trades business, one monthCredits
Page loads (4k × 10)40
Callback requests (50, no per-request rate)0
Free every month−40
Credits to buy0

There is no rate for a callback request on the rate card; what draws credits is page loads with the widget on them. Every account gets 250 free credits a month, and one-time packs start at $9 and never expire. The bubble shows “Powered by Builderify”; removing it costs 1,500 credits, once per website.

What it does not do

The callback block stays available around the clock; it does not switch itself off outside your hours. That is usually what you want, but it means the promise on your button has to cover nights and weekends, which is what the planner above is for. The welcome text above the form is yours to write, so put the promise and your hours there.

Getting told about new requests

Each request appears in the website’s activity feed as “asked for a callback”, with the number and window, and the feed can be mirrored to a Telegram chat you connect. When a call needs a fixed slot instead of a window, Bookings is the sibling block, and Live Chat covers the visitors who would rather type.

06 / Consent and privacy

Consent and privacy basics
for a callback request form.

A callback request is a person asking you to phone them about one thing. Use it for that, keep only what the call needs, and do not stretch it into permission for anything else. This is general information, not legal advice for your business.

The habit

Asking for everything “in case”.

Do this instead

Collect what the call needs and no more. The UK GDPR’s data minimisation principle says personal data should be “adequate, relevant and limited to what is necessary” for its purpose, and the ICO puts it plainly: “You should not have more personal data than you need to achieve your purpose.”

The habit

Treating the request as consent to market.

Do this instead

Under the UK and EU GDPR, processing is lawful where it is needed “to take steps at the request of the data subject prior to entering into a contract” (Article 6(1)(b)); the ICO’s example is someone asking for a quote. That covers the call they asked for. Newsletters and later sales calls are a separate question, and in the UK the ICO says unsolicited marketing calls to numbers on the TPS are not allowed “unless the person has specifically consented to your calls”.

The habit

Saying nothing about what happens to the number.

Do this instead

Put one line under the button, such as “We only use your number to call you about this request”, and link your privacy notice. If the same form also signs people up to anything, make that a separate, unticked choice.

The habit

Keeping every request forever.

Do this instead

Decide how long a closed request is kept, and delete or close old ones on that schedule. A queue of last year’s phone numbers is a risk with no use.

The habit

Ringing a “no answer” ten times.

Do this instead

Try again inside the window they chose, leave a short message saying who you are and which request you are calling about, then use email if they gave one. After that, close it.

Questions

Call me back buttons, before you ask.

A name, a phone number and a best time to ring, offered as a choice such as morning, afternoon or evening. Make what it is about and an email optional, and leave anything else for the call itself. Fewer fields are quicker on a phone and mean less personal data to look after.

Paste the tool's script tag into the head of every page once: through a header-and-footer plugin such as WPCode on WordPress, in layout/theme.liquid just before the closing head tag on Shopify, or under Settings, Custom Code with All pages and Head on Wix. Wix needs a published site with a connected domain before it allows custom code.

Within the time you promised on the button, and within the window the caller picked. Promise in working hours and show your hours and time zone, so a request left on Friday night is not late on Monday morning. The desk planner on this page works out a promise your hours and staff can keep.

It is better when the answer needs a conversation and nobody can pick up right now, for example quotes, insurance or a treatment plan. Live chat is better for quick questions while the visitor is still on the page. Many sites offer both, plus a tap-to-call number for urgent calls.

Treat a callback request as permission for the call they asked for, about what they asked about. A newsletter or later sales calls need their own consent, so offer that as a separate, unticked choice. In Builderify, callers who leave an email get a confirmation email first, and nothing from a campaign or sequence reaches them until they confirm.

Stop losing the visitors
you already paid for.

More leads from the traffic you already have, and follow-up that sends itself. Free to start. No card, no monthly fee.