Skip to main content

Clicks, events & analytics data

Every number in Analytics is built from four kinds of records. This page explains what each one is, when it's recorded, and how time is handled, so you can read your reports correctly and know why a number looks the way it does.

Clicks​

A click is recorded whenever someone opens one of your short links. Recording happens alongside the redirect and never delays it; a slow or failed write never costs the user wait time.

Clicks carry dimensions you can break down in Analytics → Breakdowns: country, OS, device, browser, the UTM parameters on the destination, the referrer, plus the link, its channel, and its template. Values that aren't present on a click appear as "Unknown" in breakdowns rather than being dropped.

Bots open links too. Bot clicks are counted inside the total but reported separately (the Clicks card shows "incl. N bot clicks"), so a crawler spike doesn't get mistaken for human traffic.

Installs​

An install is a device seen for the first time. The OptoLink SDK mints a fresh device identifier on every fresh install, so a reinstall shows up as a new install too. The Installs card is labeled "first-seen devices (reinstalls count)".

Matches​

A match is a recorded link between a click and an app open; it's what makes deferred deep linking work. Matched and unmatched attempts, and how much to trust each match, are covered in Attribution & match confidence.

Custom events​

Your app can send its own events through the SDK: purchases, sign-ups, level completions, anything you instrument:

optolink.trackEvent("purchase_completed", { plan: "growth" });

Events are stored under the name you pass, counted per name, and reported in Analytics → Events as a ranked list with shares. They also feed conversions in the template breakdown: an event counts as a conversion for a template when the device that sent it had matched through one of that template's links.

Everything is UTC​

All analytics time buckets are computed in UTC:

  • A "day" runs UTC midnight to UTC midnight, not your local midnight.
  • A "week" starts on Monday (ISO week), UTC.
  • The date-range picker's windows (7/30/90/365 days) and the exact ranges shown under each chart are UTC too.

The practical consequence: activity in an evening timezone lands on the next UTC day. If your local "today" doesn't line up with what the charts show, that's why. Read the exact UTC range printed in each page description to know which window you're looking at.

Freshness and counting details​

  • Reports are read from stored records; recently recorded activity can take a short time to surface, and cached results hold for about a minute.
  • Counts are aggregated per organization. Every role in your org sees the same numbers; analytics is not filtered by role and not gated by plan.
  • Truncated views say so: a breakdown with more rows than shown is titled "Top N of M · N total clicks", and a CSV export contains exactly the rows on screen.