ComScore audience and streaming analytics
RecordPlus Web integrates the official @comscore/analytics JavaScript SDK
version 7.14.0 for application/page and streaming measurement.
Activation
The integration is disabled by default. Set
NEXT_PUBLIC_COMSCORE_ENABLED=true only after the deployment owner confirms
the applicable analytics-consent basis for the environment. The publisher ID
is 14194541; no publisher secret is required by the current standard SDK
configuration.
The site currently shows an information-only cookie notice. Dismissing it is not an analytics consent decision and must not be used to activate ComScore. If Record adopts a supported GPP 1.1 or TCF 2.2 CMP, the ComScore Web SDK can consume its signal automatically.
The Web CSP allows the SDK's *.scorecardresearch.com image and collector
requests. The SDK is bundled from npm; no third-party script origin is needed.
Measurement scope
- Client-side route changes are reported as application views.
- Each application view is paired with an uncached, same-origin response whose
body is
pageview_candidate, as required by Comscore for SPA pageview candidate validation. The SDK remains the only pageview beacon source to avoid duplicate measurement. - One Comscore playback session is created per Record/JWX playback session and discrete live programme.
- Content metadata covers the authoritative ID, title, stream type, duration, asset classification, season/episode numbers, genres, and live station title available at the player seam.
- Every content session includes the mandatory RecordPlus dictionary
classifications:
C3=RECORDPLUS,C4=*null, andC6=*null. - Play, pause, buffering, seeking, playback-rate, stop, and completion transitions are deduplicated.
- Content measurement is suspended during IMA ad playback. Advertisement metadata is deliberately omitted until Record and ComScore approve the ad taxonomy and authoritative ad identifiers.
Runtime verification
For every enabled environment:
- Confirm every route-view measurement in Comscore validation tooling has one
matching
/api/comscore/pageview-candidateresponse with HTTP 200, a body ofpageview_candidate, andCache-Control: no-store. - Exercise representative VOD, episode, live, podcast, seek, buffer, pause, completion, and ad-break scenarios.
- Verify one playback session per content start, millisecond duration/position values, and no duplicate terminal events.
- Confirm no collector traffic when
NEXT_PUBLIC_COMSCORE_ENABLEDis absent orfalse.
Dashboard proof requires Comscore account access and cannot be reproduced from source or CI alone.