Fullstory Extension for Adobe Experience Platform Data Collection

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._fsSessionInfo for 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 userId and properties)
  • 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

  1. In Adobe Experience Platform Data Collection Tags UI, navigate to Data Elements
  2. Click Add Data Element
  3. Select Core extension → Custom Code type
  4. In the code editor, write JavaScript using _satellite.getVar() to reference other data elements
  5. 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:

  1. Create Custom Code data element "User Email" (using _satellite.getVar() code above)
  2. Use it in Adobe Analytics action: Set eVar5 to %User Email%
  3. Use it in a rule condition: If %User Email% contains "@enterprise.com"
  4. 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:

  1. Uses Staging Organization ID if configured
  2. Falls back to Development Organization ID if staging not configured
  3. Falls back to Production Organization ID as final fallback

Development environment:

  1. Uses Development Organization ID if configured
  2. Falls back to Staging Organization ID if development not configured
  3. 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:

  1. Click the "Insert Data Element" button next to any input field
  2. Select your data element from the Adobe picker
  3. 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 as user123 (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 as Button 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, or both
  • 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

 


Was this article helpful?

Got Questions?

Get in touch with a Fullstory rep, ask the community or check out our developer documentation.