- Part of Anywhere: Activation.
- 1000 Activations per month available with Enterprise and Advanced plans.
- Additional Activations available with Anywhere: Activation. Learn more.
- Requires an Admin or Architect role to configure.
This guide provides a comprehensive walkthrough for configuring Fullstory's Anywhere: Activation real-time streaming to send event data directly into Adobe Experience Platform (AEP).
This integration allows you to leverage Fullstory's detailed event and user data within the Adobe ecosystem, enabling deeper analysis in tools like Customer Journey Analytics (CJA) and powering real-time decisions in Adobe Target or Journey Optimizer.
Prerequisites
Before you start, make sure you have the following:
- An active Fullstory account with access to the Anywhere: Activation feature
- An active Adobe Experience Platform (AEP) account with permissions to manage Schemas, Datasets, and Datastreams.
- Access to the Adobe Developer Console to create API credentials
- Your AEP Organization ID. You can find this in your Adobe account or by using the keyboard shortcut Control+I (on a PC) or Command+I (on a Mac) within AEP
Step 1: Create an XDM Schema in Adobe Experience Platform
First, you need to define the structure—or schema—for the Fullstory data you'll be sending to AEP. This acts as a blueprint for the incoming event data.
- Navigate to Schemas in the AEP user interface.
- Click Create Schema and select Experience Event.
- Give your schema a descriptive name, such as "Fullstory Real-Time Stream Events".
- The schema will start with a base class. You will extend this by adding Field Groups. Field groups are reusable components that define sets of fields.
- Click Add next to "Field groups" to open the gallery. Search for and add the field groups you need. It's best practice to create a specific namespace for your Fullstory data (e.g., _fs-exchange) to keep it organized.
- You can create custom field groups for specific data you want to capture from Fullstory. For example, to capture a productSku from a Fullstory Element, create a new field group named "Product Details" and add a field named productSku with the type String.
A typical schema for Fullstory data might include field groups for:
- Session Info: fsSessionId, sessionReplayUrl, clientSessionId
- Element Interactions: elementName, elementText
- Custom Events: customEventName, eventProperties (as a map or object type)
- Page Properties: pageUrl
After adding your desired field groups and custom fields, click Save.
Step 2: Create a Dataset in Adobe Experience Platform
A dataset is a storage container for the data you collect. Each dataset adheres to a specific schema.
- Navigate to Datasets in the AEP user interface.
- Click Create dataset.
- Select the option to Create dataset from schema.
- Find and select the XDM schema you created in the previous step and click Next.
- Give your dataset a clear name, like "Fullstory Stream Dataset," and an optional description.
- Click Finish.
Step 3: Create a Datastream and API Credentials in Adobe
Next, you'll set up the datastream, which provides the server-side endpoint that Fullstory will send data to. You'll also need to generate API credentials for authentication.
Part A: Create API Credentials in the Adobe Developer Console
- Navigate to the Adobe Developer Console.
- Create a new project.
- Within the project, add an API. When prompted for which credential to add, select an OAuth Server-to-Server credential.
- This will generate a Client ID (also known as the API Key) and a Client Secret. Securely store these values; you will need the Client ID for your Fullstory configuration.
Part B: Create the Datastream in AEP
- In AEP, navigate to Datastreams.
- Click New Datastream.
- Enter a name (e.g., "Fullstory Ingest Stream") and select the XDM schema you created in Step 1.
- Click Save.
- After the stream is created, AEP will display a Datastream ID. Copy and save this ID, as you will need it to construct the endpoint URL in Fullstory.
Step 4: Configure the Real-Time Stream in Fullstory
Now, you'll configure an "Anywhere: Activation" stream in Fullstory to send data to the AEP endpoint you just created.
- In Fullstory, go to Settings > Integrations > Anywhere Activation
- Click Create Stream and select HTTP Endpoint.
- Give the stream a name, like "Adobe AEP Real-Time Events"
-
URL: Enter the AEP streaming endpoint URL. Replace {DATA_STREAM_ID} with the ID you copied from AEP in the previous step:
https://edge.adobedc.net/ee/v2/interact?datastreamId={DATA_STREAM_ID} -
Connection: Create a new connection:
- Authentication type: Use the Oauth 2 client credentials.
-
Access token URL: Enter
https://ims-na1.adobelogin.com/ims/token/v3. - Client ID and Client Secret: Retrieve from the Adobe Developer Console (see Step 3, Part A above).
-
Scopes: Enter the following:
openid, AdobeID, read_organizations, additional_info.projectedProductContext, session.
-
HTTP Headers: Add the following two required headers:
-
x-api-key: Your Client ID from the Adobe Developer Console. -
x-gw-ims-org-id: Your AEP Organization ID.
-
-
Definition: Define the event or pattern that will trigger the stream. For example, you could trigger it every time a user clicks on an element with the name "product tile".
Activation Quota: 1⁄100th Activation per single event trigger; 1 Activation per multi-event pattern trigger. -
Field Mapping: You must use Custom JSON for the payload. Adobe requires a specific structure that nests your data within an xdm object inside an event object.
Below is a template. You must map your Fullstory event data to the fields you defined in your AEP schema.
{
"url": {
"host": "edge.adobedc.net",
"path": "/ee/v2/interact",
"query": {
"datastreamId": [
"list",
"{DATA_STREAM_ID}"
]
}
},
"headers": {
"x-gw-ims-org-id": [
"list",
"{ADOBE_ORG_ID}"
],
"x-api-key": [
"list",
"{CLIENT_ID}"
]
},
"body": {
"event": {
"xdm": {
"timestamp": ["var", "event.0.event_time"],
"_id": ["var", "event.0.app_url_event"],
"eventType": ["var", "event.0.event_type"],
"clientSessionId": ["var", "event.0.client_session_id"],
"customName": ["var", "event.0.custom_name"],
"definedEventName": ["var", "event.0.defined_name"],
"elementText": ["var", "event.0.target_text"],
"elementName": ["var", "event.0.element_name"],
"url": ["var", "event.0.url"],
"sessionReplayUrl": ["var", "event.0.app_url_event"]
}
}
}
}Note: Adjust the field paths to match your schema's namespace and field names.
- Send Test: Make sure the stream is sending successfully to AEP
- Save and enable the stream
Step 5: Complete the Datastream Mapping in Adobe
Once Fullstory is sending data, you must map the incoming JSON fields to your schema in AEP.
- Return to your Datastream in AEP and select Edit Mapping.
- AEP will ask for a sample payload to help identify fields. Create a simple JSON file or directly enter the JSON for the Fullstory event payload and click Next.
- Manually map each Source Field from the incoming Fullstory JSON to the corresponding Target Field in your XDM schema. Example:
- Source: xdm.productSku -> Target: _fs-exchange.productSku
- Source: xdm.timestamp -> Target: timestamp
- Continue mapping all fields from your JSON payload.
- Click Save.
Step 6: Activate the Data Flow
Finally, connect your datastream to the dataset you created to begin storing the incoming data.
- In your AEP Data Stream settings, find the Services section.
- Click Add Service.
- Select Adobe Experience Platform from the dropdown menu.
- Ensure Enabled is checked.
- In the Event Dataset field, select the dataset you created in Step 2 ("Fullstory Stream Dataset").
- Click Save.
Your data flow is now active. You can monitor the Data Flow tab of your datastream to see if events are being successfully received and processed into your dataset (this may take 10-15 minute to start showing up. While the stream is real-time, that happens at the edge for RTCDP and Edge Segmentation). The data is now available in AEP for use in downstream services.
Step 7: Leverage Fullstory data in the Adobe Ecosystem
With the datastream in place and connected to an AEP dataset, you can now take advantage of Fullstory behavioral data in CJA, AJO, Target, and other Adobe products.