Home/Help Center/Click tracking

Broadcasts

Track Link Clicks in WhatsApp Broadcasts

See exactly who clicked a link in a broadcast, with a per-recipient signed tracking link that excludes bots and previewers so the click rate actually means intent.

By Chirag Darji · Updated 27 Aug 2026 · 7 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. How does a tracked link actually work, and what protects a recipient's privacy?
  5. What counts as a click, and what is deliberately excluded?
  6. How does a WhatsApp quick-reply button's click end up in the same count as a link tap?
  7. Settings and options
  8. Troubleshooting
  9. Related reading
WhatsApp broadcast campaign report in VGraple CRM with delivered, read and replied stats per contact

Click tracking gives every recipient of a broadcast their own signed, private link that redirects to your chosen destination, so a click can be attributed to exactly one recipient of one campaign without exposing any of their data in the URL. This article covers how to set it up, how a click is counted, and what is deliberately excluded from the count.

Click tracking

  1. 1Enter the destination URL on the Message
  2. 2Map a template variable to "Tracked link."
  3. 3Send the campaign as normal
  4. 4Check click activity on the campaign detail
  5. 5Act on clickers
The steps on this page, in order.

Before you start

  • You need a template with either a variable in a website URL button, or a body variable you plan to map to "Tracked link."
  • Decide the destination page before building the campaign; it applies to the whole campaign and cannot be set per recipient.
  • No special plan or permission is required beyond the standard broadcast permissions; click tracking runs on every plan.

Steps

  1. Enter the destination URL on the Message step. Under Track clicks to, type the page you want recipients to land on, for example https://example.com/offer.

New broadcast composer in VGraple CRM: audience selection with segment, tag and CSV options and a live recipient count

  1. Map a template variable to "Tracked link." In the Personalization panel, find the variable that should carry the link (a body variable, or the variable inside a URL button) and set its source to Tracked link. It only appears as an option once the destination URL field has a value.

  2. Send the campaign as normal. No further setup is required; each recipient's message is built with their own unique tracked link, resolved automatically at send time.

  3. Check click activity on the campaign detail page. A Clicked stat tile appears once at least one click is recorded, showing the count and rate against sent recipients. The Clicked filter tab on the recipient table shows exactly who has clicked.

  4. Act on clickers. Once the campaign has recorded clicks, use Retarget, Tag clickers on the action bar to build a follow-up audience from exactly this highest-intent group. See retry failed vs retarget.

What you will see

Recipients who click show up under the Clicked filter tab and contribute to the Clicked stat tile's count and percentage. The underlying link a recipient sees in WhatsApp is a VGraple CRM redirect URL containing an opaque token, not your destination URL directly; tapping it redirects them to your real destination immediately and invisibly.

Each recipient of a campaign that uses click tracking gets a unique token built from their broadcast-recipient row id and a cryptographic signature, so the link resolves to exactly one recipient of one campaign and nothing else. No contact data, name, phone, or email, ever appears in the URL itself; the token is opaque and meaningless without the server-side signature check. If anyone tries to guess or edit a token, the signature check fails using a constant-time comparison (so even the time the check takes cannot leak information about a valid signature), and the link simply does not resolve, rather than falling through to a default page.

The destination itself is fixed at the moment you compose the campaign and stored against the campaign, not the individual link, so there is no way for the link to be redirected somewhere else after the message has already been sent. Only the first click from each recipient counts toward the campaign's click total, specifically so a person opening the same link multiple times cannot push the click rate past 100% of accepted sends, a number that would undermine trust in every other statistic on the page the moment someone noticed it.

What counts as a click, and what is deliberately excluded?

A click is counted from three sources: a person tapping the tracked redirect link, a person pressing a WhatsApp quick-reply button on a template that has one, and Meta's own click webhooks from the Marketing Messages API. All three merge into the same underlying record, so the Clicked count and rate reflect real interaction regardless of which mechanism the template used.

Automated traffic is explicitly excluded. WhatsApp itself, along with most messaging apps and many browsers, automatically fetches a link before a human ever taps it, in order to generate a preview card. Link scanners, security crawlers and bot user agents do the same. VGraple CRM recognizes this traffic by its user agent and does not count it, so a campaign's click rate reflects people who actually chose to open the link, not the automated fetch that happens the instant the message arrives.

How does a WhatsApp quick-reply button's click end up in the same count as a link tap?

A template can offer a recipient two very different ways to act on a broadcast: tapping a variable website link, or pressing a quick-reply button that stays entirely inside WhatsApp. Both are genuine expressions of interest, so VGraple CRM merges both into the same underlying click record rather than tracking them as two separate, disconnected metrics that a marketer would have to add up by hand. Meta's own click webhooks from the Marketing Messages API, when that endpoint is in use, feed into the identical store as well, so switching between a standard send and optimised marketing delivery does not change how clicks are counted or where they show up. The result is one Clicked stat tile and one Clicked filter tab that always reflect the full picture of who engaged, regardless of which specific mechanism the template offered them.

Settings and options

SettingWhat it doesNotes
Track clicks toThe destination URL every recipient's tracked link redirects toSet once for the whole campaign
Tracked link (variable source)Maps a template variable to a per-recipient signed linkAvailable in the Personalization panel once a destination URL is set
Clicked stat tileShows total distinct clickers and click rate against sentAppears once at least one click is recorded
Tag clickers (Retarget)Builds a tag from everyone who clickedOnly shown once the campaign has recorded at least one click

Troubleshooting

SymptomLikely causeFix
No "Tracked link" option in the variable source dropdownThe "Track clicks to" URL field is emptyEnter a destination URL first; the option appears once it has a value
Click count seems lower than expected engagementAutomated previews and bot traffic are deliberately excluded, and repeat clicks from one recipient only count onceExpected behavior; the number reflects distinct human clicks, not raw link fetches
Clicked filter tab is missing entirelyThe campaign has recorded zero clicks so far, or click tracking was not set up for this templateCheck that a Tracked link variable was actually mapped when the campaign was built
Tag clickers option missing from RetargetSame as above, zero clicks recorded yet for this campaignWait for clicks to come in, or confirm click tracking was configured before sending
A URL button with a fixed link (no variable) shows no trackingOnly variable URL buttons and body variables mapped to Tracked link can carry a per-recipient tokenUse a template with a variable in the button link, or track via a body variable instead

Pair click tracking with seeing revenue per broadcast to connect a click all the way through to a sale, and see mapping template variables and fallbacks for the full mechanics of the Personalization panel this setting lives in.

Frequently asked questions

Does click tracking work with any link in my template?
It works when the template has a variable in a website URL button, or a variable in the message body that you map to "Tracked link." A fixed, non-variable URL button (no {{n}} in it) cannot carry a per-recipient token and is not tracked.
Does the recipient's phone number or name appear anywhere in the tracked link?
No. The link contains only an opaque, signed token that resolves internally to one recipient of one campaign; nothing about the contact is visible in the URL itself.
What stops someone from editing the link to see other recipients' data?
The token is verified with a constant-time HMAC signature check before it resolves to anything. A tampered or guessed token simply fails to resolve rather than revealing another recipient's information or destination.
Does opening a link twice count as two clicks?
No, only the first click per recipient increments the campaign's click count and the click rate. A recipient opening the same link five times still counts once, so the click rate can never exceed 100% of accepted sends.
Do WhatsApp's own link previews get counted as clicks?
No. WhatsApp, and other messaging apps, automatically fetch a link to generate a preview before a person ever taps it; VGraple CRM recognizes and excludes this automated traffic, along with bots, crawlers and scanners, so the click count reflects real human clicks.
Does a WhatsApp quick-reply button press count as a click?
Yes, when applicable. Quick-reply button presses and Meta's Marketing Messages API click webhooks both merge into the same click record as URL redirects, so the click count and rate reflect all forms of interaction the template offers, not just link taps.
Can I choose which page a recipient lands on after clicking?
Yes, you set the destination URL once for the whole campaign under "Track clicks to" on the Message step. The destination is fixed at compose time and cannot be changed by anyone after the fact, including through the tracked link itself.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.