Google Analytics Universal

The FullStory integration with Google Analytics Universal (we do not support classic) lets you add a FullStory Session URL as a Custom Dimension to your reports within Google Analytics.

Adding a FullStory Session URL to your funnel or drop-off reports gives you instant access to the sessions associated with your GA filters. This simple step allows you to have real and instant user data that adds life and depth to those boring report numbers.

Important Note: The Google Analytics integration uses the permissions of the user that is authorizing the integration. So only the user that authorized the integration can enable properties that they have permissions to in Google Analytics.

If you need to use the integration for other properties and don't have the same permissions of the user who originally authorized the integration, you'll have to remove the integration altogether, and go through the process of adding and "Authorizing" the integration. If you do re-add the Google Analytics integration, old configurations are erased and you'll need to reconfigure the properties again.


If you haven't already, you'll need to sign up for Google Analytics to get started.

After you set up your Google Analytics account, make sure the Google Analytics Universal script is installed. 

  1. Login to FullStory
  2. Navigate to Settings > Integrations & API Keys
  3. Toggle on Google Analytics Universal under Available Integrations.
  4. Accept the Google OAuth form to grant access to FullStory on behalf of your Google Analytics account.
  5. Select the web properties for which you wish to add the FullStory Session URL custom dimension.

Using the FullStory Session URL Custom Dimension

Now when building reports in Google Analytics Universal, you can add a FullStory Session URL Custom Dimension anywhere that you can use a dimension within Google Analytics. If you pre-define a custom dimension, ensure that it is named exactly "FullStory Session URL" (case sensitive). 

  1. For example, when building a report click on the "Secondary Dimension" dropdown and select FullStory Session URL.  
    Image title
  2. Now your report will include a session URL with each result.Image title

Note: GA does not allow click through links, so you'll have to copy and paste the session URL to a new browser tab to watch the session. Be sure you're logged in to FullStory so that the session can play.

Why am I seeing a spike in events from FullStory in Google Analytics? 

When the GA integration is enabled, it sends one "non-interaction" event per page, which includes the current session URL. This makes it possible to determine the session associated with any GA user's page views. The code to make this call looks roughly like this:

tracker.set(propId, sessionUrl);
tracker.send('event', {
  'eventCategory': 'FullStory',
  'nonInteraction': 1

It might be preferable to associate this sessionUrl property with the page view event that you normally send. Unfortunately, it's not possible for Fullstory to do this automatically, because it can't know when the initial page view is sent, and it is usually sent before Fullstory even knows the session URL (it has to wait for _fs_ready() to be called). So we have to send an event to ensure that the sessionUrl property gets associated with the user/page correctly in GA.

Note: These events should not be considered "hits" in the same way a page view is in GA. They are specifically "non-interaction" so that they don't, e.g., impact bounce rate computations for the page.

If, after considering that, these extra events are still problematic, perhaps because they push you into sampling territory, then you might consider adding this property manually in GA, and allowing it to be associated with the initial page view event. So instead of simply enabling the GA integration, you could do something like this:

window["_fs_ready"] = function() {
  var sessionUrl = FS.getCurrentSessionURL();
  ga('set', 'dimensionNNN', sessionUrl);
  ga('send', 'pageview');

The one issue with this is that it will create some delay (a few hundred ms, commonly) before the GA page view is sent, but it will still make it possible to find FullStory sessions from within GA.

Why am I getting a "Bad request" error when I try to enable the integration for a property in the FullStory Settings page?

One of the most probable reasons why you might be seeing this error is because FullStory was unable to create a Custom Dimension. FullStory tries to automatically add a new Custom Dimension called "FullStory Session URL". This creation is only possible when there are available slots for Custom Dimensions to be created in Google Analytics. Unfortunately, Google Analytics doesn’t have the option to remove a Custom Dimension.

What you can do, instead, is to modify an unused Custom Dimension in Google Analytics so that its configuration matches the one that FullStory creates. FullStory will recognize this Custom Dimension and send data accordingly. The modified Custom Dimension should have the following properties: The Name must be exactly "FullStory Session URL" (without the quotes and this field is case sensitive), Scope must be set to "Session" and the Active checkbox must be checked.

Can’t find what you’re looking for?

The FullStory team awaits your every question.

Contact Us