WhatsApp Link URL Parameters: Prefill Messages & Track Campaigns
Learn how to add text, phone, and UTM-style parameters to WhatsApp click-to-chat links to prefill messages and measure which campaigns drive real conversations.
WhatsApp Link URL Parameters: Prefill Messages & Track Campaigns
A plain https://wa.me/32470123456 link will open a chat, but it won't tell you why the visitor clicked, and it doesn't slot naturally into a sales conversation. That is exactly what WhatsApp link URL parameters are for: they let you pre-fill the message a customer sends and tag every link with campaign metadata you can measure later.
This guide covers the two parameters that matter β phone and text β plus a practical system for tracking the clicks that become real conversations.
How a WhatsApp link with parameters works
A click-to-chat link is built on the official wa.me domain. Every link follows the same skeleton:
https://wa.me/<phone>?<parameters>
The phone number is written in international format without a leading +, 0, or spaces. Parameters are then appended with ?, and multiple parameters are joined with &.
The two parameters you'll use most
| Parameter | Purpose | Example |
|-----------|---------|---------|
| text | Pre-fills the message box with a ready-made message | text=Hello, I'm interested in your offer |
| phone | Sets the recipient | 32470123456 |
The phone parameter is actually redundant if you already put the number in the path β but it lets you build dynamic links where only the number changes. text is the workhorse for marketing.
Encoding matters
URLs can't contain spaces or characters like ?, &, #, or accented letters, so the text value must be URL-encoded. Spaces become %20 (or +), and special characters get percent-encoded:
https://wa.me/32470123456?text=Hi%20Waaplink%2C%20I%20want%20to%20chat%20about%20pricing
In the example above, %20 is a space and %2C is a comma. Free online URL encoders handle this automatically, but most of it is human-friendly enough to read at a glance.
Practical examples you can copy
Here are three ready-to-use patterns, from simplest to most useful.
1. Simple pre-filled messagehttps://wa.me/32470123456?text=Hello%2C%20I%20have%20a%20question
The visitor opens a chat with "Hello, I have a question" already typed.
2. Product-specific entry pointhttps://wa.me/32470123456?text=Hi%2C%20I%27m%20interested%20in%20the%20Started%20Plan
Drop the encoded version of the product name into a button or QR code so each product page starts its own kind of conversation.
3. Multi-line structured messageNewlines are encoded as %0A. This creates an order-request format that makes it easy to process requests at scale:
https://wa.me/32470123456?text=Order%3A%0AName%3A%20%0AProduct%3A%20%0AQty%3A%20%0AAddress%3A%20
The customer sees a fill-in-the-blanks template instead of a blank box β dramatically reducing back-and-forth.
Tracking which campaigns generate conversations
The text parameter is your tracking mechanism. By inserting a short campaign code into the pre-filled message, you can see exactly which source produced a chat β no extra software required.
Use a campaign token in the message
Add a distinctive code at the start of the pre-filled text, then search your chats for it later.
https://wa.me/32470123456?text=SRC-FACEBOOK-SALE%20Hi%2C%20I%20want%20the%20discounted%20plan
Because the customer is asked to keep the token in the message, conversations that originate from your Facebook ad, your Instagram bio, or a YouTube video become distinguishable at a glance. When teams use tokens consistently, they can quickly count conversations per channel inside WhatsApp itself.
A simple token convention
| Channel | Token to use in text |
|---------|---------------------|
| Facebook ad | SRC-FB-ADS |
| Instagram bio | SRC-IG-BIO |
| Google Ads | SRC-GGL-ADS |
| QR on packaging | SRC-QR-PACK |
| Email newsletter | SRC-NL-JUL |
Keep tokens short, uppercase, and append a campaign name or month for finer granularity. The goal is a pattern your team reads instantly, not a code you have to decrypt.
Common mistakes to avoid
These pitfalls silently break campaigns or pollute your data.
- Using 0 or + in the phone.
wa.me/+32470123456andwa.me/032470123456fail. Use32470123456. - Forgetting to encode. Raw spaces,
&, or?insidetexttruncate the message. Always encode the value. - Sharing a link with a browser session.
wa.melinks open the WhatsApp app on mobile, but a desktop browser may prompt to download the app instead. Test on the devices your customers actually use. - Batch count as conversations. A click is not a conversation. If you count clicks, name them clicks, not sales β otherwise your win-rate looks better than it is.
- Hard-coding tokens with no convention. If every person on the team invents their own token, measurement collapses. Standardize first.
Connecting parameters to your Waaplink links
You don't have to type encoded URLs by hand. Waaplink's WhatsApp link generator and chat button generator build wa.me links with the correct phone, text, and URL-encoding automatically β so your team can create pre-filled, trackable links and buttons without touching a %20 themselves. The QR code generator does the same for print campaigns that point to a pre-filled chat.
Pairing these tools with the campaign-token convention above gives small and mid-sized businesses a measurement loop that costs nothing and works entirely inside WhatsApp.
A 30-second setup for your next campaign
- Decide the message you want customers to send.
- Encode it, or generate it with a Waaplink tool.
- Prefix it with a short
SRC-campaign token. - Drop the link into your ad, bio, email, or QR code.
- Search WhatsApp for that token to count real conversations.
That's the entire system. No API, no dashboard, no cost β just disciplined links that both improve the customer experience and tell you where your business is coming from.
Frequently asked questions
Does thetext parameter work on mobile and desktop? On mobile it opens WhatsApp with the message pre-filled. On desktop, behavior depends on whether WhatsApp Desktop is installed and the browser's assistant settings β test before launching a campaign.
Can I change the phone number dynamically? Yes. Because phone is a parameter, you can build links in a spreadsheet or app that swap the number while keeping the same text.
Is a pre-filled message spammy? Done well, it reduces friction β a customer who clicks "order on WhatsApp" genuinely wants to type, and a sensible default saves them time. Keep the default short and relevant, never sneaky.
Do parameters help my ranking or ads? The links themselves don't directly improve ad quality, but pre-filled, well-directed chats raise reply and conversion rates, which Meta's click-to-WhatsApp ad campaigns reward over time.