← all posts
The Zippy Team

WhatsApp Deep Links: wa.me, Explained Properly

WhatsApp deep links explained: how wa.me works, pre-filled messages, group invites, and 3 reasons your links break inside other apps.

whatsapp deep linkswa.medeeplinkswhatsapp marketingconversion
Zippy the mascot sprinting out of a phone screen carrying a giant green WhatsApp chat bubble.
Zippy, the lightning-bolt mascot

Zippy: wa.me. two syllables. still manages to go wrong in four different ways.

WhatsApp deep links are URLs that open a conversation directly in the WhatsApp app instead of a webpage. The official format is wa.me followed by a full international phone number — for example, wa.me/15551234567 — with an optional pre-filled message. Done right, one tap takes a user from your post straight into a chat with you.

What is a WhatsApp deep link?

A WhatsApp deep link is a URL that skips the web entirely and lands the user inside the WhatsApp app, in a specific chat. Instead of "visit my site, find the contact page, copy my number, open WhatsApp, paste" — the link is the conversation. Tap, chat open, cursor blinking.

That matters because WhatsApp is where the highest-intent conversations happen: order questions, booking requests, "is this still available?" messages. Every step you remove between the tap and the chat is a buyer you keep. If deep links in general are new to you, start with what a deep link actually is and how apps claim URLs — the WhatsApp version below builds on it.

How does wa.me actually work?

wa.me is WhatsApp's official click-to-chat domain: wa.me/ plus the phone number in full international format. When the link is opened on a phone with WhatsApp installed, WhatsApp claims the URL and opens a chat with that number. No app installed? It falls back to a web page (WhatsApp Web on desktop).

The number formatting rules trip up more people than anything else:

  • Full international format — country code first, then the number.
  • Digits only — no +, no leading zeros, no brackets, no dashes, no spaces.
  • An Israeli number like +972 50-123-4567 becomes wa.me/972501234567. A US number like +1 (555) 123-4567 becomes wa.me/15551234567.

Get the format wrong and WhatsApp either opens a chat with nobody or shows an "invalid link" page. There's no error report, no bounce notification — the lead just evaporates.

Zippy, the lightning-bolt mascot

Zippy: the number of "why is my whatsapp link broken" posts that are just a leading zero is genuinely humbling.

How do I pre-fill a message with a wa.me link?

Add ?text= to the link with a URL-encoded message: wa.me/15551234567?text=Hi%2C%20I%27m%20interested%20in%20the%20summer%20collection. When the chat opens, the message is already sitting in the input box — the user just hits send.

This is the single highest-leverage trick in WhatsApp marketing, for two reasons:

  1. It kills the blank-box problem. An empty chat makes people freeze. A pre-filled "Hi, I saw your post about X" gets sent.
  2. It's free attribution. Give each campaign a different pre-filled message and you know exactly which post every incoming chat came from — no pixel required.

Two rules: the text must be URL-encoded (spaces become %20, and so on — any URL-encoder tool does this), and keep it short. A pre-filled paragraph reads as spam and gets deleted before sending.

You can also drop the number entirely: wa.me/?text=Check%20this%20out opens WhatsApp's contact picker so the user chooses who to send your message to. That's a share link, not a contact link — great for referral mechanics.

Which WhatsApp link format should I use?

Use wa.me for chats and chat.whatsapp.com invite links for groups. Here's the full menu:

FormatWhat it doesUse it for
wa.me/<number>Opens a chat with that number"Message us" CTAs, bios, ads
wa.me/<number>?text=...Opens the chat with a pre-filled messageCampaign links with built-in attribution
wa.me/?text=...Opens the contact picker with a pre-filled message"Share with a friend" referral links
chat.whatsapp.com/<code>Opens a group inviteCommunity and group onboarding
api.whatsapp.com/send?phone=...Same as wa.me, older long formNothing — wa.me is shorter and official

One warning on group invites: the invite code is a live credential. Anyone with the link can join, and admins can revoke a code — which kills every copy of that link you've ever posted, everywhere, at once.

Why do WhatsApp links break inside Instagram and TikTok?

Because your wa.me link almost never gets tapped in a real browser — it gets tapped inside another app's in-app browser, and that's where deep links go to die. When someone taps your WhatsApp link in an Instagram story or a TikTok bio, it opens inside that app's embedded webview, and three things go wrong:

  1. The interstitial strands them. wa.me shows a "Continue to Chat" page, and inside a webview the button's attempt to open the app can be blocked or silently ignored. The user stares at a green button that does nothing.
  2. The fallback misfires. Instead of opening the app, the webview may route to WhatsApp Web — which asks the user to scan a QR code with their phone. On their phone. That has WhatsApp installed.
  3. The tap is invisible. Even when it works, you learn nothing — no click count, no geo, no platform breakdown. You're running campaigns blind.

This isn't a WhatsApp bug; it's how embedded webviews treat every app-opening link. The full autopsy is in why links die in the in-app browser, and the same failure hits Instagram deep links and TikTok deep links in their own platform-specific ways.

Zippy, the lightning-bolt mascot

Zippy: "scan this qr code with your phone" said the phone. incredible stuff.

How do I make WhatsApp links open the native app every time?

Route the tap through a redirect that detects the device and fires the right escape for it — that's exactly what a Zippy link does. On iOS it uses the app's URL scheme with a timed fallback to the web if the app doesn't answer; on Android it uses intent:// URLs, which carry a native fallback built in. Either way the failure mode is graceful: worst case the user gets the normal web page, never a dead link.

You can build this yourself — the detection, both platform paths, the fallback timing, and the maintenance when a platform changes behavior. The whole redirect engine is open source under AGPL if you want to read or self-host it. Or you paste your wa.me link into Zippy and get a short link that:

  • Opens native WhatsApp from inside Instagram, TikTok, LinkedIn, X, and the rest — backed by the Actually-Opens Guarantee (a link opens the in-app browser on a supported platform, we refund your month).
  • Shows you every click — geo, device, platform, referrer, time — on Hero ($19/mo, or $180/yr which works out to a flat $15/mo).
  • Stays editable after posting. Number changed? Group invite revoked? Edit the destination; every printed QR code and old post keeps working.
  • Never stops redirecting. Not on the free plan, not after a trial, not after cancellation. Links are permanent, and clicks are never metered.

The free Sidekick plan (5 active links, forever) covers a bio link and a couple of campaigns. The 14-day Hero trial needs no credit card and soft-downgrades to free.

FAQ

What is the wa.me link format?

wa.me/ followed by the phone number in full international format, digits only: country code first, no plus sign, no leading zeros, no dashes or brackets. Add ?text= with a URL-encoded message to pre-fill the chat input. Example: wa.me/15551234567?text=Hi%20there.

Do WhatsApp deep links work if WhatsApp isn't installed?

They degrade instead of breaking. On desktop, wa.me routes to WhatsApp Web; on a phone without the app, the user lands on a web page prompting them to install. A well-built redirect (like a Zippy link) makes that fallback deliberate: try the app first, fall back to the web only when the app genuinely isn't there.

Can I track clicks on a wa.me link?

Not with the raw link — wa.me gives you zero analytics. The standard fix is a redirect link in front of it. Zippy's Hero plan shows geo, device, platform, referrer, and time for every click, with clicks never metered. The pre-filled ?text= message adds a second layer: per-campaign attribution inside the chat itself.

Why does my WhatsApp link open a browser instead of the app?

Almost always because it was tapped inside another app's in-app browser, which blocks or fumbles the app handoff. Wrong number formatting causes the rest. A platform-aware redirect that fires the iOS scheme or Android intent escape — with a timed web fallback — is the reliable fix.

Stop losing WhatsApp chats to a browser nobody asked for — make your links open the app at zipthe.link.