The Fullstory Extension for Adobe Experience Platform Data Collection (formerly Adobe Launch) integrates Fullstory's digital experience analytics with your customer data platform. This extension is far more than just a simple Fullstory snippet loader — it's a complete Fullstory management suite for Adobe Experience Platform Data Collection that empowers your team to deploy and configure Fullstory without touching code.
Beyond basic integration
Traditional Fullstory implementation requires developers to manually add the snippet to your codebase and write custom JavaScript for every configuration change. This extension eliminates that dependency entirely by providing:
- No‑code deployment — Launch Fullstory across your digital properties through Adobe Experience Platform's UI, no developer required
- Complete API access — Full access to all Fullstory client APIs (identify, track events, setUserVars, etc.) via visual rule builder
- Data integration — Makes Fullstory session data, user data, and page data available as data elements throughout Adobe Experience Platform for use in other extensions and analytics tools
- Advanced configuration — Visual controls for consent management, Fullstory Relay (first‑party data collection), kiosk support, multi‑environment org IDs, and datacenter selection
-
Client‑side data exposure — Create window variables (like
window._fsSessionInfo) to pass session URLs, IDs, and custom metadata to third‑party tools (support platforms, error tracking, etc.) - Dynamic rules — Use Adobe's rule engine to conditionally initialize Fullstory, identify users based on events, or track custom events based on page interactions
Real‑world impact
For Marketing and Analytics teams:
- Launch and configure Fullstory instantly without waiting for engineering sprints
- Integrate Fullstory data with Adobe Analytics, Google Analytics, and other platforms
- Build complex tracking rules and user identification flows visually
For Customer Success and Support:
- Access session replay URLs directly from support tools such as Zendesk and Intercom
- Identify customers and track support interactions without custom code
- Pass contextual data between Fullstory and your support stack
For Privacy and Compliance:
- Manage consent workflows visually with delay capture and start or stop controls
- Configure Fullstory Relay for first‑party data collection
- Adjust privacy settings across environments without code changes
For Enterprise organizations:
- Manage different Fullstory org IDs for development, staging, and production environments
- Centralize tag management alongside your other marketing and analytics tools
- Maintain consistency across teams without requiring deep technical knowledge
This extension transforms Fullstory from a developer‑dependent integration into a business‑user‑empowered platform that scales with your organization's needs.
What is Adobe Experience Platform?
Adobe Experience Platform is a comprehensive, cloud‑based system designed to centralize and standardize customer data from various sources, enabling organizations to deliver personalized experiences across all digital and physical touchpoints.
Adobe Experience Platform Data Collection (the platform formerly known as Adobe Launch) is the tag management system within Adobe Experience Platform that allows you to:
- Collect customer data from websites and mobile apps
- Deploy marketing and analytics tools via extensions
- Manage data flow to Adobe solutions and third‑party platforms
- Control data collection with rules, data elements, and events
What the Fullstory extension does
This Fullstory extension enables you to:
- Capture digital experience data with Fullstory's session replay and analytics
- Identify users and associate sessions with customer profiles in Adobe Experience Platform
- Track custom events that integrate with your customer journey analytics
- Monitor user behavior across your digital properties
- Trigger personalization based on Fullstory insights
The extension acts as a bridge between your customer data platform and Fullstory's digital experience intelligence, enabling comprehensive customer experience optimization.
Features
Actions (9)
- Load Fullstory — Initialize Fullstory tracking
- Identify User — Associate users with unique IDs
- Track Event — Record custom events
- Set User Properties — Capture user attributes
- Set Page Properties — Set page‑level properties
- Start Data Capture — Begin or resume recording
- Stop Data Capture — Stop recording
- Anonymize User — Remove user identification
-
Get Session Info — Retrieve session data and store at
window._fsSessionInfofor third‑party tools
Events (4)
- Fullstory Ready — Fires when FS is initialized
- Organization ID Configured — Fires when org ID is set
- Session Started — Fires when a new session begins
- Page Changed — Fires on SPA page transitions
Data elements (8)
- Session ID — Current Fullstory session ID
- Session URL — Session replay URL
- User ID — Current identified user ID
- User Properties — Current user attributes (JSON string)
- Page Properties — Current page properties (JSON string)
- Extension Config — Extension configuration (JSON string)
-
Current User — Complete user data (JSON string with
userIdandproperties) - Is Initialized — FS initialization status (boolean)
Best practice: extracting specific values from JSON data elements
Some Fullstory data elements return JSON strings containing multiple values. To extract specific properties, create Custom Code data elements using Adobe's Core extension.
How to create a Custom Code data element
- In Adobe Experience Platform Data Collection Tags UI, navigate to Data Elements
- Click Add Data Element
- Select Core extension → Custom Code type
- In the code editor, write JavaScript using
_satellite.getVar()to reference other data elements - Return the extracted value
Example 1: Extract a specific user property
try {
var userPropsJson = _satellite.getVar('User Properties'); // Reference Fullstory data element
if (userPropsJson) {
var userProps = JSON.parse(userPropsJson);
return userProps.email || null; // Extract just the email property
}
return null;
} catch (e) { return null; }Example 2: Extract userId from Current User
try {
var currentUserJson = _satellite.getVar('Current User'); // Reference Fullstory data element
if (currentUserJson) {
var currentUser = JSON.parse(currentUserJson);
return currentUser.userId || null; // Extract just the userId
}
return null;
} catch (e) { return null; }Example 3: Extract a specific page property
try {
var pagePropsJson = _satellite.getVar('Page Properties'); // Reference Fullstory data element
if (pagePropsJson) {
var pageProps = JSON.parse(pagePropsJson);
return pageProps.category || pageProps.pageName || null; // Extract category or fallback to pageName
}
return null;
} catch (e) { return null; }Example 4: Extract org ID from Extension Config
try {
var configJson = _satellite.getVar('Extension Config'); // Reference Fullstory data element
if (configJson) {
var config = JSON.parse(configJson);
return config.orgId || null; // Extract just the orgId
}
return null;
} catch (e) { return null; }Important: Different syntax for different contexts
- Custom Code data elements editor: use
_satellite.getVar('Name') - Action configuration fields: use token syntax
%Name% - Custom Code actions: use
_satellite.getVar('Name')
Why use Custom Code data elements for extraction?
- Reusable — Create once, use in any rule or action with
%Name%syntax - Type‑safe — Extract exactly the value you need
- Error handling — Gracefully handles missing data
- Compatible — Works with all Adobe Experience Platform features
- Maintainable — Easy to update extraction logic in one place
Common use cases:
- Pass specific user properties to other Adobe extensions such as Analytics or Target
- Use user email in conditional logic for personalization rules
- Extract page category for segmentation
- Send Fullstory org ID to other analytics tools
Example workflow:
- Create Custom Code data element "User Email" (using
_satellite.getVar()code above) - Use it in Adobe Analytics action: Set eVar5 to
%User Email% - Use it in a rule condition: If
%User Email%contains "@enterprise.com" - The extracted value flows throughout your Adobe Experience Platform configuration
Configuration
Extension settings
Configure the extension in Adobe Experience Platform Data Collection with:
Required settings
- Production Organization ID — Your Fullstory production org ID (required)
Optional settings
- Development Organization ID — Fullstory org ID for development environment
- Staging Organization ID — Fullstory org ID for staging environment
- Data Center — NA1 (default) or EU1
- Namespace — Custom API namespace (default: 'FS')
- Delay Capture — For consent management
- Enable Relay — Enable Fullstory Relay for first‑party data collection
- Relay Host — Custom relay host when Relay is enabled
- Relay Script — Custom relay script URL when Relay is enabled
Multi‑environment Organization ID support
The extension automatically selects the appropriate Organization ID based on the Adobe Experience Platform environment.
Environment detection and cascading fallback
Production environment:
- Uses Production Organization ID only
Staging environment:
- Uses Staging Organization ID if configured
- Falls back to Development Organization ID if staging not configured
- Falls back to Production Organization ID as final fallback
Development environment:
- Uses Development Organization ID if configured
- Falls back to Staging Organization ID if development not configured
- Falls back to Production Organization ID as final fallback
This cascading fallback ensures your extension always has a valid Organization ID while providing flexibility for multi‑environment setups.
Example use cases
Single environment (simple setup):
Production OrgID: XXXXX-prod Development OrgID: (not configured) Staging OrgID: (not configured) → All environments use XXXXX-prod
Multi‑environment (recommended):
Production OrgID: XXXXX-prod Development OrgID: XXXXX-dev Staging OrgID: XXXXX-staging → Development uses XXXXX-dev → Staging uses XXXXX-staging → Production uses XXXXX-prod
Partial configuration:
Production OrgID: XXXXX-prod Development OrgID: XXXXX-dev Staging OrgID: (not configured) → Development uses XXXXX-dev → Staging uses XXXXX-dev (fallback) → Production uses XXXXX-prod
Data Element support in actions
All action inputs support Adobe Experience Platform Data Elements using the %dataElementName% syntax. This enables dynamic, rule‑based data injection.
Power feature: Data elements aren't just for standalone values. You can concatenate multiple data elements with static text in any string field. For example:
"Order #%order_id% - %customer_name%"→"Order #12345 - John Doe". This works in all actions including Identify User, Track Event, Set User Properties, and Set Page Properties.
Using data elements
Via UI picker:
- Click the "Insert Data Element" button next to any input field
- Select your data element from the Adobe picker
- The data element token is automatically inserted
Manual entry:
- Type
%dataElementName%directly into any input field
Pro tip: You can concatenate multiple data elements with static text in the same string.
Supported fields and JSON guidance
Identify User action
- User ID:
%user_id%or a static value such asuser123(text field — no quotes needed) - User Properties: JSON field — mix data elements as shown below
Track Event action
- Event Name:
%event_type%or a static value such asButton Clicked(text field — no quotes needed) - Event Properties: JSON field — mix data elements as shown below
Set User Properties action
- User Properties: JSON field
Set Page Properties action
- Page Properties: JSON field
Using data elements in JSON fields
String values — wrap tokens in quotes:
{"displayName":"%user_name%","email":"%user_email%","plan":"premium"}Numbers and booleans — no quotes:
{"age":%age%,"cartSize":%cart_count%,"isPremium":%is_premium%}Entire object — use data element alone:
%user_properties%Examples:
{"displayName":"%user_name%","email":"%user_email%","plan":"premium"}
{"pageName":"%page_name%","category":"electronics","cartSize":%cart_count%}
%user_properties%Advanced concatenation examples:
{"displayName":"Customer %customer_id%","plan":"premium"}
{"pageTitle":"%category% - %product_name% | Store","source":"web"}
{"userId":"uid_%timestamp%_%session_id%","version":"v2"}Get Session Info action
- Session Format:
url,id, orboth - Session Properties: JSON field - see below
Default behavior (stores session URL and ID):
window._fsSessionInfo = {
url: "<session url>",
id: "<session id>"
};With custom properties:
{"timestamp":%current_time%,"pageUrl":"%page_url%","environment":"production"}Resulting object:
window._fsSessionInfo = {
url: "<session url>",
id: "<session id>",
timestamp: 1234567890,
pageUrl: "<page url>",
environment: "production"
};Common use cases
- Pass session replay URLs to support tools
- Add session context to analytics platforms
- Include session data in error tracking tools
- Store custom metadata with session info