wa.me Links: How to Set Up WhatsApp Click to Chat Correctly
AndySendy academy
← All posts

🔗 wa.me: Build a WhatsApp Link That Won't Break

"Just paste the number after wa.me" - and half the site buttons throw "Invalid phone number." It's not WhatsApp - it's the format: extra plus, bracket, or unencoded text breaks the link faster than you'd think. Working formats, encoding rules, and where this simple link affects conversion and ban risk.

After this article you'll build Click to Chat links without errors and know which format fits site, email signature, and QR.


Before / After: what the topic gets wrong

Before: wa.me/14155551234 and api.whatsapp.com/send/?phone=... are two equal options; any ?text= value works as typed.

After: wa.me is the modern recommended format; api.whatsapp.com/send is older, usually works the same but isn't primary. ?text= must be URL-encoded - spaces, non-Latin scripts, and special chars break the link otherwise. Key point: clicking the link doesn't send a message - it opens chat and prefills the input; the user taps Send manually.


All working link formats

Format When to use Note
wa.me/<number> Basic site button Modern recommended domain
wa.me/<number>?text=<text> Prefilled message Text must be URL-encoded
api.whatsapp.com/send/?phone=<number>&text=<text> Old in-app browsers, WebView Formally legacy; some WebViews (Instagram, Telegram) reportedly handle it more reliably - practitioner observation, not official Meta
wa.me/?text=<text> Share without a number User picks contact to forward text to

On mobile both domains work as deeplinks and open the app. On desktop an intermediate page appears first, then WhatsApp Web or desktop app.


Number and text rules

Number in international format without +, spaces, brackets, or dashes: 14155551234, not +1 (415) 555-1234. Wrong format - common "Invalid phone number" on some Android/iOS builds.

?text= must be URL-encoded: space → %20, ?%3F, non-ASCII → percent escapes. Unencoded copy with punctuation won't open correctly or gets truncated.

Practitioners report stable opens up to 2000–4000 encoded characters, but 150–200 is sensible for phone screen readability and editing before send.


Why a click isn't a message

The link only prefills the input on the client's device. The user must tap Send for the message to go. Click and real inquiry are different events with drop-off between.

Benchmarks: mobile click-to-send conversion ~60–85%; desktop ~25–40% due to intermediate screen and WhatsApp Web auth. Forum estimates, not official Meta stats - no built-in Meta funnel for click → chat open → send.


Mini-case: lead attribution via different texts

Interior design studio placed three WhatsApp buttons with different prefilled copy: header - consultation request; under cost calculator - phrase tied to calc params; contacts page - office visit wording. Managers saw from the inbound text which site block and readiness level.

Inbound handling speed rose 35% - sales didn't manually probe context first. One practice case, not guaranteed everywhere - but different links per entry point transfers easily. Overlaps inbound auto-funnel logic.

Different ?text= - free lead attribution without CRM integration.


Antispam and risks: fact vs assumption

Inbound dialog user started via wa.me is the "whitest" outreach type in practice - company doesn't message first. Sometimes cited as sharply lower ban risk - industry observation, not documented Meta position; no public Quality Rating impact numbers. See Meta antispam.

Flip side: when user messages you first, WhatsApp shows Add contact, Block, Report. Aggressive prefilled ad copy can still trigger reports - inbound format doesn't shield bad text. Overlaps report metrics.


WABA specifics

If wa.me points to official WhatsApp Business API number, first inbound opens free 24-hour Customer Service Window - free-form replies without templates or per-message template charges during that window.


Pitfalls: in-app browsers

Some blogs say wa.me fully replaced api.whatsapp.com. Counter-observation: in some legacy WebViews (Instagram, Telegram in-app browser) short domain is flaky; full api.whatsapp.com/send/ may be more reliable. No open-doc explanation - test both if a specific WebView fails.

In regions with connectivity quirks, wa.me intermediate page may lose styles or fail on desktop. Practitioner fix - own redirector: mobile → whatsapp://, desktop → web.whatsapp.com, skipping the intermediate page.


🎯 Next step

Audit site WhatsApp buttons: international number no plus/brackets, URL-encoded text, different prefilled messages per site block for attribution.

Conclusion

Practical rule:

Link opens chat, human sends message - two different events; confusing them in analytics costs more than it seems.