This page covers recording metadata — data attached to recordings via the SDK at capture time.
For key-value pairs attached to recording links, see Link
Metadata.

Userplane Metadata SDK on npm
Installation
Why attach metadata
When your support team opens a recording, they see what happened on screen. But they often need more context: which user is this? What plan are they on? Which feature flags are active? What environment is this? Metadata lets you attach this context automatically, so it’s there every time a recording is reviewed — no extra back-and-forth needed.API reference
set(key, value)
Sets a static metadata key-value pair. Use this for values that are known at initialization and don’t change frequently.
Returns:
void
metadata(fn)
Registers a dynamic metadata function. The function is called when a recording is being submitted, so it captures the most current values at that point in time.
Returns:
void
metadata() again overwrites the previous function. Only one metadata function can be registered at a time.
clearMetadata(keyOrType?)
Clears metadata. The behavior depends on what you pass:
Returns:
void
getCustomMetadata()
Returns the merged metadata object (static + function), or null if no metadata is set. This is primarily used internally by the SDK when the recorder requests metadata, but can be useful for debugging.
Returns: SerializableObject | null
Types
Serializable
Values passed to set() or returned from metadata functions must be serializable:
SerializableObject
The return type of a metadata function:
How metadata appears
Custom metadata is displayed in the Info Panel of the recording detail view as a list of key-value pairs, shown below the system metadata section (browser, OS, page URL). Keys appear as labels and values appear as text.
Custom metadata in Info panel
Common patterns
Set user context on login
Clear metadata on logout
Attach feature flags
Combine static and dynamic metadata
userId), the function value wins.
Track page context in a single-page app
Attach error context
URL parameter metadata (userplane-meta)
If you cannot use the SDK — for example, in helpdesk macros, server-rendered pages, or third-party tools — you can attach metadata to a recording via a URL query parameter instead.Format
Append theuserplane-meta parameter to any recording link URL:
= as the delimiter between key and name, and the entire value must be URL-encoded (so = becomes %3D).
Decoded format: key1=val1,key2=val2
Examples
Helpdesk macro link:ticketId: 98765 and priority: high to the recording.
Server-rendered page:
How URL metadata appears
Values appear in the Info Panel identically to SDK-set metadata — as key-value pairs in the custom metadata section. There is no visual distinction between URL parameter metadata and SDK metadata.Merging with SDK metadata
If both URL parameter metadata and SDK metadata are present, the values are merged. When the same key exists in both sources, the SDK value takes priority.Tips
Framework guides
For framework-specific installation instructions, see the guide for your stack:React
Next.js
Vue
Nuxt
Angular
SvelteKit
Astro
TanStack Start
Static HTML
Related articles
- Web SDK — initialize the SDK and control recordings programmatically.
- Installation — install and configure the embed script.
- Intercom Macros — use recording links with URL metadata in Intercom macros.
- Zendesk Ticket Sidebar — create recording links with ticket context in Zendesk.
- Slack Slash Command — create recording links from Slack with pre-filled references.