---
title: Integrating SiteSpect and FullStory
description: SiteSpect integrates with various third-party data management platforms to allow you to use SiteSpect data in analysis. The steps described here tell you how to integrate SiteSpect with FullStory. The
---

[Skip to content](https://doc.sitespect.com/knowledge/integrating-sitespect-and-fullstory#main-content)

English

Show submenu for translations

![Monetate-Logo-Full-Color-1](https://doc.sitespect.com/hs-fs/hubfs/Monetate-Logo-Full-Color-1.png?width=340&height=49&name=Monetate-Logo-Full-Color-1.png)

- [A/B Testing](https://www.sitespect.com/testing-and-experimentation/)
- [Personalization](https://www.sitespect.com/personalization-targeting/)
- [Recommendations](https://www.sitespect.com/recommendations/)

Open main navigation

Close main navigation

- [A/B Testing](https://www.sitespect.com/testing-and-experimentation/)
- [Personalization](https://www.sitespect.com/personalization-targeting/)
- [Recommendations](https://www.sitespect.com/recommendations/)
- English
  
  Show submenu for translations

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Knowledge Base](https://doc.sitespect.com/knowledge?hsLang=en)
2. [Third-Party Integration](https://doc.sitespect.com/knowledge/third-party-integration?hsLang=en)

# Integrating SiteSpect and FullStory

SiteSpect integrates with various third-party data management platforms to allow you to use SiteSpect data in analysis.

The steps described here tell you how to integrate SiteSpect with FullStory. These instructions are intended for a user who has some experience with FullStory and who has sufficient permissions to implement code changes on your website.

The instructions are meant to provide a high-level framework through which you can design your own integration strategy.

### Overview

[FullStory](https://www.fullstory.com/) is an easy-to-use digital intelligence and session replay tool. Integrating FullStory with SiteSpect allows you to transfer information from SiteSpect Campaigns to FullStory to use in solving problems, finding answers, and fine-tuning your customer experience.

The integration entails creating a Site Variation in SiteSpect.

#### Creating a Site Variation

A Site Variation is a SiteSpect Variation that applies to all Campaigns and can be setup to apply only to users assigned to a Campaign. When you create a Site Variation with the FullStory code, SiteSpect injects the code as part of all Campaigns.

1. Click **New**, then **Global Variation**.
2. Enter a **Name**, such as **FullStory Site Variation**.
3. Leave the **Type** set to **Regular**.
4. Select or create **Tags** as you need them.
5. Leave the **Scope** set to **Site** (the default).
6. The default **Status** is **Inactive**. Remember to change the **Status** to **Active** when you want this Site Variation to be applied.
7. Open the **Triggers** area and click the **plus (+)** at the right edge of the Triggers area.

![Integrating SiteSpect and FullStory - Creating a Site Variation](https://doc.sitespect.com/hs-fs/hubfs/Kbase%20Images/Integrating%20SiteSpect%20and%20FullStory%20-%20Creating%20a%20Site%20Variation.png?width=453&name=Integrating%20SiteSpect%20and%20FullStory%20-%20Creating%20a%20Site%20Variation.png)

1. Select **Page Source** and click **Add**. SiteSpect adds the **Page Source Trigger** to the Triggers area of the page.
2. In the **Page Source** field, enter \</head\>.
3. Create a second Trigger by clicking the **plus (+)** again, but this time select **Header**.
4. In the **Header Name** field, enter content type. In the **Header Value** field, enter html.

From here, there are two ways to continue. One method works for scenarios in which you’re implementing FullStory using SiteSpect. The second method works for implementing FullStory using some other tool, i.e., not using SiteSpect.

#### Implementing FullStory Using SiteSpect

If you are implementing FullStory using SiteSpect:

1. Log in to FullStory.
2. Select **Settings**, **FullStory Setup**.
3. Copy **Your Recording Snippet**. The snippet is FullStory’s JavaScript that must be added to the website for FullStory to be able to record user sessions and play them back later for the client.
4. Paste the recording snippet into a text editor and modify it as follows.
5. Add the following below the line that says window\['\_fs\_namespace'\] = 'FS';

```
window['_fs_ready'] = function() {    setUserAssignments();};let appliedSsVariations = "__SS_LISTVAR{__SS_TCID__:__SS_VGID__:__SS_VID__:__SS_VNAME__}{;}__";let userCampaigns = "__SS_LISTCAMPAIGN{__SS_TCID__:__SS_TCNAME__:__SS_VGID__:__SS_VGNAME__}{;}__";
```

1. Before the closing script tag add:

```
function sendFsEvent(assignmentString) {    var stringSplit = assignmentString.split(':');    var userCampaignID = stringSplit[0];    var variationGroupID = stringSplit[1];    var variationID = stringSplit[2];    var variationName = stringSplit[3];    var campaignName = "";    var variationGroupName = "";    if(userCampaignID !== "0"){        var campaignsSplit = userCampaigns.split(';');        for(let x = 0; campaignsSplit.length > x; x++){            var currentCampaign = campaignsSplit[x].replace(';', '');            var splitNames = currentCampaign.split(':');            if(userCampaignID === splitNames[0]){                campaignName = splitNames[1];                if(variationGroupID === splitNames[2]){                    variationGroupName = splitNames[3];                }            }        }    }    FS.event('SiteSpect Variation Applied', {        campaignID: userCampaignID,        campaignName: campaignName,        variationGroupID: variationGroupID,        variationGroupName: variationGroupName,        variationID: variationID,        variationName: variationName    });}function setUserAssignments(){    if(appliedSsVariations !== "") {        var stringToSlice = appliedSsVariations;        var assignmentCount = (stringToSlice.match(new RegExp(";", "g")) || []).length + 1;        for (let x = 0; assignmentCount > x; x++) {            if (stringToSlice.indexOf(":") > -1) {                var indexOfSemicolon = stringToSlice.indexOf(";");                if (indexOfSemicolon > -1) {                    var sliceOfAssignments = stringToSlice.slice(0, indexOfSemicolon + 1);                    stringToSlice = stringToSlice.replace(sliceOfAssignments, '');                    sliceOfAssignments = sliceOfAssignments.replace(';', '');                    sendFsEvent(sliceOfAssignments);                } else {                    sendFsEvent(stringToSlice);                }            }        }    }}
```

1. In SiteSpect, open the **Search & Replace** area. In the **Search Text** field add \</head\>.
2. In the **Replacement Text** field paste the script from the script editor and add **\</head\>** after it.
3. Click **Save** at the bottom of the page. When you set it to **Active**, it will run with all your Campaigns.

#### Implementing FullStory Without Using SiteSpect

If you are implementing FullStory using a tool other than SiteSpect:

1. In SiteSpect, open the **Search & Replace** area. In the **Search Text** field add \</head\>.
2. In the **Replacement Text** field paste the script below.

```
<script>    window['_fs_ready'] = function() {        setUserAssignments();    };    let appliedSsVariations = "__SS_LISTVAR{__SS_TCID__:__SS_VGID__:__SS_VID__:__SS_VNAME__}{;}__";    let userCampaigns = "__SS_LISTCAMPAIGN{__SS_TCID__:__SS_TCNAME__:__SS_VGID__:__SS_VGNAME__}{;}__";    function sendFsEvent(assignmentString) {        var stringSplit = assignmentString.split(':');        var campaignID = stringSplit[0];        var variationGroupID = stringSplit[1];        var variationID = stringSplit[2];        var variationName = stringSplit[3];        var campaignName = "";        var variationGroupName = "";        if(campaignID !== "0"){            var campaignsSplit = userCampaigns.split(';');            for(let x = 0; campaignsSplit.length > x; x++){                var currentCampaign = campaignsSplit[x].replace(';', '');                var splitNames = currentCampaign.split(':');                if(campaignID === splitNames[0]){                    campaignName = splitNames[1];                    if(variationGroupID === splitNames[2]){                        variationGroupName = splitNames[3];                    }                }            }        }        FS.event('SiteSpect Variation Applied', {            campaignID: campaignID,            campaignName: campaignName,            variationGroupID: variationGroupID,            variationGroupName: variationGroupName,            variationID: variationID,            variationName: variationName        });    }    function setUserAssignments(){        if(appliedSsVariations !== "") {            var stringToSlice = appliedSsVariations;            var assignmentCount = (stringToSlice.match(new RegExp(";", "g")) || []).length + 1;            for (let x = 0; assignmentCount > x; x++) {                if (stringToSlice.indexOf(":") > -1) {                    var indexOfSemicolon = stringToSlice.indexOf(";");                    if (indexOfSemicolon > -1) {                        var sliceOfAssignments = stringToSlice.slice(0, indexOfSemicolon + 1);                        stringToSlice = stringToSlice.replace(sliceOfAssignments, '');                        sliceOfAssignments = sliceOfAssignments.replace(';', '');                        sendFsEvent(sliceOfAssignments);                    } else {                        sendFsEvent(stringToSlice);                    }                }            }        }    }</script></head>
```

#### How it Works

The appliedSsVariations variable is set by a WATTS macro that pulls together a list of all Variations applied on the page. SiteSpect adds both the variable and the WATTS data (including Campaign ID, Variation Group ID, Variation ID, and Variation name) to the page source. If there is no Campaign or Variation Group associated with the Variation, the ID is 0.

The userCampaigns variable is set by a WATTS macro that pulls together a list of all Campaigns the user is assigned to. (Note: This is a list of Campaigns the user is assigned to but not necessarily counted in.). The list from the macro contains the Campaign ID, Campaign Name, Variation Group ID, and Variation Group Name of all Campaigns the user is assigned to.

The function setUserAssignments iterates through each Variation applied to the page (Campaign and non-Campaign) that is listed in the appliedSsVariations variable and calls the sendFsEvent function.

The sendFsEvent function sends the Variation information to FullStory using their FS.event(). Prior to sending the Variation information, the function checks to see if there is a Campaign associated with the Variation and if so, it locates the the Campaign name and Variation Group name associated with the current Variation in the userCampaigns variable and adds it to the data before sending the Variation information to FullStory.

- [Get Started](https://doc.sitespect.com/knowledge/get-started?hsLang=en#main-content)

    - [SiteSpect Support](https://doc.sitespect.com/knowledge/get-started?hsLang=en#sitespect-support)
    - [Overview Information](https://doc.sitespect.com/knowledge/get-started?hsLang=en#overview-information)
    - [Intro to SiteSpect](https://doc.sitespect.com/knowledge/get-started?hsLang=en#intro-to-sitespect)
    - [Account Setup](https://doc.sitespect.com/knowledge/get-started?hsLang=en#account-setup)
    - [Artificial Intelligence](https://doc.sitespect.com/knowledge/get-started?hsLang=en#artificial-intelligence)
- [Dashboard](https://doc.sitespect.com/knowledge/dashboard?hsLang=en)
- [Build](https://doc.sitespect.com/knowledge/build?hsLang=en#main-content)

    - [Setting Up a Campaign](https://doc.sitespect.com/knowledge/build?hsLang=en#setting-up-a-campaign)
    - [Create a Client-Side Campaign](https://doc.sitespect.com/knowledge/build?hsLang=en#create-a-client-side-campaign)
    - [Create a Server-Side Campaign](https://doc.sitespect.com/knowledge/build?hsLang=en#create-a-server-side-campaign)
    - [Metrics](https://doc.sitespect.com/knowledge/build?hsLang=en#metrics)
    - [Audiences](https://doc.sitespect.com/knowledge/build?hsLang=en#audiences)
    - [Triggers](https://doc.sitespect.com/knowledge/build?hsLang=en#triggers)
    - [Variations](https://doc.sitespect.com/knowledge/build?hsLang=en#variations)
    - [Traffic Management](https://doc.sitespect.com/knowledge/build?hsLang=en#traffic-management)
    - [Preview](https://doc.sitespect.com/knowledge/build?hsLang=en#preview)
    - [Factors](https://doc.sitespect.com/knowledge/build?hsLang=en#factors)
    - [Advanced Settings](https://doc.sitespect.com/knowledge/build?hsLang=en#advanced-settings)
    - [Omnichannel](https://doc.sitespect.com/knowledge/build?hsLang=en#omnichannel)
    - [Regular Expressions (Regex)](https://doc.sitespect.com/knowledge/build?hsLang=en#regular-expressions-regex)
    - [WATTS](https://doc.sitespect.com/knowledge/build?hsLang=en#watts)
    - [Recommendations](https://doc.sitespect.com/knowledge/build?hsLang=en#recommendations)
- [Monitor](https://doc.sitespect.com/knowledge/monitor?hsLang=en)
- [Analyze](https://doc.sitespect.com/knowledge/analyze?hsLang=en#main-content)

    - [Data Export and Integration](https://doc.sitespect.com/knowledge/analyze?hsLang=en#data-export-and-integration)
    - [SiteSpect Reports](https://doc.sitespect.com/knowledge/analyze?hsLang=en#sitespect-reports)
- [Site](https://doc.sitespect.com/knowledge/site?hsLang=en#main-content)

    - [Tools](https://doc.sitespect.com/knowledge/site?hsLang=en#tools)
    - [Configuration](https://doc.sitespect.com/knowledge/site?hsLang=en#configuration)
- [Developers](https://doc.sitespect.com/knowledge/developers?hsLang=en#main-content)

    - [API Reference](https://doc.sitespect.com/knowledge/developers?hsLang=en#api-reference)
    - [Code Samples](https://doc.sitespect.com/knowledge/developers?hsLang=en#code-samples)
    - [Tips & Tricks](https://doc.sitespect.com/knowledge/developers?hsLang=en#tips-tricks)
- [Mobile](https://doc.sitespect.com/knowledge/mobile?hsLang=en)
- [Implementation, Deployment, and Security](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#main-content)

    - [How does SiteSpect work with CDNs?](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#how-does-sitespect-work-with-cdns)
    - [Single Tenant Implementations](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#single-tenant-implementations)
    - [Security Features](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#security-features)
    - [Deployment and Implementation Overview](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#deployment-and-implementation-overview)
    - [SiteSpect Engine & Admin API](https://doc.sitespect.com/knowledge/implementation-deployment-and-security?hsLang=en#sitespect-engine-admin-api)
- [Third-Party Integration](https://doc.sitespect.com/knowledge/third-party-integration?hsLang=en#main-content)

    - [Google](https://doc.sitespect.com/knowledge/third-party-integration?hsLang=en#google)
    - [Zuko](https://doc.sitespect.com/knowledge/third-party-integration?hsLang=en#zuko)
- [Troubleshooting](https://doc.sitespect.com/knowledge/troubleshooting?hsLang=en)
- [Releases](https://doc.sitespect.com/knowledge/releases?hsLang=en#main-content)

    - [Superfresh](https://doc.sitespect.com/knowledge/releases?hsLang=en#superfresh)
- [Feedback](https://doc.sitespect.com/knowledge/feedback?hsLang=en)

- [A/B Testing](https://www.sitespect.com/testing-and-experimentation/)
- [Personalization](https://www.sitespect.com/personalization-targeting/)
- [Recommendations](https://www.sitespect.com/recommendations/)

[![Monetate-Logo-Full-Color-1](https://doc.sitespect.com/hs-fs/hubfs/Monetate-Logo-Full-Color-1.png?width=200&height=29&name=Monetate-Logo-Full-Color-1.png "Monetate-Logo-Full-Color-1")](http://monetate.com)

<https://www.facebook.com/> <https://www.twitter.com/> <https://www.instagram.com/> <https://podcasts.apple.com/> [mailto:email@email.com](mailto:email@email.com)

Copyright © 2026, Monetate