> ## Documentation Index
> Fetch the complete documentation index at: https://docs.soneka.africa/llms.txt
> Use this file to discover all available pages before exploring further.

# Link Generator: Trackable WhatsApp Short Links & QR Codes

> Create branded short links that open a pre-filled WhatsApp chat. Count clicks, tag campaigns, download QR codes, and attribute conversations to their source.

## Overview

The **Link Generator** creates trackable WhatsApp links — short links that open a chat with your number and pre-fill a message. You pick a number and a welcome message; Soneka gives you a short link that opens WhatsApp, counts every click, and comes with a QR code. Manage links under **More → Link Generator**.

Use these anywhere you want a one-tap "message us on WhatsApp" entry point: Instagram bios, Google Ads, email signatures, business cards, packaging, and storefronts. Because each link counts clicks and can carry tracking tags, you can see which channel actually drives conversations.

<Info>
  **Works with any setup.** Links produce a standard WhatsApp link, so they work no matter how your number is connected (Unofficial API, official Cloud API, or Twilio).
</Info>

## Create a Link

<Steps>
  <Step title="Open the generator">
    Go to **Link Generator** and click **Create Link**.
  </Step>

  <Step title="Name it">
    Give the link an internal **name** (for your own reference — not shown to customers).
  </Step>

  <Step title="Enter the destination number">
    Enter the destination **country code** and **phone number**.
  </Step>

  <Step title="Welcome message (optional)">
    Write a **welcome message** — the text pre-typed into the customer's chat box.
  </Step>

  <Step title="Short-link ending (optional)">
    Set a custom **short-link ending** (lowercase letters, digits, hyphens). Leave it blank and Soneka picks an 8-character one for you.
  </Step>

  <Step title="Tracking and expiry (optional)">
    Add **tracking tags** (source, medium, campaign) and an **expiry** date.

    <Frame>
      <img src="https://mintcdn.com/soneka-africa/XXyrTGYVNgSvQUD1/images/image-22.png?fit=max&auto=format&n=XXyrTGYVNgSvQUD1&q=85&s=a5c71329fff9c0e3f5a80bf632bd4dce" alt="Image" width="1469" height="136" data-path="images/image-22.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save**. You get the short link, the full WhatsApp link it opens, and a QR code to download.
  </Step>
</Steps>

<Warning>
  **Phone number check.** The country code plus number must be a valid international number — at least 7 and at most 15 digits. A too-short number (which would produce a broken chat link) is rejected on save, so you can't accidentally publish a dead link on a business card or ad. Digits are tidied automatically and the country code gets a leading `+`.
</Warning>

## Link Fields

| Field                                   | Purpose                                                                                                                                                                                                                                                                         |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                                | Your own label — not shown to customers.                                                                                                                                                                                                                                        |
| **Country code + Phone**                | The destination WhatsApp number. Non-digits are removed, the code gets a leading `+`, and the result is checked as a valid international number (7–15 digits).                                                                                                                  |
| **Welcome message**                     | Pre-typed into the customer's chat box when they open the link.                                                                                                                                                                                                                 |
| **Short-link ending**                   | The custom part at the end of the short link. Lowercase letters, digits, and hyphens only. If you leave it blank or pick one that's taken, Soneka generates a unique one (adding a number if needed). Endings are unique across all of Soneka because the short link is public. |
| **Tracking source / medium / campaign** | Tags you record so you can tell channels apart in your reports.                                                                                                                                                                                                                 |
| **Expiry**                              | After this date the short link stops working and shows a "paused or expired" page.                                                                                                                                                                                              |
| **Status**                              | Active or paused. A paused link stops working immediately.                                                                                                                                                                                                                      |

## How the Short Link Works

The short link is public — no login needed — because it's meant to be shared widely. When someone opens it:

<Steps>
  <Step title="Lookup">
    Soneka looks up the link. An unknown link shows a **"not found"** page.
  </Step>

  <Step title="Status check">
    If the link is **paused** or **past its expiry**, the visitor sees a "paused or expired" page.
  </Step>

  <Step title="Count and redirect">
    Otherwise the click count goes up by one, the last-clicked time is updated, and the visitor is sent straight to WhatsApp.
  </Step>
</Steps>

The link opens a standard WhatsApp chat — your number plus the welcome message (`https://wa.me/<number>?text=<message>`) — so it works in every browser and on mobile. Your tracking tags are saved for your reports; they aren't added to the WhatsApp link itself (WhatsApp would ignore them).

## QR Code

<Frame>
  <img src="https://mintcdn.com/soneka-africa/XXyrTGYVNgSvQUD1/images/image-23.png?fit=max&auto=format&n=XXyrTGYVNgSvQUD1&q=85&s=5431538ac7cb434f0833463069774c71" alt="Image" width="1445" height="245" data-path="images/image-23.png" />
</Frame>

* Each saved link comes with a **QR code** you can download and print on packaging, posters, business cards, or table tents.
* Scanning the QR opens the same short link, so the scan flows through the click counter just like a tap — print placements and digital placements are both tracked.

## Click Analytics

* **Per-link clicks:** every open (tap or QR scan) adds to the link's click count and updates its last-clicked time.
* **Workspace totals:** the list page shows total links, active links, and total clicks across the workspace.
* **Attribution:** combine the per-link counts with the tracking tags you set to compare channels — e.g. which campaign or placement drives the most WhatsApp conversations.

## Manage Links

* **Edit:** change the number, message, short-link ending, tracking tags, expiry, or status anytime. Changing the ending re-checks that it's still unique.
* **Pause / resume:** flip the status to stop or restart the link without deleting it. A paused link shows the "paused or expired" page to visitors.
* **Duplicate:** makes a copy with a fresh short-link ending and a **reset click count**, so the copy tracks independently.
* **Delete:** removes the link. Links belong to your workspace; the list shows 20 per page.

<Warning>
  **Ban safety.** A link only opens a chat — the customer still has to tap Send, which keeps you within WhatsApp's opt-in expectations. That's why links are a safer top-of-funnel tool than cold bulk sends. Avoid pairing a link with automation that immediately blasts a number you obtained without consent.
</Warning>

## Troubleshooting

| Symptom                                            | Likely cause & fix                                                                                                                                                     |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Save rejected — "Phone number must be 7–15 digits" | The country code + number isn't a valid international number. Include the country code and enough digits.                                                              |
| Short-link ending got a `-2` (or higher) added     | The ending you chose was already taken. Soneka added a number to keep it unique. Pick a different ending if you want a clean one.                                      |
| Visitors see "This link is paused or expired"      | The link is paused or its expiry date has passed. Resume it or clear/extend the expiry.                                                                                |
| Short link shows "not found"                       | The link doesn't exist (deleted or a typo). Check it in the Link Generator list.                                                                                       |
| Short-link ending won't save                       | Endings allow only lowercase letters, digits, and hyphens (max 64 characters). Remove spaces, capitals, and symbols.                                                   |
| Clicks aren't matching my ad reports               | The click count includes every open — taps and QR scans, including your own while testing. Use tracking tags plus the per-link count together to attribute by channel. |
| WhatsApp opens but the message isn't pre-filled    | The welcome message was blank. Add one and it will appear in the chat box.                                                                                             |
