This guide focuses on capturing the URL from Fullstory and adding it to the Tealium Data Layer (UDO). The key challenge is that the Fullstory session URL is not available until after the Fullstory script has fully initialized and started a session, which can create a race condition with Tealium's tags.
The best practice is to use a Pre Loader extension in Tealium to define the official _fs_ready callback. This ensures that as soon as Fullstory is ready, it populates the Tealium Data Layer, making the URL available for all subsequent tracking calls.
Looking for a different Adobe integration? See Fullstory and Adobe for all available integration paths.
Prerequisites
Prerequisites:
- Fullstory: The Fullstory data capture snippet is already implemented on your website.
- Tealium iQ: You have access to your Tealium iQ profile and it is implemented on the same site.
- AEP Tag: You have the Adobe Experience Platform Web SDK tag added to your Tealium iQ profile. (If AEP is not in scope, see Adobe Analytics - Fullstory Session URLs instead.)
Step 1: Create a JavaScript Extension in Tealium iQ
This extension will set up a listener. When the Fullstory script is ready, it will grab the session URL and push it directly into the utag.data object.
- Navigate to iQ Tag Management in your Tealium profile.
- Go to the Extensions tab.
- Click + Add Extension .
- Select the JavaScript Code extension.
- Give the extension a descriptive Title , such as "Set Fullstory Session URL".
- In the Scope dropdown, select After Load Rules . This is critical as it ensures your listener is set up before any tags (including AEP) fire.
Note: Use the After Load Rules scope to ensure your listener is set up before any tags fire. This prevents race conditions where tags attempt to access the Fullstory session URL before it's available.
In the code editor, paste the following JavaScript:
// Ensure the utag data object exists
window.utag = window.utag || {};
window.utag.data = window.utag.data || {};
try {
if (typeof window.FS === 'function') {
var fsURL = window.FS('getSession', { format: 'url' });
// If we successfully got the URL, add it to the UDO
if (fsURL) {
window.utag.data.fullstory_session_url = fsURL;
}
}
} catch (e) {
// Optional: log an error to the console for debugging
console.log("Tealium <Fullstory> Extension Error: " + e);
}
Note: This code uses version 2 of the Fullstory Browser API. If your site uses an older version of the Fullstory snippet, refer to the V1 API documentation for the equivalent methods.
- Click Save .
Step 2: Add the Variable to Your Data Layer
Now that the extension is populating utag.data.fullstory_session_url , you must officially define this variable in Tealium's Data Layer so it can be used by tags.
- Go to the Data Layer tab in Tealium iQ.
- Click + Add Variable .
- In the Source field, enter the exact name you used in the JavaScript extension:
fullstory_session_url. - In the Type dropdown, select UDO Variable .
- Give it a user-friendly Alias (e.g., Fullstory Session URL).
- Click Apply .
Step 3: Map the Variable to Adobe Experience Platform (AEP)
With the variable in the Tealium Data Layer, you can now map it to your AEP tag to send to the Experience Platform.
- Under the iQ Tag Management menu click on the Tags tab.
- Find and click on your Adobe Experience Platform Web SDK tag to edit its configuration.
- Click on the Mapped Variables tab.
- Find the Mapped Variables dropdown and search for Fullstory Session URL (or whatever alias you created).
- Click the Add Mapping button, and you need to map your Fullstory Session URL to your desired XDM field. You will need to:
- Select Custom Destination and enter the full XDM path for the field you created in AEP to store this URL.
-
Example XDM Path:
_yourtenantid.fullstorySessionUrlorweb.webPageDetails.sessionReplayUrl(depending on your specific XDM schema). - Click Done .
- Click Apply.
Step 4: Save, Publish, and Validate
- In the top right corner click Save/Publish to save your changes in Tealium iQ.
- Publish your work to your development or QA environment.
-
Validate your work:
-
Check the Data Layer: Open your website in a browser with the developer console. After the page loads, type
utag.data.fullstory_session_urland press Enter. You should see the Fullstory session URL returned as a string. - Check the AEP Beacon: Use the Adobe Experience Platform Debugger browser extension. Load your page and look at the "Network" events for the AEP Web SDK. Inspect the payload (the events array) to find your XDM field and verify it contains the Fullstory URL.
-
Check the Data Layer: Open your website in a browser with the developer console. After the page loads, type
Not using AEP? If you want to send Fullstory session replay URLs to Adobe Analytics (not Adobe Experience Platform), see Adobe Analytics - Fullstory Session URLs.