Google Analytics Universal

Available for the following Plan types:

FullStory Enterprise

FullStory Advanced

FullStory Business

FullStory for Mobile Apps

FullStory Free

Available to the following User roles:




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.

Lastly, this integration is not supported for EU based accounts.


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 > Manage
  3. Find the Google Analytics integration and click Install at the end of the row
    Screenshot 2023-01-03 at 4.39.27 PM.png
  4. Click Authorize
  5. Accept the Google OAuth form to grant access to FullStory on behalf of your Google Analytics account
    GA step 5.png
  6. Select the web properties for which you wish to add the FullStory Session URL custom dimension.
    GA step 6.png


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.  
  2. Now your report will include a session URL with each result.

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? 

The FullStory integration with Google Analytics makes it possible to determine the session associated with any GA user's page views. This association is made by sending one "non-interaction" event (per page) that includes the current session URL. 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 impact bounce rate or other computations for the page. 

For reference, the integration is roughly equivalent to the following code (you don’t need to use this code; it is for illustrative purposes only):

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

The propId variable in the above code would be the ID of the custom dimension to which the session URL should be saved.

It might be preferable to associate this session Url property with the page view event that Google Analytics normally sends. Unfortunately, FullStory has no way to know when the initial page view is sent, and it is usually sent before FullStory can even calculate the session URL (the URL is unknown until data capture has started successfully; data capture start can be detected by means of the  _fs_ready() callback). 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 for some reason the additional non-interaction events are still problematic (perhaps because they push you into sampling territory?), then in lieu of using the integration you might consider a manual solution, similar to the below. This example uses the _fs_ready() callback to associate the session URL to the page view event:

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

You should deploy a similar snippet, with the appropriate dimension name, to all the pages of your site, perhaps by means of your favorite tag manager. Note that you will also have to remove the logic in the default GA snippet that sends the page view event, else it will be sent twice, once in the GA snippet and once in the above snippet.

The drawback to using the above solution is that it will create some delay (a few hundred milliseconds, commonly) before the GA page view is sent. The delay results from waiting to send the page view event until the _fs_ready() callback fires.

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.

Data Layer Capture

Note: If your account participated in our Data Layer Capture beta program, you'll see a slightly different visual in Settings Manage Integrations including a specific Data Layer Capture integration. Despite the different view, the integration functions the same way.

Enhanced E-commerce

Screenshot 2023-01-03 at 4.39.33 PM.png

Capture user interactions with products from the Enhanced E-commerce plugin Data Layer.

To enable Google Analytics for your Data Layer with FullStory, follow the below steps:

  • Navigate to Settings > Integrations > Manage in your account
  • Find the Google Analytics: Enhanced E-commerce integration and click Install at the end of the row

When enabled, Google’s data layer will be captured specific to Enhanced E-commerce data.  Impression related data is not captured.

For more info, check out Google's Documentation.

Event Measurement

Screenshot 2023-01-03 at 4.39.38 PM.png

Ingest event data defined in Google Analytics Data Layer. 

To enable Google Analytics for your Data Layer with FullStory, follow the below steps:

  • Navigate to Settings > Integrations > Manage in your account
  • Find the Google Analytics: Event Measurement integration and click Install at the end of the row

When enabled, Google data layer events containing the event property will be captured. The event value will be used as the Custom Event name. Please note that events that begin with gtm are not captured as this information is usually already available in FullStory. For highly active data layers, a custom rule may be needed instead of the out-of-the-box rule to prevent rate limiting. 

For more info, check out Google's Documentation.


Need to get in touch with us?

The FullStory Team awaits your every question.

Ask the Community Technical Support