In short: a WhatsApp link generator turns a phone number into a wa.me link that opens a direct chat with you, without the visitor having to save your number first. The structure is https://wa.me/972501234567, and adding ?text= with an encoded message pre-fills the chat box. Two mistakes break most links: a wrong number format (leading zero, dashes or a plus sign) and adding UTM parameters to the link - WhatsApp simply ignores them, which is why WhatsApp clicks disappear from analytics reports. This guide covers every link type, the number-format rules with worked examples, how to encode a pre-filled message, and above all how to actually measure WhatsApp clicks in GA4 and in paid campaigns - the part no other generator explains.

I am Shay Cohen, CEO and founder of SFB Digital Marketing. I have been running digital advertising for businesses for over 11 years as a certified Google Partner, with more than 50 million shekels in media budgets that generated over 400 million shekels in sales. A WhatsApp button is one of the strongest lead sources we see for businesses in Israel, and also one of the least measured. The rules on this page are what we implement in the accounts we manage, including the things that do not work.

How a WhatsApp link is built: the wa.me structure

A WhatsApp link, officially called Click to Chat, is an ordinary web address that opens a chat window with a specific phone number. It requires no extra app, no WhatsApp Business API, and no need for the visitor to save your number. That is what makes it the lowest-friction contact button a business can have.

The basic structure is:

  • https://wa.me/972501234567 - opens an empty chat with that number.
  • https://wa.me/972501234567?text=Hi%20there - opens the same chat with a message already typed into the input box.

One point confuses a lot of people: the message is not sent automatically. It is only pre-typed, and the visitor still has to press send. That is actually an advantage - they see what they are sending, so drop-off is lower, and it is what keeps the link from behaving like spam.

The four link types, and when to use each

Link typeStructureWhat it doesWhen to use it
Click to Chatwa.me/<number>Opens an empty chat with your numberPermanent site button, bio, email signature
Chat with a pre-filled messagewa.me/<number>?text=<text>Opens a chat with text already typedLanding pages, ads, identifying the lead source
Share to any contactwa.me/?text=<text>Opens a contact picker and passes the text alongA "share on WhatsApp" button on a product or article
WhatsApp Business short linkwa.me/message/<code>A personal link created inside the Business appSignage, packaging, a printed QR code

There is also the long form api.whatsapp.com/send?phone=972501234567&text=..., which works exactly the same way. There is no technical reason to prefer it: wa.me is shorter, looks better on signage and in ads, and behaves better when pasted into platforms that shorten URLs.

Number format: the mistake that breaks most links

This is the number-one reason a WhatsApp link "does not work". WhatsApp expects a full international format, digits only: country code followed by the number, with no plus sign, no leading zero, no dashes, no spaces and no brackets. Any other character either breaks the link or opens a chat with a number that does not exist.

Israel's country code is 972. The practical rule: delete the leading zero of the local number and put 972 in its place.

How the number looks to youWhat to enter in the linkThe full linkNote
050-1234567972501234567wa.me/972501234567Zero removed, 972 takes its place
054 123 4567972541234567wa.me/972541234567Spaces removed
+972-52-1234567972521234567wa.me/972521234567Plus sign and dashes removed
03-1234567 (landline)97231234567wa.me/97231234567Only works if the number is registered on WhatsApp
0501234567972501234567wa.me/972501234567The common mistake: keeping the zero

How to verify a link in thirty seconds: open it in a desktop browser. If a chat window opens showing your name or number, the link works. If you get a "phone number shared via url is invalid" style message, there is almost always a leading zero still in place or a missing country code. The generator at the top of this page strips those characters automatically, so you can paste the number exactly as it is saved in your phone.

The pre-filled message: how to write it and how to encode it

The text after ?text= must be URL-encoded. Any decent generator encodes non-Latin characters for you, but a few characters break links even when the rest is fine - especially &, which tells the browser a new parameter is starting and therefore cuts the message in half.

CharacterEncodingWhat happens without it
Space%20The link breaks on some platforms
New line%0ANo line break, everything collapses into one paragraph
&%26The message is cut off at exactly that point
?%3FMay be read as the start of a parameter
#%23Everything after it disappears
+%2BInterpreted as a space, not a plus

Beyond technical correctness, the pre-filled message is a marketing tool and not just a convenience. It decides how the conversation opens, and it is the cheapest way to know where a lead came from. Here is what we use in practice:

Where the link sitsRecommended pre-filled messageWhy
Floating site buttonHi, I came from your website and would like details about __Identifies the source and opens on topic
Product pageHi, I would like details about the product __Saves the "which product" round trip
Paid adHi, I came from your ad and would like a quoteSeparates paid leads from organic ones
Instagram bioHi, I came from InstagramThe one channel with no other way to identify the source
Printed QR codeHi, I scanned the code at the __ branchShows which sign or branch is working
Email signatureHi, I saw the details in your emailMeasures email effectiveness with no extra tool

The rule: a short message containing one identifying marker. A long message looks odd sitting in the visitor's input box, so they delete it - and the identifier goes with it.

Measurement: why UTM parameters on a WhatsApp link do nothing

This is the most important section of the guide, and the point where several link generators offer something that has no effect. Some of them advertise "UTM parameters for campaigns" on the WhatsApp link. That does not work, and not because of a bug.

UTM parameters are read by the analytics installed on your website when a visitor lands on one of your pages. A wa.me link does not lead to your website - it leads to WhatsApp. WhatsApp is not a site carrying your GA4 tag, it ignores any parameter other than text, and the handoff from browser to app breaks the referrer chain. No report will ever show that the click came from your campaign. At best the parameters vanish; at worst they end up glued into the message and reach the customer as gibberish.

What does work. There are three measurement layers, and the first should always be on:

LayerWhat is measuredHow to implementWhat it gives you
1. The button clickAn on-site event at the moment of the click, before the app takes overA Click trigger in Google Tag Manager on links containing wa.me, firing a GA4 event named whatsapp_clickHow many clicks, from which page, from which traffic source - including the landing page's own UTMs
2. In-conversation identificationWhere the person messaging you came fromA different pre-filled message per link placement, per the table aboveThe source is visible inside the chat itself, with no external tool
3. Campaign conversionA lead worth money, not just a clickMark the event as a key event in GA4 and import it into Google Ads, or run a Click to WhatsApp campaign on MetaThe ad algorithm starts looking for people who open conversations, not just people who click

Layer 1 is the foundation and easy to deploy: it is measured on your own site, before the visitor leaves for WhatsApp, so it retains all the source data. Note that GA4's automatic enhanced measurement does register an outbound link click, but it lumps it in with every other external link and never flags it as a lead. A dedicated event is the difference between "there were 400 outbound clicks this month" and "58 WhatsApp enquiries arrived, 31 of them from the search campaign". If you want to go deeper on measurement itself, we covered it at length in our guide to measuring ROI in digital marketing.

QR codes and the WhatsApp Business short link

The WhatsApp Business app has its own short link, created inside the app with no generator needed: Settings, Business tools, Short link. It looks like https://wa.me/message/XXXXXXXX, and the same screen also produces a downloadable QR code.

The practical difference between the two matters, because it decides when to use which:

  • The app's short link is fixed and personal, its message is set inside the app, and you cannot produce variations of it. It is excellent for signage, packaging and business cards - places where you would not measure at campaign level anyway.
  • A link built in a generator lets you use a different message per placement, which is what everything digital and measured needs: site button, landing page, ad, newsletter, bio.

You can generate a QR code from any wa.me link, including one built in a generator, which gives you the best of both: a scannable code for signage carrying a pre-filled message that identifies the branch or the campaign. If you are printing a QR code, test it on a real phone before it goes to print, not only on screen.

Click to WhatsApp campaigns: when the link becomes a paid channel

Once you have a WhatsApp button that works, the next step is to send budget to it. On Meta (Facebook and Instagram) there is a campaign type where the conversion destination is not your site but a WhatsApp conversation: pick a suitable objective, then at the ad set level choose WhatsApp as the conversion location. The user taps the ad and lands straight in the chat, with no landing page and no form.

Three things decide whether this works:

  • Response time is the biggest variable. A WhatsApp campaign generates live conversations. A business that replies within minutes closes far more than one that replies the next day, and at that pace a good ad does not compensate for slow answers.
  • Do not stay on "conversations started" optimisation for too long. It is a convenient objective to launch with, but the algorithm will learn to find people who are cheap to get into a chat rather than people who buy. Once you have enough data, move optimisation to a real business event.
  • Measurement works differently from a normal campaign. There is no pixel inside the chat, so a WhatsApp campaign reports conversations opened. To know what happened afterwards you have to mark the outcome in your own system and send the event back to Meta. Without that you get a report full of conversations and no information about sales. We covered Meta campaign structure in our guide to Facebook campaign management.

Where to place the link, in order of return

  1. A floating site button. The highest-return placement. Make sure it is a real <a href="https://wa.me/..."> and not a JavaScript-driven button, otherwise measuring it in GTM becomes difficult.
  2. Product or service pages. One link per page, with the product name inside the message.
  3. Ads and landing pages. This is where an identifying message pays off most, because it separates paid leads from the rest.
  4. Your Google Business Profile. The link can be added as a contact link on the profile. We covered profile management in our guide to the Google Business Profile.
  5. Social bios and email signatures. Cheap, takes a minute, and produces enquiries over time.

Five mistakes almost every business makes

  1. Leaving the leading zero in the number. wa.me/0501234567 will never work. The correct form is wa.me/972501234567.
  2. Expecting the message to send itself. It is only pre-typed. If you count "conversations opened" assuming every message was sent, your numbers are inflated.
  3. Hanging UTMs on a wa.me link. Not measured, and in some cases it pollutes the message. Measurement belongs on the click, on your site.
  4. The same message everywhere. Then you cannot tell which channel produced the enquiry, which is exactly the information that decides where budget goes.
  5. Publishing a number not registered on WhatsApp. This happens often with landlines and with a new number that has not been activated. Test the link once in a browser before it goes live.

Frequently Asked Questions

What is a WhatsApp link generator?

A WhatsApp link generator is a tool that converts a phone number and a message into a valid wa.me link. It automatically strips the leading zero, dashes and spaces, adds the country code and URL-encodes the message, so the link works on every device. You can do this by hand, but most broken links come from exactly those steps.

How do I create a WhatsApp link with a pre-filled message?

Add ?text= after the number, followed by the encoded message. For example: https://wa.me/972501234567?text=Hi%20there. The message appears already typed in the visitor's input box, and they press send themselves.

Why is my WhatsApp link not working?

In order of frequency: a leading zero that was not removed, a missing country code, dashes or spaces inside the number, a plus sign left in place, or a number not registered on WhatsApp. Quick check: open the link in a desktop browser and read the message it shows.

Can I add UTM parameters to a WhatsApp link?

You can add them technically, but they are meaningless. WhatsApp is not your website, it carries no analytics tag, and it ignores any parameter other than text. The correct way to measure is a GA4 event on the button click on your site, plus a different pre-filled message per placement to identify the source inside the conversation.

How do I track WhatsApp clicks in Google Analytics 4?

In Google Tag Manager create a Click - Just Links trigger for links whose destination URL contains wa.me, and attach a GA4 event tag named whatsapp_click. Then mark that event as a key event in GA4. You will see which traffic source the clickers came from, and you can import it as a conversion into your ad platforms.

What is the difference between wa.me and api.whatsapp.com?

Both forms open the same chat and behave identically. wa.me/<number> is shorter and therefore better for signage, ads and anywhere the link is visible. api.whatsapp.com/send?phone=<number>&text=<text> is the long form of the same thing.

How do I create a WhatsApp QR code?

Two ways. In the WhatsApp Business app go to Settings, Business tools, Short link, where a downloadable QR code is ready. Alternatively you can generate a QR code from any wa.me link you built, which is better when you want a pre-filled message identifying the branch or campaign. Either way, scan the code on a real phone before it goes to print.

Does a WhatsApp link work with WhatsApp Business?

Yes. A wa.me link behaves identically on a personal account, on WhatsApp Business and on a number managed through the API. The difference is not the link but what happens afterwards: a business account has a business profile, automated messages and labels for managing conversations, which is what lets you handle volume without losing leads.