How to put WhatsApp live chat on your website
A chat widget, a click-to-chat button and a QR code are three different trades between how many people start a conversation and how many you keep. This walks through all three, and why the answer for most sites is both of the first two rather than either.
There are three ways to connect a website to WhatsApp, they behave very differently, and the one almost everybody picks first is the one that loses the most conversations.
The three options
1. A click-to-chat button
A floating green button that opens WhatsApp with your number and, if you set one, a message already written. It is a link — wa.me/23767000000 — and it takes about a minute to add.
What it costs you: the visitor leaves your site. On desktop they land in WhatsApp Web, which means a QR scan if they are not already signed in, and a good share of them simply stop there. You also lose every visitor unwilling to hand over their phone number to ask a question about delivery times.
2. A chat widget that bridges to WhatsApp
A chat panel that opens on the page. The visitor types, and their message arrives on your WhatsApp as a normal message; you reply from your phone and your reply appears in the widget.
What it costs you: slightly more setup, and the visitor does not get the thread on their own phone unless they later choose to move to it. What you gain is everyone who would never have pressed the first button — no app switch, no number handed over, no QR code.
3. A QR code
Useful on a printed page, an invoice, or a physical shop window. On a website it is mostly cargo cult: a desktop visitor cannot scan the screen they are looking at, and a mobile visitor can just tap a link.
Side by side
| Click-to-chat | Bridged widget | QR code | |
|---|---|---|---|
| Setup | Minutes | A snippet and a number | Minutes |
| Visitor keeps the thread | Yes | Only if they move to WhatsApp | Yes |
| Works on desktop | Poorly — QR or WhatsApp Web | Yes | No |
| Requires their number | Yes | No | Yes |
| You answer from | |||
| Page context attached | No | Yes — page, source, path | No |
| Best for | Mobile, high-intent | Everyone else |
The honest recommendation for most sites is both of the first two: a widget for the majority, and a click-to-chat button for people who would rather have the conversation on their own phone. They serve different visitors, and in opposite corners they do not compete for the same attention.
What separates a widget that works
Once a visitor has typed something, everything that matters is on your side of the glass. Four things decide whether the conversation survives.
Somebody has to actually get it
A widget that forwards to one phone works until that phone is in a pocket on a Sunday. If more than one person answers your business, the message needs to reach all of them, and the first to reply needs to take the conversation so the other three stop being interrupted. That is a shared inbox problem, and it arrives about a week after the widget does.
The reply has to find its way back
This is where most homegrown bridges fail. Three visitors are waiting; you reply on your phone; which one gets it? Quoting the forwarded message is the only signal that is never a guess — everything else is inference. A bridge that cannot route a reply reliably is a bridge that occasionally sends one customer’s answer to another.
Context has to ride along
“Is this available?” is unanswerable. The same question with shop.example.com/products/blue-kettle underneath it takes five seconds. The page they are on, how they found you, and what they read before typing are all knowable at the moment the message is sent, and all useless if collected and not attached.
It has to say true things
A widget that shows “Delivered” when the message has merely been accepted is lying to a customer about whether their question reached anybody. If your team is asleep, “We are away until 9am” keeps more people than a cheerful greeting followed by eleven hours of silence.
Setting one up
The mechanics are the easy half. A script tag on the page, a number to forward to, and the allowed domains so somebody else cannot embed your widget on their site:
- Add the snippet before
</body>. - Point it at the number that answers — the one people already message you on.
- Restrict it to your own domains.
- Send yourself a test message and reply to it, on the phone, as a colleague would.
- Write the greeting last, naming what you can help with. “How can we help?” produces “hello” and a dead thread; naming pricing, delivery and sizing produces an answerable question.
WaveSenda does this in the form described above — widget and click-to-chat button together, forwarding to a rota rather than a single phone, with the page and source attached to the first message. The setup guide has the snippet.
Common questions
Does a WhatsApp chat widget need the official Business API?
No. A widget forwards visitor messages to a WhatsApp number and routes the replies back; the number can be an ordinary connected account. The official API is about sending at scale to people who are not currently talking to you, which is a different problem.
Will visitors trust a chat box more than a WhatsApp button?
More people will start a conversation in a widget, because it asks for nothing. More people will keep the conversation in WhatsApp, because the thread lives on their phone afterwards. That trade is why offering both beats choosing.
What happens when nobody is available?
The message should still be accepted, and the visitor told honestly when somebody will be back. Refusing messages outside office hours loses a question somebody took the trouble to ask; a cheerful greeting followed by silence is worse still.
Can I use my personal WhatsApp number?
Technically yes, and it is how most small businesses start. The problem is not technical: it is that the number becomes a business asset one person owns, and the day they are unreachable your customers are too.
How do I stop somebody embedding my widget on their site?
Restrict it to your own domains. Any widget worth using checks the origin of the request against a list you control and refuses anything else — otherwise a competitor can put your chat on their page and collect conversations meant for you.