Available for the following Plan types:
Fullstory Enterprise
Fullstory Advanced
Fullstory Business
Fullstory for Mobile Apps
Fullstory Free
Available to the following User roles:
Admin
Architect
Standard
The Fullstory tag for Tealium provides a flexible way to deploy Fullstory with Tealium IQ. Identify users, pass custom variables and custom events to Fullstory from your Tealium data layer, all without a single line of code.
Table of Contents
2. Standard Data Layer Destinations
4. Custom Variable Destinations
Tag Installation
The first step to deploying Fullstory via Tealium is to add the tag to your website.
-
On the Tags tab of Tealium iQ, click the “+ Add” button.
-
In the Tag Marketplace search box, type “fullstory”.
-
Find the Fullstory tag, and click “+ Add”. The Tag Configuration modal will appear.
-
In the modal, be sure to enter your Org ID, which is available in your data capture snippet on a line that looks like window['_fs_org'] = 'AB123', where AB123 is the Org ID.
FS
auto-populates in the Namespace field as the default value, but you may need to modify this if another script on your page uses theFS
identifier.
-
Optionally click Next and specify some load rules for the tag.
-
Click Finish.
-
Follow your usual process to save and publish the new tag.
After this minimal set of steps, Fullstory will be deployed to your site per any load rules, and data capture will begin.
Note: that this minimal configuration does not support identifying users or correlating Fullstory and Tealium session IDs. To configure these features, continue to the additional data mapping described in the sections below.
Standard Data Layer Destinations
The behavior of the tag can be customized by mapping data layer variables to some Standard destinations defined by the tag:
-
fs_debug - Controls whether Fullstory debug logging is enabled. When enabled, Fullstory creates detailed logs on the browser console of its captured activities.
-
get_fs_session_id - Controls whether the Fullstory session ID is sent from Fullstory to Tealium. When enabled, the session ID is added to the utag_data object as fs_session_id.
-
ut.session_id - Controls whether the Tealium session ID is passed to Fullstory in any Identify Users API and Set User Properties API calls as the custom variable tealiumSessionId_str.
-
get_tealium_visitor_id - Controls whether the Tealium visitor ID is passed to Fullstory in any Identify Users API and Set User Properties API calls as the custom variable tealiumVisitorId_str.
-
fs_consent - The value for this indicates whether the current user has given consent for data capture; however, this only applies to elements on the page, not to actual data capture itself.
When this destination is mapped, the parameter value is passed to the User Consent API. A value of "true" indicates the user has given consent, and Fullstory data capture proceeds as usual. A value of "false" indicates the user has not given consent, and neither the Identify Users API nor the Set User Properties API will be called by the tag, to avoid capturing any personal data. In addition, when fs_consent is "false" any elements that have been marked as requiring consent in your exclusion settings will be excluded from data capture.
Note: Tealium's built-in Consent Preferences Manager will remove the entire Fullstory tag by default when a user opts out of the tag's assigned category. To avoid full removal of the tag, you must omit it from the set of tags controlled by the preferences pop-up.
Note: all of the above settings are expecting “stringly” typed boolean values, that is to say the string “true” or the string “false”, not the boolean value true or the boolean value false.
As always, don’t forget to save and publish any changes you make to the tag’s data mappings.
User Data Destinations
The minimal configuration described above does not allow for identified sessions in Fullstory. To identify users, you must also provide a data mapping for the Fullstory user ID. See the below pre-defined user data mappings available:
-
uid - Contains the unique application ID of the current user, and indicates that the tag should call the Identify Users API rather than the Set User Properties API.
-
uservars.displayName - In the case when there is an identified user, optionally contains the user’s display name, e.g. Joe Schmoe.
-
uservars.email - In the case when there is an identified user, optionally contains the user’s e-mail address.
If the variables uid, uservars.displayName, and uservars.email are mapped to data layer variables containing the values 1, ‘Daniel Falko’, and ‘daniel.falko@example.com’, respectively, the tag will make a call to our Identify users API. For our V2 Identify users API, this would be equivalent to the following:
FS('setIdentity', {
uid: '462718483',
properties: {
displayName: 'Daniel Falko',
email: 'daniel.falko@example.com'
}
});
Important note: In order for users to be appropriately identified, a variable from the data layer must be mapped to the uid destination, and that variable must be appropriately populated. If the uid mapping is missing, or if the value passed from the data layer to the tag is null or empty, the user will not be identified. Instead of our Identify Users API, the tag will call our Set User Properties API.
Custom Variable Destinations
Fullstory allows for users to specify any amount of custom data on top of user ID, name, and email address. These custom data mappings can be set with the “Custom User Var” option in the “User Parameters” data mappings for the tag.
-
Begin the data mapping as usual by selecting the variable to map and then clicking “Select Destination”. The mapping modal will appear.
-
For Category, select “User Parameters”.
-
For Destination, select the last option, “Custom User Var”
-
By default, the variable will be mapped to a destination named uservars.custom. Click the destination text at the top of the dialog to make it editable.
-
Change the name of the custom variable to the name you wish to see in Fullstory. Make sure to use a naming convention consistent with the data type of the variable’s value.
-
Click Close.
You may create many custom fields with different data types, as long as each of them receives a unique name starting with the prefix “uservars.” The below screenshot shows an example where the standard email and display name fields have been defined, along with two string-type custom fields.
Event Destinations
If you are doing event tracking and/or link tracking with Tealium, you can also set up the Fullstory tag to pass those events into Fullstory as custom events. Every custom event in Fullstory has both an event name and a set of custom properties that can be configured in the Tealium data layer. The relevant destinations are:
- fs_event_name - This is a string containing the name of the custom event (see the Analytics Events API call for additional discussion of naming events). If you are using the Tealium Events Extension, you should map this destination to the data layer variable
tealium_event
. - fs_event_object - If you wish to pass custom properties for the event as an entire, pre-built object, you can do so by mapping the data layer variable for that object to the fs_event_object destination. The object's structure must follow the same rules as the custom event properties for the Analytics Events call; in other words, it may contain nested objects and arrays of atomic values, but not arrays of objects.
- fs_event.custom - If you wish to pass custom properties to the event singly, use the fs_event destination. This destination works similarly to the custom variable destination described above. As you map data layer variables, simply replace the text "custom" in the destination name with the property name that you want to pass to Fullstory.
Page Destinations
To send custom page data, you'll need to provide page event mappings for the Fullstory page ID. See the below pre-defined page event mappings available:
- fs_page.pageName - A reserved property used to “name” Pages in Fullstory. This will show up in Visited Page search menus. It should not be used with high cardinality values like individual product pages or blog posts.
- fs_page.category - An optional way to categorize a group of pages.
- fs_page.title - The specific html meta title for the page.
- fs_page.url - The page urls (FS captures this out of the box as a “built in” property).
- fs_page.image_url - The hero image for a page, often used for search engines to preview content (google, Facebook, Pinterest).
- fs_page.custom - If you wish to pass single custom page properties, use the fs_page destination. This destination works similarly to the custom variable destination described above. As you map data layer variables, simply replace the text “custom” in the destination name with the property name that you want to pass to Fullstory.
- fs_page_object - If you wish to pass custom properties for the page as an entire, pre-built object, you can do so by mapping the data layer variable for that object to the fs_page_object destination. The object’s structure must follow the same rules as the custom page properties for the Set Page Properties API call; in other words, it may contain nested objects and arrays of atomic values, but not arrays of objects.
Update your snippet
In Tealium, follow these steps to update your Fullstory snippet.
- Select Tags
- Click Edit icon
- Click and Open Advanced settings
- Select Edit template
- Click update in the top right
Finding Sessions Using Tealium Variables
You'll likely want to find sessions in Fullstory using the Tealium session ID or the Tealium visitor ID. Both of these values will come into Fullstory as custom variables, which means only the most recent value will be available in the user profile:
To search for older sessions with a specific Tealium session or visitor ID, add a “Any Activity” filter, then click the ellipsis to the right to show a list of custom fields against which you can search. Below is an example of searching by session ID, with one matching user:
Below is an example of searching by visitor ID:
Additional Notes
The tag makes heavy use of the _fs_ready callback. If you are writing extensions that include some some custom JavaScript code, please do not specify your own value for _fs_ready. Such an extension will override the functionality of the tag and stop information being passed between the data layer and the tag.
Lastly, in the rare event that Fullstory updates our snippet, Tealium users will need to go into their Tealium instance and manually update our snippet.
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.
Ingest Retail attributes defined in Tealium IQ’s Data Layer.
To enable Tealium IQ for your Data Layer with Fullstory, follow the below steps:
- Navigate to Settings > Integrations > Manage in your account
- Find the Tealium IQ integration and click Install at the end of the row
When enabled, Tealium’s data layer will be captured specific to Retail data. Data related to customer and user personal information (e.g. customer_first_name, customer_last_name, and customer_email_address) is not captured.
For more info, check out Tealium IQ's Retail Definition & standard documentation.