Skip to main content

Analytics

Analytics is where you read your traffic. Open Analytics in the sidebar and you get three tabs: Overview, Breakdowns, and Events. Everything is read-only, and every org role (including viewers) sees all of it. No plan gates anything on these pages.

This page covers using the reports: filters, reading the charts, and exporting. For what the numbers mean, see Attribution & match confidence and Clicks, events & analytics data.

Pick a date range​

Every tab shows 7d / 30d / 90d / 365d pills in the top-right corner. The default is 30 days.

  • The range is part of the URL (?range=30d), so you can bookmark or share an exact view.
  • Switching tabs keeps your range.
  • Each page shows the exact window in its description, e.g. "last 30 days (Aug 23 – Sep 22, 2026)". Windows are in UTC, not your local timezone; the label tells you the precise dates.

Overview tab​

The Overview tab answers "how much traffic, and where is it going?" in one screen.

Read the KPI cards​

Five cards sit across the top:

CardNumberSubtext
ClicksShort-link opens in the window"incl. N bot clicks"
InstallsDevices seen for the first time (reinstalls count)"first-seen devices (reinstalls count)"
MatchesClicks linked to an app open"N unmatched"
Matched RateShare of match attempts that matched"% of N match attempts"
Active UsersDistinct active users in the windownamed · anonymous split

Read the delta chips​

Each card carries a chip like "▲ 12% vs prev 30 days" comparing the selected window to the equal-length window before it. Special cases:

  • Previous period was 0 and current is above 0 → the chip reads New.
  • Current period is 0 and previous was above 0 → ▼ -100%.
  • Both periods are 0 → —.

If the comparison can't be computed, chips are hidden and the cards stay up.

Read the charts​

  • Clicks & matches plots both series over the window. The Daily / Weekly toggle also applies to the Active Users chart below; the choice is shared and saved in the URL (?bucket=).
  • Attribution funnel shows four stages: Clicks → Matches → Devices → Identified users, each labeled with a count and "% of clicks". A "↑ vs previous" marker appears where a stage is larger than the one before it.
  • Match confidence splits matches into trust tiers, ordered exact → high → medium → low → none. It only renders when at least one tier has data. What each tier means is explained in Attribution & match confidence.
  • Active users trend stacks named and anonymous users over the window.
  • Top links lists your 5 most-clicked links; clicking a row opens that link's detail page. Top countries shows the 5 highest-click countries as bars with count and share.

Empty state​

If the window has no clicks, installs, or matches, you get one card: "No analytics yet / No clicks or matches recorded in this period. / Create a link, share it, and analytics will appear here."

Break down clicks by dimension​

The Breakdowns tab slices every click in the window by one dimension at a time. Pick one from the Break down by select:

Country · OS · Device · Browser · UTM Source · UTM Medium · UTM Campaign · Referrer · Channel · Link · Template

Your choice is saved in the URL (?by=country) and survives refreshes and tab switches. The tab shows:

  1. A horizontal bar chart of the top 10 values. The chart title appends "· top 10" when more values exist. Missing values render as "Unknown".
  2. A full table below. Generic dimensions show Key / Clicks / Share. When there are more rows than the table fetched, the title says "Top N of M · N total clicks" instead of "All rows (N total clicks)" so you always know if you're seeing a slice.
  3. An Export CSV button.

Rows with no value in that dimension appear as "Unknown" — they are counted, not dropped.

The template dimension​

Choosing Template swaps in a wider table: Template / Channel / Links / Clicks / Matches / Conversions. There is one row per template, including templates with no clicks in the window. Conversions are events recorded by devices that matched through that template's links.

A row can be highlighted with a ◆ marker when the URL carries ?focus=<templateId>. Nothing in the portal sets that parameter today, so you'll only see it on hand-built or shared URLs. Only clicks on templated links are counted here; clicks on links without a template belong to no row.

If you have an old bookmark to /analytics/templates, it now lands here with the Template dimension pre-selected.

Events tab​

The Events tab lists your app's custom events by name: a bar chart plus an All events (N total) table with Event name / Count / Share %. The share is calculated against all events in the window, so under truncation the column may sum to less than 100%.

Export with Export CSV.

If nothing appears yet, the empty state shows how to send your first event from the SDK:

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

Instrumentation details live in the SDK docs.

Export to CSV​

Every table on every tab has an Export CSV button next to it. Two things to know:

  • The file contains exactly the rows shown, after any top-N truncation. If a breakdown has 40 values, the CSV holds the fetched 20; don't reconcile its sums against the Overview totals.
  • The filename encodes the table, dimension, and UTC window, e.g. optolink-breakdowns-template-aug-23-sep-22-2026.csv.

When something goes wrong​

  • A failed query shows a banner with a Retry button.
  • On the Overview tab, if only the previous-period comparison fails, the delta chips hide but every card and chart stays.
  • An invalid value in the URL (say ?range=7d) quietly falls back to the default rather than erroring; if a shared link looks wrong, check the range pills.