Know Widgets Reference

This page has one row per widget on the Know dashboard, in the order they appear on screen, so you can scroll the dashboard and this page side by side. Every widget’s date range comes from the one picker in the Know header — with a single exception, Broken links, which is called out below.

The widget table

Fourteen cards, thirteen slots: Top growth and Top decline are drawn by one component into one grid row, so they share position 7.

#Widget headingSubtitle / eyebrowQuestion it answersBacking endpoint or metricColumns or seriesEmpty state textMinimum tierBehavior below tier
1Top insights(eyebrow) Top insights · what Leed sees this monthWhat should I look at first?GET /api/know/insightsOne card per insight: kind, stat, headline, detailInsights powered by LeedFree—
2(KPI row)—How did the headline numbers move?GET /api/know/dashboard; sparklines from GET /api/know/kpiPage Views · Unique Sessions · Unique Visitors · Average Page Views Per Session · LeadsCards render with —Free—
3Page views over timeReal traffic across the selected rangeWhen did the traffic happen?GET /api/know/kpi?metric=pageViewsMetricOne series, “Page views”Not enough data to chart this range.Free—
4Where readers spend timeShare of engaged minutesWhich kind of content holds attention?GET /api/know/content-typesDonut plus a legend of content type and shareNo engaged time recorded in this range.Free—
5Top performing pagesby lead conversionsWhich pages produce leads?GET /api/know/conversions-by-pagePage · Sessions · Leads · CRNo lead conversions in this range.Free—
6Journey funnelSessions entering on {content type}Where do sessions drop out?GET /api/know/journey-funnelSessions · Engaged · Explored 3+ pages · ConvertedNot enough session data for a funnel yetFree—
7Top growth—Which pages improved most?GET /api/know/moversPage · conversion rate · changeNo page grew vs the prior period yet.Free—
7Top decline—Which pages fell back most?GET /api/know/moversPage · conversion rate · changeNo page declined vs the prior period yet.Free—
8Search gaps—What did readers search for and not find?GET /api/know/search-gaps(none — always empty)No search gaps detectedFree—
9Sessions by channel(right-aligned) inbound attributionWhich channels sent sessions?GET /api/analytics?metric=inboundAttributionMetricTop five utm_source values with share barsNo attributed channels in this range.GrowthUpgrade banner in the card body; the query is never issued
10Top referrers(eyebrow) Top referrers · (right) by sessionsWhich sites send me traffic?referrerHostMetric, limit 8Host with a share bar and a session countNo referrers in this range.Free—
11Most viewed videosby unique viewersWhich videos get watched?videoSummaryAnalyticsMetric, limit 8Video · Viewers · Watch time · Avg / viewerNo video views in this range.GrowthThe request is refused and the card shows the empty text — see the warning below
12Sessions by geography(eyebrow) Sessions by geographyWhere in the world are readers?sessionsByStateMetric + sessionsByCountryMetricA US state choropleth and a world choroplethRegions with no sessions render as neutral landFree—
13Broken linksfrom the latest link crawl · (right) N foundWhich external links are dead?GET /api/brokenlinksPage · URL · Status · MessageNo broken links detected.Free—

Widgets 1 to 8 and 13 sit on /know alone. Widgets 9 to 12 are the only ones that go through the general metric API, which is why they are also the only ones that can return a plan gate.

Top insights

The insights strip runs two heuristics against the selected range and emits at most one card each. Both are computed server-side from real form fills and real bounces; neither is a model output, despite the “Insights powered by Leed” badge.

OPPORTUNITY finds the page whose conversion rate most beats your site average. Its headline reads “… converts 3.2x the average” and the stat in the corner is that multiple.

RISK finds the highest-traffic page that bounces hard and never converts. Its headline reads “… bounces 74% with zero leads” and the stat is the bounce percentage.

The Refresh control re-runs both against the same range. When neither clears its thresholds, the whole strip collapses to a single centered card carrying the badge Insights powered by Leed and the line “No insights to surface yet. As Leed learns from your content’s real performance, opportunities, risks, and ideas will appear here.”

The exact thresholds both heuristics use

OPPORTUNITY considers only pages with 8 or more sessions in the window. Among those, a page must also have at least 3 form fills and a conversion rate at least 2× the average across that eligible set. The winner is the one with the highest multiple. If the eligible average conversion rate is zero, no card is emitted at all.

RISK considers only pages with 10 or more sessions and zero form fills. Among those, a page must have a bounce rate of 60% or higher. Candidates are ranked by session count first, bounce rate second, and only the top one is emitted.

A bounce here means a session with exactly one page view. It has nothing to do with how long the reader stayed — see how Leed tracks visitors.

The Top insights strip showing an OPPORTUNITY card and a RISK card with their stat values

One wart worth knowing before you go looking for a bug: an insight headline names the page by its page id, not its title. The card is otherwise correct, and the id is the one in the page’s editor URL.

The third insight card you will never see

The design for this strip had a third card type — unanswered reader search queries — and you will never see it. Leed keeps no log of searches that returned nothing, so the endpoint deliberately emits nothing rather than inventing a card. It is not a permissions problem, a plan gate or a data-volume problem, and no amount of traffic will produce one.

Journey funnel

Four steps, each labeled and drawn as a bar whose width is its share of the first step:

StepWhat it counts
SessionsAll sessions that entered on this content type
EngagedOf those, the ones with real active time recorded
Explored 3+ pagesOf those, the ones that viewed three or more pages
ConvertedOf those, the ones that produced a form fill

The funnel is computed for one content type only — whichever entry content type had the most sessions in the range. That is why the subtitle changes from the generic “Step-by-step path to conversion” to “Sessions entering on Blog” (or whatever your busiest entry type is) once there is data. There is no control to switch content types on this card.

The percentage beside each bar is its share of the first step, not of the step above it, so the numbers only ever fall. When there are not enough closed sessions to build a funnel at all, the card reads “Not enough session data for a funnel yet”.

The Journey funnel card with all four steps labeled and the entry content type in the subtitle

Top growth and Top decline

Both cards come from the same ranking: every page’s conversion rate in the selected range against its conversion rate in the prior equal-length window, ranked by the size of the movement, top eight. The list is then split — pages that moved up go to Top growth, pages that moved down to Top decline — so the two cards rarely hold four rows each.

A movement of less than half a percentage point in either direction is treated as flat and appears in neither card.

Search gaps — permanently empty, and why

The Search gaps card renders its heading, its magnifying-glass icon, and the text “No search gaps detected”. It will do that on every plan, at every traffic level, for every date range, because the endpoint behind it returns an empty list and marks itself unavailable. There is no zero-result search log in Leed for it to read.

The Search gaps card showing only its heading and the text No search gaps detected
Search gaps is permanently empty — there is no zero-result search log behind it yet

This is not the same thing as saying reader searches are not recorded. When live documentation search is enabled, every query your readers type is logged, including the ones that found nothing — this widget just does not read that log yet. It is listed among the known limitations.

Sessions by channel

The card fetches up to 50 attribution rows for the range, adds up their counts per utm_source, and draws the top five as labeled bars. A row with no source is bucketed as other. That client-side roll-up is why the card shows five channels while the underlying metric has six columns — the list metrics reference gives the full column set, and journeys, funnels and attribution explains what does and does not qualify as an attributed arrival.

Below Growth this card behaves the way a gated surface should: it stays on the page, the heading and the inbound attribution eyebrow still render, and the body is replaced by an upgrade banner reading “Full-journey attribution is available on the Growth plan”. The query is never sent, so nothing 402s in the background.

The Sessions by channel card below Growth, with an upgrade banner where the channel bars would be

For what an upgrade banner means and who on your team is allowed to act on it, see when a feature is gated.

Top referrers

Referring hosts, ranked by sessions, top eight, each with a share bar. A session that arrived with no referrer — typed, bookmarked, or from an app that strips the header — is grouped as (direct).

This card is never plan-gated. Note that its heading is drawn as a small uppercase eyebrow rather than the larger card titles used elsewhere on the page; it is a card, not a section of the one above it.

There is a naming trap here that costs people time. The card headed Top referrers is backed by the catalog metric whose own name is “Referrers” — referrerHostMetric. There is a different metric in the catalog actually named “Top Referrers”, and this card does not use it. The pair is disentangled under the two referrer metrics.

Most viewed videos

Four columns — Video, Viewers, Watch time, Avg / viewer — ranked by unique viewers, top eight. The asset id is resolved to the video’s name, and clicking a row opens that asset. Watch time is deduplicated: a section a viewer rewatched counts once, so this figure is deliberately lower than raw seconds played.

Most viewed videos is one summarized view of your media. Per-video retention, pause and replay curves — including for audio, which has no Know widget at all — are covered in media engagement analytics.

Sessions by geography

Two choropleths side by side in one card: a US state map and a world country map, from sessionsByStateMetric and sessionsByCountryMetric. Both request up to 100 rows and both follow the header’s date range.

Regions with no sessions are not blank or missing — they are normalized to zero and painted as neutral land, so an empty map and a map with one visitor in one state look different. Location is approximated from network-level request data; Leed never asks a visitor’s browser for their position.

The only widget on Know that ignores the date range. It shows the current state of your site — the results of the most recent external-link crawl — not a window of history, and its subtitle says so. Changing the picker to “Today” or “Previous 365 days” changes nothing in this table.

Four columns: Page, URL, Status, Message. The page cell links into the editor; the count of rows found is shown at the top right. When the last crawl found nothing, it reads “No broken links detected.”

It is also the only widget on the dashboard that does not use the analytics privilege — it reads company data instead. How the crawl runs, what statuses it reports and how to clear an entry are on link health.

The endpoints behind the page

EndpointWidget it feedsRBAC privilegeRange-scoped?
GET /api/know/insightsTop insightsanalytics:readYes
GET /api/know/dashboardThe KPI rowanalytics:readYes
GET /api/know/kpiKPI sparklines and Page views over timeanalytics:readYes
GET /api/know/content-typesWhere readers spend timeanalytics:readYes
GET /api/know/conversions-by-pageTop performing pages, and the Leads KPIanalytics:readYes
GET /api/know/journey-funnelJourney funnelanalytics:readYes
GET /api/know/moversTop growth and Top declineanalytics:readYes
GET /api/know/search-gapsSearch gapsanalytics:readYes, though the result is always empty
GET /api/analyticsSessions by channel, Top referrers, Most viewed videos, Sessions by geographyanalytics:readYes
GET /api/brokenlinksBroken linkscompany:readNo
ESC