Introduction

On top of the many JavaScript tracking options that RUMvision offers out of the box, RUMvision users can build on top of our JavaScript. For example to submit custom dimensions and values in a client side way, using JavaScript.

Not a JavaScript developer, but still want to track custom dimensions? Our custom dimensions module offer quite some flexibility out of the box already, for example by populating metatags in your templates.

On top of the tracking RUMvision provides out of the box, the JavaScript API can be used to read collected data, add your own values, change RUMvision's runtime configuration and trigger specific actions.

The API uses the global rumv() function.

Requirement

To use the RUMvision JavaScript API, make sure the "Enable rumv() get/set API" feature is enabled under Developer settings. Without this feature, the API is not available on the page.

Why window.rumv may already exist

You may already see window.rumv being initialized on your website as part of your domain's snippet, even when the rumv() get/set API feature is not enabled. This does not mean that the API itself is enabled.

The window.rumv initialization provides a safe queue for calls made before the RUMvision script has finished loading:

  window.rumv = window.rumv || function() {    (window.rumv.q = window.rumv.q || []).push(arguments);  };

Using window.rumv || ensures that an existing window.rumv is not overwritten by this initialization. It also allows calls made before RUMvision is ready to be queued instead of failing because rumv is not yet defined.

In many implementations, you do not need to interact with window.rumv yourself. It mainly becomes relevant when you want to call rumv() before the RUMvision script has loaded.

The queue and API access are two separate things: the queue provides safe initialization and timing, while the "Enable rumv() get/set API" feature determines whether you can use the RUMvision JavaScript API.

API summary

APIUse it toExample
Get
docs
Read information RUMvision has collected for the current pageview.
You can retrieve all data, a specific group, one value
or multiple values using a regular expression.
rumv('get', 'ttfb')
Set
docs
Add or overwrite data that should be included in RUMvision data
for the current pageview or session.
rumv('set', 'release', '2026.09.15')
Config
docs
Read or change how the RUMvision JavaScript behaves,
including consent, storage duration and SPA settings.
rumv('config', 'consent_storage', 0)
Functions
docs
Perform an action or use a direct utility, such as sending data,
creating a pagehit, generating a UUID or reading the viewport.
rumv('send')

A useful rule of thumb is:

  • Get = read data
  • Set = write data
  • Config = configure RUMvision
  • Functions = make something happen

Timing and positioning

Positioning matters

If you call the RUMvision API before the RUMvision script has loaded, make sure the global rumv queue exists first:

window.rumv = window.rumv || function() { (window.rumv.q = window.rumv.q || []).push(arguments); };

This allows API calls to be queued safely until the RUMvision script is ready.

Without this snippet, calling rumv(...) before RUMvision has initialized can result in a rumv is not defined error.

Timing matters

The timing of getting values or setting information or changing configuration values matters.

Examples

Read the current TTFB:

rumv('get', 'ttfb'); 

Add your own pageview data:

rumv('set', 'release', '2026.09.15'); 

Disable RUMvision browser storage until your own consent callback allows it:

rumv('config', 'consent_storage', 0); 

Force the currently collected data to be sent:

rumv('send'); 

RUMvision already handles normal RUM collection automatically. The JavaScript API is intended for integrations and use cases where you want to build on top of the default behavior.