📣 WhatsApp Broadcasts

Track Clicks & Link Performance in WhatsApp Broadcasts

Delivered and read tell you it arrived. Clicks tell you someone chose to act — here's how to set tracking up, and what the number can't do.

Click tracking is the practice of replacing the link in your broadcast's button with a unique, per-person link that passes through ConvoFly first, so that when a customer taps it ConvoFly can record that specific contact clicked before sending them on to your store. Delivery and read receipts only tell you a message arrived. A click is the first signal in the funnel that a person actually chose to act.

It is not automatic. Click tracking needs two things set up: a message template whose website button points at ConvoFly's redirect address, and the "Track clicks on this button" box ticked in the broadcast composer. Set both up once and every broadcast that uses that template can report clicks; miss either and your Clicked count stays at zero.

This guide covers how the tracked link works, the exact setup steps, what ConvoFly reports (a per-recipient click, shown as one whole-number Clicked card), what it deliberately does not report, and how to use the result.

How a tracked link actually works

A WhatsApp message template can have a website button whose URL ends in a variable — Meta calls these dynamic URL buttons, and the variable is filled in per recipient at the moment of sending (Meta, message template guidelines). ConvoFly uses that variable as the place to put a tracking code.

The sequence, for one customer, is four steps:

  1. When the broadcast is queued, ConvoFly generates a short random code that is unique to that one recipient and stores it against their row in the campaign.
  2. At send time, that code is passed to WhatsApp as the button's URL variable, so the button in their copy of the message points at your ConvoFly address followed by /r/ and their code.
  3. The customer taps the button. ConvoFly receives the code, stamps the time of the click on that contact's row in the campaign, and immediately redirects the browser onward.
  4. The customer's phone opens your destination page. From their side there is no interstitial, no warning, and nothing to agree to — the hop is one automatic redirect that takes milliseconds.

Because the code is per recipient rather than per campaign, the click is attributed to a named contact, not just added to a pile. That is the whole reason for the extra hop.

Setting up the template (do this once)

The tracked link cannot be bolted on to an existing plain button — WhatsApp templates are fixed once approved, so the button URL has to be built for tracking from the start. Create the template with a website button whose URL is your ConvoFly redirect address with a variable on the end. The composer shows you the exact address to use in a hint line under the checkbox, so you can copy it rather than guess it: it is your ConvoFly web address, then /r/, then the variable placeholder.

  1. Create a new message template with a website button (see adding media, buttons and offers).
  2. Set the button's URL type to the dynamic option — the one that lets the last part of the address change per person.
  3. Paste the redirect address shown in the composer's hint as the fixed part of the URL, leaving the variable at the end.
  4. Submit the template for approval and wait for Meta to approve it. Approval is usually quick in practice, but Meta does not publish a guaranteed turnaround, so build this the day before a campaign rather than an hour before.

One approved tracking template can be reused for every campaign that uses the same button wording — you do not repeat this step per broadcast.

Turning tracking on for a broadcast

  1. Create your broadcast and choose the template with the tracked button.
  2. In the button settings, tick "Track clicks on this button".
  3. A field appears labelled "Destination URL, e.g. https://shop.com/sale". Type the real page you want people to land on — your sale collection, a product, a booking form.
  4. Finish choosing your audience and send. If you leave the destination blank the composer refuses to send and shows "Enter the destination URL for the tracked button."

The destination lives in the broadcast, not in the template. That is deliberately useful: the same approved template can point at this week's sale and next week's new arrivals without a new Meta approval each time.

Send yourself a test message and tap the button before you launch to the full list. A broken destination discovered after 2,000 sends cannot be recalled.

What ConvoFly reports — and what it does not

Being precise here matters, because click tracking is the metric people most often assume does more than it does. On the broadcast's detail page you get a single stat card labelled Clicked, showing a whole number.

QuestionAnswer
Is the click recorded against a named contact?Yes — the code is unique per recipient, so the click is stored on that person's row in the campaign.
Does the Clicked card show a percentage?No. It is a raw count. Divide it by your delivered count yourself.
Are repeat taps counted?No. Only the first click is stamped. A contact who taps five times counts as one.
Do clicks appear in the CSV export?No. The export covers delivery outcomes, not clicks.
Do clicks appear on the per-recipient list?No. That table shows phone, status, delivery, reason, tries, sent and replied.
Can I build a segment of "people who clicked"?No. Clicks are not a segment filter.
Can I re-target the "clicked" outcome?No. Re-target works on the five delivery/reply outcomes, not on clicks.
How many buttons can be tracked?One per broadcast. If you tick the box on two buttons, only the first is tracked.

So treat the Clicked number as a campaign-level scoreboard you read on the broadcast page, not as a data source you can pipe into your next audience. If your plan depends on automatically re-messaging everyone who clicked, that plan does not work today — say so to yourself now rather than discovering it after the send.

Working out your click rate by hand

Because ConvoFly does not calculate the percentage, do it from two numbers on the same page. Use delivered as the denominator, not sent and not read:

A worked example: a broadcast to 1,000 contacts shows 940 delivered and 87 clicked. Your click rate is 87 ÷ 940 = 9.3%. Record that number somewhere. Its only real value is as a baseline for the next campaign — a single click rate in isolation tells you almost nothing, while the same offer moving from 9.3% to 4.1% tells you a great deal.

Reading a click rate honestly

Why a click can go missing

Four situations produce a click that never appears in your count, and none of them are bugs:

If an unknown or expired code reaches the redirect, ConvoFly sends the visitor to WhatsApp's own address rather than showing them an error page — a customer never lands on a broken screen because of a tracking problem.

Clicks versus reads versus replies

These three numbers sit side by side on the broadcast page and mean genuinely different things. Confusing them is the most common reporting mistake.

SignalWho reports itReliable?What it proves
DeliveredWhatsAppYesThe message reached a device. Nothing about a human.
ReadWhatsApp, only if the recipient allows itUndercountsSomeone opened the chat. Absence proves nothing.
ClickedConvoFly, via the redirectAccurate but first-tap-onlyA person deliberately chose to leave WhatsApp for your page.
RepliedConvoFly, from the conversationAccurateA person typed something back — the strongest intent signal of the four.

Clicks and replies are the two that indicate a decision. Reads and deliveries indicate arrival. When you report a campaign to yourself, lead with the decision numbers.

What clicking does to your costs and limits

A click costs you nothing directly. Under Meta's per-message pricing you are charged when a template message is delivered, so your bill is set before anyone taps anything (Meta, WhatsApp pricing). Rates vary by country and Meta publishes them in downloadable rate cards rather than inline, so check that page for your market.

A click also does not open a customer service window — only an inbound message from the customer does that. A reply is therefore worth more than a click in a very literal sense: it opens 24 hours in which your non-template messages are free and do not count against your messaging limit. If your offer can plausibly end in a question rather than a link, that is often the better commercial choice.

What to do with the people who clicked

Since clicks are not exposed as a segment or a re-target outcome, act on them in one of three practical ways:

  1. Let your website do the work. The click lands on your store, so your existing site tools — abandoned-cart emails, on-site offers — pick the visitor up from there. Add your own campaign parameters to the destination URL if you want to see the traffic separately in your web analytics.
  2. Use replies as the actionable signal instead. A campaign whose call to action is "reply YES" produces an outcome you can re-target: choose the Replied outcome, and optionally narrow it with the "Only if their reply contains" word list. See retargeting by outcome.
  3. Chase the non-responders on delivery outcomes. The people who did not engage are reachable with the Didn't reply outcome — the walkthrough is in following up with people who didn't reply.

A realistic campaign example

A clothing store sends a sale announcement to a 1,200-person segment of customers who bought in the last 6 months. The report shows 1,150 delivered, 640 read, 96 clicked and 41 replied.

Read honestly: the click rate is 96 ÷ 1,150 = 8.3%. The read figure of 640 is a floor, not a fact — the true number of people who saw it is higher by an unknown amount, so no conclusion should rest on it. The 41 replies are the genuinely valuable asset, because they are both a strong intent signal and the only outcome the store can turn straight into a second, sharper broadcast.

The follow-up therefore writes itself: re-target the 41 repliers with the specific product they asked about, and separately nudge the non-repliers with a different angle. The 96 clickers are handled by the store's own website, which is where they already are.

Frequently asked questions

Can I see which specific contacts clicked my broadcast link?

The click is recorded against an individual contact, because each recipient gets a unique tracking code in their button URL. But ConvoFly surfaces it as a single 'Clicked' count on the broadcast page — clicks are not shown on the per-recipient list, are not in the CSV export, and cannot be used as a segment filter or a Re-target outcome.

Does click tracking change the link my customer sees?

The button passes through ConvoFly's /r/ redirect and then lands on the destination you typed. It is one automatic redirect taking milliseconds, with no interstitial page and nothing for the customer to agree to.

Why does my broadcast show 0 clicks?

Three usual causes: the 'Track clicks on this button' box was not ticked, the template's website button is a fixed URL with no variable at the end so there is nowhere to put the tracking code, or nobody tapped. Only one button per broadcast can be tracked.

Does ConvoFly calculate my click-through rate?

No — the Clicked card is a raw whole number. Work the rate out yourself using delivered as the denominator: 87 clicks on 940 delivered is 9.3%. Don't use read as the denominator, because recipients can switch read receipts off and that would inflate the figure.

Do repeat clicks from the same person count twice?

No. Only the first tap is recorded, so a contact who opens the link five times counts as one click. The measure is 'did this person click', not 'how many times'.

Need help? Message us