How do I add a WhatsApp chat button to my website?
Add a floating "Chat on WhatsApp" button by dropping a lightweight click-to-chat widget onto your site. When a visitor taps it, their WhatsApp opens with your number already selected and a pre-filled first message, so a browsing visitor becomes an inbound conversation in one tap. Below is exactly how to build it, what pre-filled links (wa.me) can and can't do, and how to turn those chats into tracked, followed-up leads rather than messages that vanish into a personal phone.
Quick answer
Add a floating widget that opens a pre-filled WhatsApp chat in one tap, turning on-site browsing intent into a real conversation. Start with a simple wa.me link, then graduate to an API-backed button so chats are tracked, routed and followed up automatically.The two ways to do it: wa.me link vs. an API-backed widget
There are two distinct approaches, and choosing correctly saves you a rebuild later. The quickest is a plain click-to-chat link using the format https://wa.me/91XXXXXXXXXX?text=... — no account, no API, just an anchor tag or button that opens WhatsApp with your number and an optional pre-filled message. It works on any site (WordPress, Shopify, Wix, a hand-coded landing page) and is perfect for a solo operator or a first test. The limitation: it dumps every chat into one personal or Business-app inbox with no routing, no CRM, no automation and no way to message the customer first later on. The second approach is a widget wired to the WhatsApp Business API through a Meta Business Partner like InfiQ. The button looks identical to the visitor, but behind it every conversation lands in a shared team inbox, gets tagged and routed, syncs to your CRM, and can trigger an instant automated reply — and because you now own a verified API number, you can send opted-in template messages later without waiting for the customer to write first.
- wa.me link — zero setup, opens a pre-filled chat, but no routing, tracking or automation
- API-backed widget — same button, plus shared inbox, CRM sync, auto-replies and later template outreach
- Rule of thumb: use wa.me to validate demand this week; move to the API before chat volume outgrows one phone
Build the basic click-to-chat button in five minutes
For the quick version you don't need any plugin at all. Take your number in full international format without the plus sign, spaces or leading zero (an Indian number becomes 91 followed by the 10 digits), and build the link. Add a URL-encoded pre-filled message so the visitor lands with context already typed — for example a product page can open with "Hi, I'm interested in the Classic Kurta (size M), is it in stock?" so your reply is faster and the lead is qualified before you even read it. Style it as a fixed, bottom-right floating button so it follows the visitor as they scroll, and make sure the tap target is large enough for thumbs on mobile, where the bulk of Indian WhatsApp traffic comes from.
- Link format: https://wa.me/91XXXXXXXXXX?text=Hi%2C%20I%27m%20interested%20in...
- Number: country code 91 + 10 digits, no +, no spaces, no leading 0
- URL-encode the pre-filled text (a space becomes %20, an apostrophe %27)
- Position it fixed bottom-right with a comfortable, thumb-friendly tap area
- Set a per-page message so the chat opens already knowing what the visitor was viewing
Make the pre-filled message do real work
The pre-filled text is the most underused lever on the whole button. Because you control it per page, you can encode intent that would otherwise take three back-and-forth messages to establish. A pricing page button can open with the plan the visitor was reading; a cart-abandonment prompt can reference the exact items; a service business can pre-fill the city and service requested. That context lets you (or an automation) respond with the right answer immediately, and it quietly qualifies the lead — someone who taps a button pre-filled with "I want a demo of the Pro plan" is worth calling before someone who typed "hi". Keep the pre-fill short and human; it's a conversation starter the visitor can edit, not a form they must complete.
Where the button falls short — and what the API adds
A raw wa.me button captures intent but does nothing with it afterwards. There's no record that the chat happened, no owner, no follow-up if the customer goes quiet, and no way for you to re-open the conversation two days later with a relevant offer. Connecting the same button to the WhatsApp Business API fixes all of that. Every chat becomes a trackable lead in a shared inbox, so nothing sits unread on one person's phone over a weekend. You can auto-reply within seconds — even outside business hours — collect name, city or requirement, and hand a warm, tagged lead to the right agent. Crucially, an API number lets you follow up proactively later with an opted-in template message (for example an order update or a limited-time offer), something a personal WhatsApp number simply can't do at scale.
What it costs and how billing actually works
The button and the on-site widget cost you nothing to place. Costs only begin when you message customers through the WhatsApp Business API. Since 1 July 2025 Meta bills per delivered message by category — marketing, utility or authentication — rather than per conversation; the old per-conversation model is gone. Just as important: when a customer taps your button and writes to you first, you enter a free 24-hour service window during which you can reply back and forth at no messaging charge. That window is a free service window, not a billing unit — so a website button that starts customer-initiated chats is one of the most cost-efficient WhatsApp channels you can run. InfiQ is an official Meta Business Partner offering transparent ₹ pricing (ex-GST), and you keep full ownership of your account and BSUID from day one, so you're set up correctly rather than locked into someone else's number.
- Placing the button: free
- Billing model: per delivered message by category (marketing / utility / authentication), since 1 July 2025
- Customer-initiated chats from your button open a free 24-hour service window for replies
- InfiQ: transparent ₹ pricing (ex-GST), with full account and BSUID ownership