Guide · Get more enquiries
How to add a WhatsApp button to a property agent website
The short answer
Make a link like https://wa.me/65XXXXXXXX?text=Hi. Put your 8-digit number after the 65. Put that link on a big button at the top of your site, on every listing and in a bar that stays on screen on phones.
No app, plug-in or paid tool is needed. The hard part is not the button. It is replying fast and turning the chat into a viewing.
Step 1: make your wa.me link
WhatsApp has a free feature called click to chat. You make a link with your number in it. When someone taps it, WhatsApp opens a chat with you. It works on phones and on WhatsApp Web. Source: WhatsApp Help Center, "How to use click to chat".
Here is how the link is built. Swap the X's for your own 8-digit mobile number.
https://wa.me/WhatsApp's short link address. Always the same.65Singapore's country code. Always put it in front.XXXXXXXXYour 8-digit number. No spaces, no dashes, no brackets.?text=Optional. Tells WhatsApp a ready-made message follows.Hi%2C%20I%20saw%20your%20website.The message, written in link-safe code. This one reads "Hi, I saw your website." More on this below.
Put together, a Singapore link looks like this:
https://wa.me/65XXXXXXXX?text=Hi%2C%20I%20saw%20your%20website.
WhatsApp's own help page says to use the full number in international format and to leave out any zeros, brackets or dashes. Most link mistakes I see come from that rule:
- Won't work
wa.me/+65XXXXXXXXhas a plus sign. Leave it out. - Won't work
wa.me/65 XXXX XXXXhas spaces. Join the digits up. - Won't work
wa.me/XXXXXXXXhas no 65 in front, so WhatsApp can't tell it is a Singapore number. - Works
wa.me/65XXXXXXXX: 65, then your 8 digits, nothing else.
The number must have an active WhatsApp account. If you use the WhatsApp Business app on a different number from your personal one, use the business number.
Step 2: add a ready-made message
A blank chat makes people stop and think. "What do I say?" Many just close it. A ready-made message fixes that. It sits in the chat box, and the visitor taps send. They can change it first if they want.
It also helps you. When a chat starts with "I saw your website", you know where it came from before you reply.
Write one message for each type of client you serve. Copy the coded line into your link after ?text=.
Buyers
Hi, I saw your website. I'm looking to buy a home. Can you help?
Hi%2C%20I%20saw%20your%20website.%20I%27m%20looking%20to%20buy%20a%20home.%20Can%20you%20help%3F
Sellers
Hi, I saw your website. I'm thinking of selling my home. Can we talk?
Hi%2C%20I%20saw%20your%20website.%20I%27m%20thinking%20of%20selling%20my%20home.%20Can%20we%20talk%3F
Tenants
Hi, I saw your website. I'm looking for a place to rent.
Hi%2C%20I%20saw%20your%20website.%20I%27m%20looking%20for%20a%20place%20to%20rent.
Landlords
Hi, I saw your website. I have a place to rent out. Can you help?
Hi%2C%20I%20saw%20your%20website.%20I%20have%20a%20place%20to%20rent%20out.%20Can%20you%20help%3F
A message for each listing
On a listing, name the listing in the message. Give each one a short code, like B12. Then you never have to ask "Which one?"
Hi, I saw listing #B12 on your website (3-bedroom condo, Bishan). Is it still available?
Hi%2C%20I%20saw%20listing%20%23B12%20on%20your%20website%20%283-bedroom%20condo%2C%20Bishan%29.%20Is%20it%20still%20available%3F
Fill-in-the-blank messages
You can leave blanks for the visitor to fill in. You get better details in the first message. But some people will send it with the blanks still there. Use this style on a page where people are already serious, like a "book a valuation" section.
Hi, I saw your website. I'm looking to buy a ___ in ___. Budget about $___.
Hi%2C%20I%20saw%20your%20website.%20I%27m%20looking%20to%20buy%20a%20___%20in%20___.%20Budget%20about%20%24___.
How the coding works
A link can't hold spaces or some symbols as they are. Each one is swapped for a short code. Most website tools do this for you. If you type a link by hand, these are the ones that matter:
| Character | Code | Why it matters |
|---|---|---|
| space | %20 | Every space between words. |
| , | %2C | Commas after "Hi". |
| ? | %3F | Questions at the end of the message. |
| ' | %27 | Words like I'm and I'd. |
| # | %23 | Listing codes and unit numbers like #05. An uncoded # cuts the message off at that point. |
| & | %26 | "Buy & sell". An uncoded & also cuts the message short. |
| $ | %24 | Prices and budgets. |
| new line | %0A | Starts a new line inside the message. |
Keep messages short. One or two lines is plenty. Never put anything private in a link, like a client's name or phone number. A link can be copied, shared and saved in browser history.
Step 3: put the button where thumbs can reach it
People often reach an agent's site from a WhatsApp chat, a social post or an ad. That means a phone. So design for the phone first. The rule is simple: wherever someone might decide to contact you, there should be a WhatsApp button within reach.
- HeaderYour nameWhatsApp
- Top of the pagePhoto, who you help, where. One big "WhatsApp me" button.
- Each listingPhoto, price, one line.Ask
- Second listing.Ask
- Reviews, about youNo button needed in every block.
- ContactWhatsApp first. Your number in plain text. A short form as backup.
- In the header. A small button next to your name, so it is there the moment the page opens.
- At the top of the page. The biggest button on the screen. Use words, not just the logo: "WhatsApp me" is clearer than an icon.
- On every listing. With that listing's own message, as shown above.
- In a bar that stays on screen on phones. A slim button pinned to the bottom of the screen. Make sure it does not cover other buttons or the last lines of the page.
- In the contact section. Next to your number written out in full, for people who would rather call or save your contact.
What to avoid
- Hiding WhatsApp behind a form. If someone wants to chat, let them chat. Keep the form as a backup.
- An icon with no words. Some people won't know what a small green circle does.
- Tiny buttons. Make them at least as tall as a fingertip, about 44 to 48 pixels, with space around them.
- Pop-up chat boxes that cover the page. They block your photo and listings on a small screen, which is what people came to see.
- Old numbers. If you change your number, update every button. A search for "wa.me" in your site files finds them all.
You can see this layout working on my fictional sample site. It uses a made-up agent and sample content. My website checklist covers the rest of the page, section by section.
Step 4: test every button
This takes five minutes. Do it before you share the link, and again after any change.
- Tap each button on your own phone. Does it open a chat with you?
- Read the message in the chat box. Is every word there, with no stray % signs?
- Ask a friend with the other kind of phone (iPhone or Android) to try it too.
- Click it on a computer. It should offer to open WhatsApp Web or the desktop app.
- Check each listing button names the right listing.
- Scroll to the bottom on a phone. The bar that stays on screen must not hide anything.
Step 5: count taps without collecting personal data
If your site uses Google Analytics 4 (GA4), you can count how many people tap WhatsApp, and which button they tapped. You don't need, and should not send, anyone's name, number or chat.
GA4 may already count some of this for you. With "enhanced measurement" turned on, it records a click event when someone clicks a link to another website, including the link's address. Source: Google Analytics Help, enhanced measurement events. That tells you WhatsApp was tapped, but not which button.
To see which button works best, send your own event with one extra detail: the part of the page it sits in. Give each button a label, then add a few lines of code. This is a simple version of what runs on my own homepage:
<a href="https://wa.me/65XXXXXXXX?text=..." data-section="listing">WhatsApp me</a>
<script>
document.querySelectorAll('a[href^="https://wa.me/"]').forEach(function (link) {
link.addEventListener('click', function () {
if (typeof gtag === 'function') {
gtag('event', 'whatsapp_click', { section: link.dataset.section || 'page' });
}
});
});
</script>
Use labels like header, hero, listing, sticky and contact. Three more things to set up in GA4:
- Register "section" as a custom dimension. Otherwise the label won't show up in your reports. Source: Google for Developers, set up event parameters.
- Mark
whatsapp_clickas a key event if you want to see it as a goal. This is under Admin, then Events. Source: Google Analytics Help, mark events as key events. - Keep personal data out. Google's rules say not to send data Google could use to identify a person, such as email addresses or personal mobile numbers. Source: Google Analytics Help, avoiding personally identifiable information. The code above only sends a section name.
One honest warning. A tap is not a chat. GA4 can see that someone tapped the button. It can't see whether they pressed send, or what was said. Your real numbers live in WhatsApp, which is why the next step matters more.
If your site collects analytics, say so in a privacy notice. Here is my own privacy notice as an example.
Step 6: turn a chat into a viewing
The button gets you the first message. What you do in the next few minutes decides what happens next. Here are the habits I would set up.
Reply fast, even if it's short
Someone who taps your button may be messaging other agents too. A quick "Thanks, I'll send you options by 6pm" beats a perfect reply three hours later. If you are at a viewing, a one-line reply buys you time.
The WhatsApp Business app can send a greeting message when someone messages you for the first time, or after 14 days with no chat. Source: WhatsApp Help Center, how to use greeting messages. Keep it short and honest, so it doesn't sound like a robot.
Hi, thanks for messaging. I'm Mei Ling. If I'm at a viewing, I'll reply within the hour. To help me help you faster: are you buying, selling or renting, and which area?
Save your best replies
You will type the same answers again and again. The WhatsApp Business app lets you save up to 50 quick replies. In a chat, type "/" to bring them up. Source: WhatsApp Help Center, how to use quick replies. Three worth saving:
/viewing
Great, let's arrange a viewing. Which of these suits you: weekday evening, Saturday or Sunday? I'll confirm the time with the owner.
/buyer
Thanks! To shortlist the right homes, can you share: 1) area, 2) budget, 3) flat or condo, 4) when you want to move?
/seller
Thanks for thinking of me. Can you share the address or block, and your timeline? I'll put together a price range for you.
Always end a reply with one clear next step: a viewing time, a call, or one question. "Let me know" leaves the chat hanging.
Label every chat
In the WhatsApp Business app you can make up to 20 labels and put them on chats, like "New", "Viewing booked" and "Follow up". Some app versions call them lists. Source: WhatsApp Help Center, how to use labels. At the end of each day, check the "New" label is empty.
Keep a simple sheet
Labels show you today. A sheet shows you the pattern over months. Keep it private, and only write down what you need. One row per enquiry is enough:
| Date | First name | Came from | Wants | Next step | Result |
|---|---|---|---|---|---|
| 3 Nov | Alex | Website, listing B12 | Buy, 3-bed condo | Viewing Sat 11am | Viewed |
| 4 Nov | Priya | Website, sellers | Sell 4-room HDB | Call Tue | Waiting |
| 4 Nov | Daniel | Referral | Rent near MRT | Send 3 options | Not now |
The "Came from" column is where your ready-made messages pay off. After a few months, you will see which buttons and which channels bring people who actually book viewings. Clear out old rows you no longer need.
Following up later needs consent
Replying to someone about the thing they asked you is just answering their question. Sending them new launches, market updates or other promotions later is different. That is marketing.
Singapore's Personal Data Protection Commission (PDPC) runs the Do Not Call Registry. Its rules cover marketing messages sent to Singapore phone numbers, and that includes messages on apps like WhatsApp. Source: PDPC, Do Not Call Registry and your business.
The safe habit is simple. Ask first: "Can I send you new listings in Bishan from time to time?" Note the "yes" and the date in your sheet. Stop as soon as someone asks you to. The WhatsApp Business app can send one message to everyone with a label, so only use that for people who said yes.
My PDPA guide for enquiry forms explains consent, the Do Not Call Registry and privacy notices in more detail. Your agency may have its own rules too, so check with them.
How it sits next to portal and social enquiries
Your website is one door. Portals, Instagram, Facebook, referrals and your name card are others. All of them can lead to the same WhatsApp.
- Use a different message for each door you control. Your Instagram bio link can say "Hi, I found you on Instagram." Your name card QR code can say "Hi, I got your name card." Same number, different first line.
- Portals have their own contact buttons. Those messages are set by the portal, not by you. A chat that doesn't start with one of your own messages probably came from somewhere else, so ask.
- Still ask "How did you find me?" People forward links and screenshots. The first message is a strong clue, not proof.
Not sure you need a website at all, or how it works next to your portal profile? My website vs property portals guide covers that.
See a real one in action
This guide's own WhatsApp button
Every WhatsApp button on this page uses the method above. Here is the link:
https://wa.me/6588006545?text=Hi%20Joe%2C%20I%20read%20your%20WhatsApp%20button%20guide.%20Can%20you%20set%20one%20up%20on%20my%20site%3F
Tap it and you'll see the message waiting in the chat box: "Hi Joe, I read your WhatsApp button guide. Can you set one up on my site?" You don't have to send it. Just look.
Try it: WhatsApp Joe