FS.setVars API - Sending custom page data to FullStory

Available for the following Plan types:

FullStory Enterprise

FullStory Advanced

FullStory Business

FullStory for Mobile Apps

FullStory Free

Available to the following User roles:




With the FS.setVars API, you can send your own custom page names and properties to FullStory. This allows you to:

  • Search for events using your own page properties instead of URLs 
  • Display custom page properties in metrics, funnels, and dashboards
  • Align page properties in FullStory with other systems, like your CDP or Tealium

Looking for information on instrumenting Mobile App Pages via the API? See this developer documentation.

Using the FS.setVars API

Capture custom scoped page data with the FS.setVars function. It takes two arguments: the scope of the accompanying data and an object or dictionary containing simple key/value pairs you'd like to capture.

FS.setVars(“scope”, { ... })

To put it another way:

FS.setVars("page", {
field: value,

This method allows you to send your own custom page names and properties to FullStory. Here’s an example invocation.

FS.setVars("page", {
 "pageName" : "Checkout", // what is the name of the page?
 "cart_size_int" : 10, // how many items were in the cart?
 "used_coupon_bool" : true, // was a coupon used?

cart_size_int and used_coupon_bool are examples of custom page properties that you might capture.

pageName is a system field and has special behavior. The page name captured in this field will automatically become a defined Page, which can be used in a variety of places within FullStory such as Page Flow dashboard cards and Journeys. You can view defined Pages in FullStory under Settings > Pages.

  • Note: When using the pageName field, this value will take precedence over any URL-based page definitions you may have previously created. If this is not desired, please use another field to designate the page name.

  • Note: pageName is limited to 1,000 unique values. Any new pageName values sent past this limit will fail to become defined Pages.

FS.setVars("page") can be invoked multiple times within the same pageview, which is defined as the span of events occurring between URL changes. Specifically, whenever the hostname or path changes, this is considered a new pageview event. Changes to the fragment or query string are not considered to be different page views.

When using the pageName field, this value is not allowed to change within the same pageview. Doing so will result in an API error, and the values sent via FS.setVars("page") will be ignored.

Note: You can capture up to 20 unique page properties (exclusive of pageName) for any given page and up to 500 unique page properties across all pages. All properties you capture will be visible in FullStory under Settings > Pages.

Please see FullStory's developer documentation for more detailed API information.

Using Custom Page Data in FullStory

After you send custom page data to FullStory, you can search for events that happen on a page using dependent criteria. 


To control which properties are visible in Search, Admin or Architect users can archive custom page fields under Settings > Data Management > Properties



Are there other ways to pass custom page data to FullStory?
Yes. The FS.setVars API is one way to pass custom page data to FullStory. You can also send custom page data using Data Layer Capture or an out-of-the-box integration with a CDP like Tealium.

Will custom page data be visible in Page Insights?
Yes, Pages set via the API will show up in Page Insights just like Pages defined within Settings > Data Management > Pages.



Need to get in touch with us?

The FullStory Team awaits your every question.

Ask the Community Technical Support