Back to help
11

Analytics and reporting

The account dashboard shows basic and advanced performance data for owned links: total clicks, unique visitors, QR scans, clicks by day and hour, countries, cities, languages, devices, operating systems, browsers, referrers, top referrers, bots separated from people, conversions, and attribution. Unique visitors estimate how many separate people or devices opened the link, while total clicks count every visit. A conversion is a meaningful action after the visit, such as a signup, purchase, lead, or custom event. Reports can be exported as CSV or JSON. Analytics can also be shared through a public or password-protected statistics page when the owner wants to send results to a client or teammate.

Statistics, activity and shared reports

What do the indicators mean?

Indicator — How to read Link click counter — Uses of a link that affect its limit Recorded visits — Detailed records available for analytics Unique visitors — The number of different technical keys of the visitor; this is an estimate, not a number of identified individuals Humans/bots — Classification based on User-Agent characteristics QR scanning — Dynamic QR route calls Conversions — Individual events from a pixel or API Conversion value — The passed numeric value of the event; The service does not automatically determine the currency

General counter, detailed records and QR scans measure different activities. They don't have to match. Don't put them together without understanding the source. Scripts, messenger previews, proxies, disabled trackers, and repeat visits affect the interpretation of the result.

The distributions show countries, cities, browser languages, devices, OS, browsers and sources of link clicks. "No data", unknown code and direct are acceptable: the request may not contain relevant information. Geography and device recognition are not guaranteed to be accurate for VPNs, proxies, and non-standard clients.

The heat map groups the last 30 days of activity by weekday and UTC hour. Conversion attribution also uses a 30-day window: for a recognised visitor, it uses the first recorded source in that window; otherwise, it uses the conversion’s own referrer or direct. This is the report’s technical attribution model, not a complete reconstruction of a person’s journey across devices.

The anomalies section shows the deviations found by the service. The signal requires analysis of the original data and does not prove fraud on its own. Check the period, source, share of bots and your own test visits.

Analytics export

Use CSV or JSON export from the link card. The CSV contains strings of types visit, qr_scan, conversion, time, visit attributes, referrer, event name and value. Null values ​​in columns that are not suitable for the row type are normal. This data is different from the CSV list of links.

Provide access to reports deliberately: referrer and event metadata may contain information about your campaigns and visitors. The service processes network attributes of requests; Don't assume a report is completely anonymous just because a person's name is missing.

General statistics page

In integrations, you can enable a common report page and select open or password-protected mode. For a private report, set a password, save the settings and copy the generated address /stats/{token}. The report password is different from the shortest link password.

Check the address without logging into your account. The recipient sees the provided report, but this link does not give him the right to edit your links. To stop access, disable the shared page. Do not count on automatic expiration of such an address: the current form does not set an expiration date for the general page.

Conversions, webhooks and notifications

Pixel and Conversion API

In the integrations tab, copy the address of the pixel with the token. Place it on the successful completion of the desired action page, and not on all pages of the site. If the Thank You page is reopened, the pixel may record a repeat event: There is no automatic order deduplication.

The pixel returns a 1x1 transparent image. Parameters eventName and value specify the name and numeric value of the event. For example:

<img src="https://clk.ms/api/links/sale-2026/conversions/pixel?token=YOUR_TRACKING_TOKEN&amp;eventName=signup" width="1" height="1" alt="">

Use the real address from your card and your token. The given example with a placeholder does not record the event. A blocker, the target site's security policy, or failure to load the image may prevent recording. A response with an image does not in itself confirm a successful conversion: the pixel returns an image even in some rejected events. Check the entry in the link activity.

For server integration, you can send a JSON event:

POST /api/links/sale-2026/conversions Content-Type: application/json X-Clk-Conversion-Token: YOUR_TRACKING_TOKEN

{"eventName":"purchase","value":149.90,"metadataJson":"{\"orderId\":\"demo-123\"}"}

metadataJson - a string with a valid JSON object, up to 4096 characters, with a depth of up to 16. Do not transmit payment details or secrets. The numerical value is limited to the range −10¹⁵ to 10¹⁵. Check the successful response recorded: true; Validation errors, invalid token, and unreachable link are not recorded events. Requests are limited to 300 per minute per IP and link ID combination.

The conversion token allows events to be sent and is not a commercial API token or report password. Store it according to the integration method; in a pixel it is inevitably visible to the page visitor.

Webhooks

Webhook sends an HTTP POST with JSON to your handler. In the link card → «Integrations», set the event, mode, if necessary, the number of clicks on the link and the HTTPS address, then save.

Event/Mode — When to use click + every_click — Every link click that counts click + exact_click — When the total counter reaches exactly the specified value click + every_nth_click — When the total counter is a multiple of the specified number expired — When processing a terminated link

Example request body:

{"eventType":"click","linkId":123,"shortCode":"sale-2026","useCount":10,"occurredAtUtc":"2026-09-06T12:00:00Z"}

The handler must be accessible via HTTPS from the outside. Local, private and other prohibited network addresses are not suitable. Return successful HTTP status quickly; Do long-term work separately. Do not use automatic opening of someone else's page as a replacement for your own webhook handler.

In the webhooks table you can check the last delivery time, HTTP status and error, temporarily disable the handler or delete it. The counter value applies to the link as a whole: enabling exact_click=3 when there have already been ten clicks on the link does not trigger the event retroactively.

The current protocol does not add an HMAC body signature and does not provide re-delivery settings in the interface. Don't base a critical operation on the assumption of guaranteed delivery exactly once. Take this into account when designing the receiver and match the events with the link data. Webhook click is not a conversion notification.

Notifications to owner

In your profile, you can enable notifications of clicks via email and Telegram, exclusion of bots, and a minimum interval between messages. For Telegram, the chat identifiers and, if necessary, topics available in the form are specified. The bot must be able to send messages to this chat; specifying an arbitrary username does not replace the required identifier.

Save your settings, make one real click on the link and check your receipt. The absence of a message may be due to a minimum interval, a bot filter, a disabled channel, or a problem with an external delivery service. Notifications do not replace the statistics of all link clicks. The routing simulator does not send notifications.

Complete user guide ยท Practical course

How to apply this section

Each topic explains a feature, the user decision behind it, and how to use it without making the link harder to manage. Read the checklist before changing a link that is already shared.

Before you publish or update

  • Start from the visitor experience: who opens the link, from where, on which device, and what should happen next.
  • Check that the destination is correct, opens quickly, and shows the expected page for the intended audience.
  • Choose only the controls that match the goal, such as expiration, password, referrer, QR design, UTM, routing, or analytics sharing.
  • Save a short note for important changes so future review, rollback, or teamwork stays clear.
  • Open the short link in a private browser session and, when relevant, test mobile, desktop, QR scan, and protected access paths.
  • Review analytics after sharing to confirm real visitors, source quality, device mix, and campaign performance.

Practical example

Example: create a test link for an internal page, add a clear slug, set a short expiration, enable preview if the destination is sensitive, scan the QR code from a phone, then check whether the visit appears in the link statistics.

Next step

After this topic is clear, combine it with one adjacent feature. For example, pair UTM with campaigns, QR with print layouts, targeting with fallback, or webhooks with conversion tracking.