I had a portfolio, service pages, an email address, and a booking link.
I still made interested people work too hard to start a conversation.
The missing piece was a visible next step. I added a floating Book a call button that stays at the bottom of the screen and opens my Calendly booking page.
It hides when the footer enters the viewport. There is no reason to cover the footer links with a second call to action.
That sounds obvious after the fact. I missed it because I was looking at the site as the person who built it. I already knew where the contact options were.
The call button has one job
The button is fixed near the bottom center of the page. It uses a calendar icon, a short label, and a small amount of glass blur so it stays visible over the page without becoming a banner.
On hover, it lifts slightly. When the footer is visible, an IntersectionObserver hides it.
new IntersectionObserver(([entry]) => {
button.classList.toggle("is-hidden", entry.isIntersecting);
}).observe(footer);
The rule is simple: make the next step available, then get out of the way when the page already contains one.
A booking page is part of the product
The button only solves navigation. The booking page decides whether the meeting starts with useful context or another round of basic questions.
I set the event to 30 minutes, with Google Meet details provided after confirmation. The availability window is 7 AM to 11 PM IST. Wednesdays are unavailable. Saturdays and Sundays remain available.
Before someone picks a time, the flow asks for information that changes how I prepare:
- Their name and email address.
- A business or product URL.
- A phone number for the meeting.
- Their current business situation and the problem they want to discuss.
- Their revenue range.
- Their expected investment for the project.
- Confirmation that the person booking can attend the call.
I do not need a long application form. I need enough information to tell the difference between a vague request and a real problem with a clear owner.
The ₹50,000 boundary is stated early
One answer in the investment question is explicit: Below ₹50,000 (do not book).
This is not a punishment for a smaller budget. It is a clarity tool.
Some work cannot be done responsibly within that amount. Letting someone book first and hearing that after they spend time on a call is worse for both people.
The question sets the boundary before the calendar. It gives visitors a chance to decide whether the conversation fits before they give up a time slot.
I would rather lose a booking that is clearly outside the work than create a disappointing call that could have been avoided.
The words on the page matter too
The booking page explains that the call is for projects and possible AI improvements or implementations. It also says that support requests and collaboration offers should go through email, not this calendar.
That copy prevents the meeting link from turning into a general inbox.
There is a tradeoff. A stricter booking page will reduce the number of calls. It should.
The goal is not to fill every slot. The goal is to make the calls that happen worth the time for both sides.
What I would check before adding one
If you add a booking button to a site, test the whole path on a phone:
- Can a visitor find the button without scrolling back to the header?
- Does the button avoid covering the footer or another important control?
- Does the booking page explain who the call is for?
- Do the questions give you information you will actually use?
- Are budget and attendance expectations clear before someone takes a slot?
Most booking friction is useful when it removes a bad fit early. The rest is just a sign that the next step is hard to find.