Understanding your analytics

Workspace analytics and each video's Analytics tab use the same definitions. Choose Last 24 hours, Last 7 days, Last 30 days, Last 90 days, Last 12 months or a custom date pair. The last 24 hours uses hourly UTC buckets from retained playback events; other ranges use inclusive UTC dates and daily rollups. Tile deltas compare against the immediately preceding equal-length period, with rate changes shown in percentage points.

Metric definitions

MetricDefinition
LoadsAccepted load sessions, including visits without watch credit. Load-only visits are not plays.
ViewersDistinct attested viewer IDs, with session-ID fallback when identity is unavailable. Range totals deduplicate identities rather than summing daily distinct counts.
PlaysThe first eligible play or a play after ended. Resuming after pause is not another play. A short play does not need a second lifecycle signal.
Background viewsOne accepted start per Background player session. Loops and repeat events do not add views. These are separate from Standard plays, loads, watch time and completions. A poster shown without playback does not count as a view. Switching to Standard can then produce ordinary playback metrics.
Play ratePlays divided by loads. Replays can make this exceed 100%.
Watch timeCredited positive media-position movement while playing, bounded by elapsed time, remaining segment duration and server-receipt dwell credit. Paused time and seeks do not earn credit.
Average watchedThe arithmetic mean of credited watch / duration × 100 across plays, including zero-watch plays. Repeat viewing can exceed 100%. Average watch seconds is total credited watch / plays.
Completion rateCompleted plays divided by plays. A play must reach the selected position threshold and earn credited watch seconds of at least duration × threshold / 200. Each play completes at most once; ended is neither required nor sufficient.
Reached 25/50/75/100Share of plays whose maximum position reaches each boundary. This is separate from credited watch and engagement.
EngagementShare of plays with a receipt-credited traversal of each 1% segment of the video.
RewatchMean credited passes per play minus reach share for each segment. The stacked chart shows initial reach plus repeat traversal and can exceed 100%.

Completion threshold and team plays

Choose 50%, 75%, 90% or 100%. The workspace default is 90%. A temporary selection applies to the current report; members with workspace management permission can save it as the workspace default.

In-app activity is excluded from every metric by default. Enable Include plays from your team to include it. This includes authenticated in-app playback, not every public visit by someone who happens to be a team member.

Sources and embedding hosts

Top Sources & Hosts lists watch-page, embed, in-app and API activity by plays, with hostnames for embeds and an explicit unknown source for legacy data. Attribution comes from signed playback attestations, not arbitrary event payloads. Workspace reports also show referrer hostnames.

Activity, filters and CSV

The activity chart compares up to two metrics: plays, loads, viewers, watch time in minutes, average percent watched and completion rate. It starts with plays and average percent watched. Different units use separate axes. Hover or use the keyboard to inspect values; an expandable data table provides the same raw series. For daily ranges, Trailing average adds a seven-point moving average after the first six dates.

Search and select multiple videos, select a folder, or combine both to see their intersection. A folder includes its direct videos, not videos in nested folders. Filters apply to every tile, chart and table, and the URL preserves the selected view for sharing. A video's Analytics tab uses the same components locked to that video. The workspace All Videos table supports sorting by plays, play rate, average watched and completion.

Daily CSV exports the workspace or video series at the selected daily or hourly granularity, including zero-activity buckets, the selected threshold and full metrics. Videos CSV exports every row of the currently filtered workspace videos table in its current sort order. Titles are quoted and spreadsheet formula prefixes are neutralized.

Where people watch

Switch between Country, Region and City to see the top 50 locations by plays, with viewers and average percent watched. Approximate location is resolved locally when a playback grant is issued; only country, region and city are stored, never the IP address. Do Not Track sessions have no location. Unknown locations are omitted. Geographic viewer counts are marked Unavailable when retained session identities cannot cover the selected range; aggregate plays and watch metrics remain available without extending identity retention.

Geography is approximate and incomplete by design. It is not a named-person report, and missing or unknown location rows are not evidence of zero viewing.

Blocked plays

Blocked plays are reported domain denials from website playback restrictions, not successful video plays. The summary is separate from the selected analytics date range. It always covers the current calendar week from Monday at 00:00 UTC through now, refreshes every 30 seconds, and lists up to five of the leading hosts in the interface. The underlying summary is limited to 100 hosts. An unknown domain means the origin host was not available.

Blocked-play records are retained for 90 days, but the displayed summary only covers the current week. Use Where your videos can play to understand workspace and per-video rule order.

Interactivity measurement

For published Buttons and Hotspots, analytics show reached sessions, click events, click rate, a reached-to-clicked funnel and markers on the engagement curve. Click rate divides click events by reached sessions; share of plays divides distinct clicked sessions by played sessions. Details follow the plan-specific history window below, while daily totals stay full-range. See Interactivity to build and measure these items.

Rollup, retention and legacy data

A worker rolls new events into daily aggregates every minute. Detailed playback history covers the last 90 days on Harbor, trial and restricted workspaces, 6 months on Marina, and 12 months on Fleet. An operator-managed workspace uses its plan tier's window. Daily totals are kept for the life of the account on every plan. IP addresses and user agents are removed at 90 days on every plan; an older retained event has no raw cookie value and keeps only a keyed, pseudonymous session key, video, time, event data and derived country, region and city. Upgrading extends detailed history going forward, but events already deleted cannot be recovered. Downgrading hides detail beyond the new window immediately; it is deleted after a 30-day grace, so upgrading back within that time restores detail that has not yet been deleted. Reports flag legacy video-days excluded when retained events cannot reproduce these definitions, so totals can differ from older reports.

Privacy and interpretation

Analytics can be disabled with analytics=off. Playback grants bind viewer identity and source. A secure viewer cookie supports distinct viewers where permitted; blocked cookies and Do Not Track use a session identity instead. Referrers use hostnames, not full URLs. Lifecycle and receipt checks limit simple inflation but cannot prove that a human watched a video.

Site and app analytics

Google Tag Manager loads Google Analytics on production marketing, documentation, legal, authentication, workspace and operator pages when GTM_CONTAINER_ID is configured. It does not load on the edge video origin, or in development or tests. Without a container ID, no Google Tag Manager markup or data layer events are emitted.

The shared event contract below is generated from the same definition used by the static site and React app. Tenant events include workspace_id, the workspace public ID. Event payloads exclude email, names, IP addresses and secrets. Page locations exclude query strings, fragments and sensitive route values. This tracking is separate from the playback analytics described above.

Only the Tag Manager container is installed. Configure GA4 inside that container, not through a separate gtag.js installation. Use these explicit page_view events and disable automatic GA4 page views and history-based page views to avoid duplicate reporting.

EventWhen it is sent
page_viewPage load or app route change. Includes page_location and page_title.
sign_upCompleted signup. Includes method: email or google.
loginSuccessful sign-in. Includes method: email or google.
generate_leadSuccessful contact form submission.
brand_lookupSuccessful homepage Try it now brand lookup.
pricing_viewPricing page view.
video_uploadCompleted video upload.
plan_checkout_startPlan checkout begins.

Replacement history and file versions

A video’s Analytics tab separates per-second engagement by file version so files with different lengths are not mixed into one curve. Choose File version to inspect one version.

When replacing a video, Keep retains the running analytics. Start fresh records a reset without deleting earlier history. The History selector offers Since latest reset, All history and Before <date> for each reset. The available file versions follow that history selection. See Replacing a video.

Workspace audit log

The app's Audit page is separate from audience analytics. Members with audit-read permission can review workspace activity, filter it, open event details and export the available records. Events identify an action and actor, and can include before and after values for changes. The log is read-only; it is not an Undo interface. Workspace access does not grant access to platform-wide administrative audit records.