Quick Answer: Create WhatsApp click-to-chat links using the format https://wa.me/[phone]?text=[message]. Generate QR codes from these links. Place them on websites, email signatures, business cards, and ads to start conversations with one click or scan.
You want customers to message your business on WhatsApp.
But asking them to save your number and then open WhatsApp and then type a message creates friction. Three steps. Most will not bother.
Click-to-chat links reduce this to one step. Click, and the conversation opens with your number ready.
QR codes do the same for offline materials. Scan, and WhatsApp opens.
This guide covers how to create them, where to place them, and how to track their performance.
WhatsApp Click-to-Chat Links
Basic Format
https://wa.me/[phone_number]
Phone number rules:
- Include country code (no + symbol)
- No dashes, spaces, or parentheses
- No leading zeros in country code
Examples:
| Country | Phone Number | wa.me Link |
|---|---|---|
| Singapore | +65 9123 4567 | https://wa.me/6591234567 |
| USA | +1 (555) 123-4567 | https://wa.me/15551234567 |
| UK | +44 20 7946 0958 | https://wa.me/442079460958 |
| India | +91 98765 43210 | https://wa.me/919876543210 |
Pre-Filled Message
Add a default message the customer can send:
https://wa.me/[phone]?text=[encoded_message]
URL encoding required for spaces and special characters:
- Space →
%20 - Newline →
%0A - & →
%26
Examples:
Basic:
https://wa.me/6591234567?text=Hi%20I%20have%20a%20question
With context:
https://wa.me/6591234567?text=Hi%2C%20I%27m%20interested%20in%20the%20Pro%20plan
Multi-line:
https://wa.me/6591234567?text=Hello!%0AI%20visited%20your%20website%20and%20would%20like%20more%20information.
Pre-Filled Message Generator
Use this JavaScript snippet to encode messages:
function createWhatsAppLink(phone, message) {
const encodedMessage = encodeURIComponent(message);
return `https://wa.me/${phone}?text=${encodedMessage}`;
}
// Usage
const link = createWhatsAppLink('6591234567', 'Hi, I want to learn more about your services!');
// Result: https://wa.me/6591234567?text=Hi%2C%20I%20want%20to%20learn%20more%20about%20your%20services!
Or use online tools:
WhatsApp QR Codes
Creating QR Codes
Option 1: WhatsApp Business App
- Open WhatsApp Business
- Go to Settings → Business Tools → Short Link
- Tap "View QR Code"
- Save or share the QR code
Option 2: Generate from wa.me Link
Use any QR code generator with your wa.me link:
- QR Code Generator
- QRCode Monkey
- Canva's built-in QR generator
Option 3: WhatsApp Business API
For businesses using Cloud API, generate QR codes programmatically:
GET https://graph.facebook.com/v18.0/{phone-number-id}/message_qrdls
QR Code Best Practices
Size Requirements:
- Minimum: 2 x 2 cm (for close scanning)
- Recommended: 3 x 3 cm or larger
- For billboards/posters: Scale proportionally
Design Guidelines:
- Keep high contrast (dark on light works best)
- Maintain quiet zone (white border around QR)
- Test before printing at final size
- Add "Scan to chat on WhatsApp" label
Branded QR Codes:
- Add logo in center (keep under 30% coverage)
- Use brand colors (maintain contrast)
- Round corners are fine
- Test scanning after customization
Placement Strategies
Website Placements
1. Floating Chat Button
<a href="https://wa.me/6591234567?text=Hi%20from%20your%20website"
class="whatsapp-float"
target="_blank">
<img src="whatsapp-icon.svg" alt="Chat on WhatsApp">
</a>
<style>
.whatsapp-float {
position: fixed;
bottom: 20px;
right: 20px;
width: 60px;
height: 60px;
z-index: 1000;
}
</style>
2. Contact Page
<div class="contact-option">
<h3>Chat with us on WhatsApp</h3>
<p>Get instant responses during business hours</p>
<a href="https://wa.me/6591234567" class="whatsapp-button">
Start Chat
</a>
</div>
3. Product Pages
<a href="https://wa.me/6591234567?text=Hi%2C%20I%27m%20interested%20in%20[Product%20Name]">
Ask about this product on WhatsApp
</a>
4. Exit Intent Popup
When user is about to leave:
"Have questions? Chat with us on WhatsApp before you go!"
[Chat Now] → wa.me link
Email Placements
Email Signature:
---
John Smith | Sales Manager
📱 WhatsApp: [Chat with me](https://wa.me/6591234567)
Order Confirmation Emails:
Questions about your order?
Reply to this email or chat with us instantly on WhatsApp:
[Chat on WhatsApp] → wa.me/6591234567?text=Order%20%23[ORDER_ID]
Marketing Emails:
Prefer messaging over email?
[Continue this conversation on WhatsApp] → wa.me link
Print Materials
Business Cards:
- QR code on back
- "Scan to chat" label
- Phone number as backup
Brochures/Flyers:
- QR code near contact information
- Pre-filled message with campaign tracking
Product Packaging:
- QR code for support
- "Need help? Scan here"
In-Store Displays:
- Large QR codes (easy to scan from distance)
- "Questions? Scan to chat with our team"
Receipts:
- QR code at bottom
- "Rate your experience" or "Need support?"
Advertising
Facebook/Instagram Ads:
- Use "Click to WhatsApp" ad objective
- Links directly to WhatsApp conversation
- Pre-filled message with campaign context
Google Ads:
- WhatsApp click-to-chat extension
- Add to search and display ads
- Track as conversion event
Offline Ads (Billboards, Print):
- Large QR codes
- Short memorable URL as backup
- Clear call-to-action
Tracking Performance
UTM Parameters in Pre-Filled Messages
Since wa.me links don't support standard UTM parameters, embed tracking in the message:
Website button:
https://wa.me/6591234567?text=Hi%20%5BWEB-HOME%5D%20I%27d%20like%20to%20learn%20more
Email campaign:
https://wa.me/6591234567?text=Hi%20%5BEMAIL-DEC25%5D%20I%20saw%20your%20promotion
Business card:
https://wa.me/6591234567?text=Hi%20%5BCARD-JOHN%5D%20We%20met%20at...
Your team sees the source immediately:
Customer: Hi [WEB-HOME] I'd like to learn more
→ Source: Website homepage
Customer: Hi [EMAIL-DEC25] I saw your promotion
→ Source: December email campaign
Click Tracking
Option 1: Link Shorteners
Use Bitly, Short.io, or similar to track clicks:
Original: https://wa.me/6591234567?text=Hi
Shortened: https://bit.ly/chat-company
Track: Total clicks, clicks by country, device type
Option 2: Website Analytics
Track outbound clicks to wa.me links:
// Google Analytics 4
document.querySelectorAll('a[href*="wa.me"]').forEach(link => {
link.addEventListener('click', () => {
gtag('event', 'whatsapp_click', {
'link_location': link.dataset.location || 'unknown'
});
});
});
Conversation Attribution
When conversations arrive, track the source:
Business Logic:
1. Customer sends message with tracking code
2. System extracts code: [WEB-PRICING]
3. CRM logs source: Website - Pricing Page
4. Sales team sees full attribution
Advanced Strategies
Dynamic Links by Page
Generate different pre-filled messages based on current page:
// On product page
const productName = document.querySelector('.product-title').textContent;
const waLink = createWhatsAppLink('6591234567',
`Hi, I'm interested in ${productName}. Can you tell me more?`
);
document.querySelector('.wa-button').href = waLink;
A/B Testing Messages
Test different pre-filled messages:
Version A: "Hi, I'd like a quote"
Version B: "Hi, I saw your website and have questions"
Version C: "Hello! Are you available to chat?"
Track: Which version gets more responses?
Multi-Number Routing
Different links for different purposes:
Sales inquiries: wa.me/6591234567
Support tickets: wa.me/6591234568
General questions: wa.me/6591234569
Or use a single number with department routing in the message:
Sales: wa.me/6591234567?text=[SALES]%20Hi%2C%20I%20want%20pricing
Support: wa.me/6591234567?text=[SUPPORT]%20Hi%2C%20I%20need%20help
QR Code with Landing Page
Instead of direct wa.me link, QR points to a landing page:
QR → landing-page.com/chat-with-us
Landing page collects:
- Email (for follow-up if WhatsApp fails)
- Question category
- Then redirects to appropriate wa.me link
Integration with Oxaide
For businesses using Oxaide, click-to-chat links integrate with AI automation:
How It Works:
- Customer clicks wa.me link with tracking code
- Message arrives at Oxaide-connected WhatsApp
- AI extracts source from tracking code
- AI personalizes response based on source
Customer from pricing page: "Hi [WEB-PRICING] tell me about plans"
AI: "Hi! I see you were looking at our pricing. We have three plans...
Which features are most important for your business?"
Benefits:
- Source tracking automatic
- AI customizes responses by channel
- All conversations logged with attribution
- Analytics dashboard shows performance by source
Key Takeaways
- Format:
https://wa.me/[country_code][number]?text=[encoded_message] - No special characters in phone number (no +, -, spaces)
- URL encode pre-filled messages (spaces → %20)
- Track sources with codes in pre-filled messages
- QR codes minimum 2x2cm, test before printing
- Place strategically: website, email, print, ads
- Test all links before publishing
Click-to-chat links and QR codes remove friction from starting WhatsApp conversations. Every touchpoint becomes an entry point to your WhatsApp channel.
The easier you make it to reach you, the more conversations you will have.
For businesses wanting to handle the increased conversation volume with AI automation, explore Oxaide's WhatsApp solution.