> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fyno.io/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fyno.io/docs/_mcp/server.

# How to Track URL Clicks in WhatsApp

> Learn how to track URL clicks in WhatsApp messages using Fyno Shorty for templates created either in Fyno or through Meta and other WhatsApp Business Solution Providers (BSPs).

Fyno tracks clicks on WhatsApp **Visit Website** buttons by routing them through [Fyno Shorty](./url-shortener), Fyno's URL shortener. Every click is recorded before the user is sent on to the actual URL.

The setup depends on where you create the WhatsApp template:

* [WhatsApp template created in Fyno](#whatsapp-template-created-in-fyno)
* [WhatsApp template created in Meta or a BSP](#whatsapp-template-created-in-meta-or-a-bsp)

## Choose a tracking type

Whichever way you create the template, you choose one of two URL tracking types.

|                                          | General                                                                             | User-Level                                                                                          |
| ---------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **Tracks clicks at**                     | Notification Event level                                                            | User and channel level                                                                              |
| **Click status in Sent Logs**            | No                                                                                  | Yes                                                                                                 |
| **Engagement funnel chart in Analytics** | No                                                                                  | Yes                                                                                                 |
| **URL engagement chart in Analytics**    | Yes, cumulative number of clicks                                                    | Yes                                                                                                 |
| **Recommended for**                      | Product URLs for Google or Facebook ads, or when you only need the number of clicks | Unique links per user, such as payment links, or when you need the click event at the message level |

## WhatsApp template created in Fyno

#### Create the WhatsApp template

Go to **Templates → External** and create a WhatsApp template. See [External templates](./external-templates).

#### Add a Visit Website button

Add a **Visit Website** button and configure the URL.

![](/docs/_fern-img/95135c67a7e9a461ffee1b1b86edf5d7fbaead0f6fc8747d0296cf031c8fb997.webp)

You can use one of two URL types:

* **Static URL:** Use this when you send the same URL to all your users, such as your website URL.
  1. Add the button text that appears as the CTA in your WhatsApp message.
  2. Provide a valid website URL.
  3. Select the **Track URL** checkbox.
* **Dynamic URL:** Use this when you send different URLs to different users, such as payment links.
  1. Turn on the **Dynamic URL** toggle.
  2. Add the button text that appears as the CTA in your WhatsApp message.
  3. Provide a valid website URL.
  4. Select the **Track URL** checkbox.

#### Submit for approval

Click **Save** and send the template to Meta for approval.

#### Use the template in a Fyno template

Once the template is approved, go to **Templates → Fyno** and create a template with the **WhatsApp** channel. Choose **Template** as the **Message Type** and select the approved template in **External Template Name / ID**.

#### Set the button URL

In the buttons section, add the placeholder you want to track if you added a dynamic URL. If you added a static URL, you don't have to do anything.

![](/docs/_fern-img/d0030110f8bb77fed5d35782217eb421f28cc082d9fa130b450bd93384b44006.webp)

#### Define the placeholder

Add the same placeholder in the **Placeholders** section in the left panel of the template editor. You can also combine static text and dynamic placeholders, as shown below.

![](/docs/_fern-img/d7607fa56e5845dc4eb1a604227d245b292af76d7dd3215f985f6fa2d9f4f08e.webp)

#### Choose the tracking type

Select **General** or **User-Level**. See [Choose a tracking type](#choose-a-tracking-type).

## WhatsApp template created in Meta or a BSP

> **Warning**
>
> To track URL clicks on a template created outside Fyno, the button must use the **Dynamic** URL type.

Follow these steps if you create the WhatsApp template in Meta or a service provider such as Kaleyra or Gupshup.

#### Create the template

Create a WhatsApp template in Meta or your BSP.

#### Add a Visit Website button with a dynamic URL

Add **Visit Website** as the type of action and configure it as follows:

| Setting         | Value                                                     |
| --------------- | --------------------------------------------------------- |
| **Button text** | The text that appears as the CTA in your WhatsApp message |
| **URL type**    | Dynamic                                                   |
| **Website URL** | `https://fy1.in`                                          |
| **Sample URL**  | `https://fy1.in`                                          |

![](/docs/_fern-img/a3395adf67163bed38c28451423075f56160b187210c60a66b4063b21fdee170.webp)

#### Sync the approved template

Once the template is approved, go to **Templates → External** in Fyno and click the **Sync** icon next to WhatsApp. This syncs the template you created in your BSP to Fyno.

#### Use the template in a Fyno template

Go to **Templates → Fyno** and create a template with the **WhatsApp** channel. Choose **Template** as the **Message Type** and select the synced template in **External Template Name / ID**.

#### Set the button URL

In the buttons section, add the placeholder you want to track.

![](/docs/_fern-img/d0030110f8bb77fed5d35782217eb421f28cc082d9fa130b450bd93384b44006.webp)

#### Define the placeholder

Add the same placeholder in the **Placeholders** section in the left panel of the template editor. You can also combine static text and dynamic placeholders, as shown below.

![](/docs/_fern-img/d7607fa56e5845dc4eb1a604227d245b292af76d7dd3215f985f6fa2d9f4f08e.webp)

#### Choose the tracking type

Select **General** or **User-Level**. See [Choose a tracking type](#choose-a-tracking-type).

## Related

#### [Fyno Shorty](./url-shortener)

Shorten URLs and configure click tracking.

#### [WhatsApp Template](./whatsapp-template-message)

Configure buttons, dynamic URLs and multiple Shorty links.