Edge implementation overview
The Adobe Experience Platform Edge Network lets you send data destined for multiple products to a single endpoint, which then forwards the appropriate information to each product. This is the recommended way to implement the Streaming Media Collection, and is the only approach that supports both Adobe Analytics and Customer Journey Analytics from a single implementation.
In contrast to the legacy Media SDK approach, which required product-specific instrumentation for each Adobe solution, an Edge implementation uses a shared XDM data model and a single datastream. Data flows from your SDK or API to the Edge Network, which then routes it to whichever Adobe products are configured in the datastream (Analytics, CJA, AJO, or RTCDP). This means switching or adding downstream products later does not require re-instrumenting your media events.
Regardless of which codebase you use, you must first complete the platform setup described on this page: create a schema, create a dataset, and configure a datastream.
Prerequisites
-
Complete the general prerequisites. See the general prerequisites.
-
Confirm a compatible Adobe solution. You must have a working implementation of at least one of the following:
- Customer Journey Analytics: The primary reporting destination for Edge-based media data
- Adobe Analytics: Supported alongside or instead of CJA via the same datastream
- Adobe Journey Optimizer or Real-Time Customer Data Platform: Add the Adobe Experience Platform service to your datastream when configuring either of these
Set up the schema in Adobe Experience Platform
To standardize data collection across applications that use Adobe Experience Platform, Adobe created the open, publicly documented Experience Data Model (XDM) standard.
-
In Adobe Experience Platform, begin creating the schema as described in Create and edit schemas in the UI.
-
On the Schema details page, choose Experience Event as the base class for the schema.
-
Select Next.
-
Specify a schema display name and description, then select Finish.
-
In the Composition area, in the Field groups section, select Add, then search for and add the following field groups to the schema:
End User ID DetailsImplementation DetailsMediaAnalytics Interaction Details
After you add the field groups, they display in the Field groups section:
-
Select Save to save your changes.
-
(Optional) You can hide certain fields from the schema UI. These fields are server-computed reporting fields that Adobe populates on the backend — they are not sent by your SDK or API and do not affect data collection. Hiding them has no functional impact; it only reduces visual noise when browsing the schema in the AEP UI. These fields refer only to those in the
MediaAnalytics Interaction Detailsfield group.accordion Expand to view instructions on fields you can hide. -
In the Structure area, select the
Media Collection Detailsfield, then select Manage related fields.
-
Enable the option to Show display names for fields, then update the schema as follows:
-
In the
Media Collection Details>Advertising Detailsfield, hide the following reporting fields:Ad Completed,Ad Started, andAd Time Played. -
In the
Media Collection Details>Advertising Pod Detailsfield, hide the following reporting field:Ad Break ID -
In the
Media Collection Details>Chapter Detailsfield, hide the following reporting fields:Chapter Completed,Chapter ID,Chapter Started, andChapter Time Played. -
In the
Media Collection Detailsfield, hide theList Of Statesfield.
-
In the
Media Collection Details>List Of States EndandMedia Collection Details>List Of States Startfield, hide the following reporting fields:Player State Count,Player State Set, andPlayer State Time.
-
In the
Media Collection Details>Qoe Data Detailsfield, hide the following reporting fields:Average Bitrate,Average Bitrate Bucket,Bitrate Change Impacted Streams,Bitrate Changes,Buffer Impacted Streams,Buffer Events,Dropped Frame Impacted Streams,Drops Before Starts,Errors,External Error IDs,Error Impacted Streams,Media SDK Error IDs,Player SDK Error IDs,Stalling Impacted Streams,Stalling Events,Total Buffer Duration, andTotal Stalling Duration. -
In the
Media Collection Details>Session Detailsfield, hide the following reporting fields:10% Progress Marker,25% Progress Marker,50% Progress Marker,75% Progress Marker,95% Progress Marker,Ad Count,Average Minute Audience,Content Completes,Chapter Count,Content Starts,Content Time Spent,Estimated Streams,Federated Data,Media Segment Views,Media Downloaded Flag,Media Starts,Media Session ID,Media Session Server Timeout,Media Time Spent,Pause Events,Pause Impacted Streams,Pev3,Pccr,Total Pause Duration,Unique Time Played, andVideo Segment.
-
-
Select Confirm to save your changes.
-
In the Structure area, enable the option to Show display names for fields, then select the
List Of Media Collection Downloaded Content Eventsfield. -
Select Manage related fields, then update the schema as follows:
-
In the
List Of Media Collection Downloaded Content Events>Media Details>Advertising Detailsfield, hide the following reporting fields:Ad Completed,Ad Started, andAd Time Played. -
In the
List Of Media Collection Downloaded Content Events>Media Details>Advertising Pod Detailsfield, hide the following reporting field:Ad Break ID -
In the
List Of Media Collection Downloaded Content Events>Media Details>Chapter Detailsfield, hide the following reporting fields:Chapter Completed,Chapter ID,Chapter Started, andChapter Time Played. -
In the
List Of Media Collection Downloaded Content Events>Media Detailsfield, hide theList Of Statesfield. -
In the
List Of Media Collection Downloaded Content Events>Media Details>List Of States EndandMedia Collection Details>List Of States Startfield, hide the following reporting fields:Player State Count,Player State Set, andPlayer State Time. -
In the
List Of Media Collection Downloaded Content Events>Media Details>Qoe Data Detailsfield, hide the following reporting fields:Average Bitrate,Average Bitrate Bucket,Bitrate Change Impacted Streams,Bitrate Changes,Buffer Events,Buffer Impacted Streams,Drops Before Starts,Dropped Frame Impacted Streams,Error Impacted Streams,Errors,External Error IDs,Media SDK Error IDs,Player SDK Error IDs,Stalling Events,Stalling Impacted Streams,Total Buffer Duration, andTotal Stalling Duration. -
In the
List Of Media Collection Downloaded Content Events>Media Details>Session Detailsfield, hide the following reporting fields:10% Progress Marker,25% Progress Marker,50% Progress Marker,75% Progress Marker,95% Progress Marker,Ad Count,Average Minute Audience,Chapter Count,Content Completes,Content Starts,Content Time Spent,Estimated Streams,Federated Data,Media Downloaded Flag,Media Segment Views,Media Session ID,Media Session Server Timeout,Media Starts,Media Time Spent,Pause Events,Pause Impacted Streams,Pccr,Pev3,Total Pause Duration,Unique Time Played, andVideo Segment. -
In the
List Of Media Collection Downloaded Content Events>Media Detailsfield, hide theMedia Session IDfield.
-
-
Select Confirm to save your changes.
-
In the Structure area, select the
Media Reporting Detailsfield, then select Manage related fields. -
Enable the option to Show display names for fields, then update the schema as follows:
- In the
Media Reporting Detailsfield, hide the following fields:Error Details,List Of States End,List of States Start, andMedia Session ID.
- In the
-
Select Confirm > Save to save your changes.
-
-
(Optional) You can add custom metadata to your schema. This lets you include additional, user-defined metadata for specific needs or contexts. For more information about custom metadata with the Media Edge API, see Custom metadata support.
accordion Expand to view instructions on adding custom metadata to your schema. -
Locate the tenant name of the org by selecting Account info > Assigned orgs > org name > tenant.
Custom fields are received through this path. (For example, tenant name: _dcbl → myCustomField path: _dcbl.myCustomField.)
-
Add a custom field group to your defined media schema.
-
Add any custom fields that you want to track to the field group.
-
Use the path generated for the custom field in your request payload.
-
Create a dataset in Adobe Experience Platform
-
In Adobe Experience Platform, begin creating the dataset as described in the Datasets UI guide.
When selecting a schema for your dataset, choose the schema that you previously created.
Configure a datastream in Adobe Experience Platform
-
Create a new datastream as described in Configure a datastream.
When creating the datastream, make the following selections:
-
In the Event Schema field, select the schema that you created in Set up the schema in Adobe Experience Platform.
note important IMPORTANT Select Save; do not select Save and Add Mapping. Selecting Save and Add Mapping causes mapping errors for the Timestamp field.
-
Add the appropriate service(s) to the datastream based on your Adobe solution. For information about adding a service, see “Add services to a datastream” in Configure a datastream.
-
Adobe Analytics (if using Adobe Analytics): define a report suite as described in Create a report suite.
-
Adobe Experience Platform (if using Customer Journey Analytics, Adobe Journey Optimizer, or Real-Time Customer Data Platform)
-
-
Expand Advanced Options, then enable the Media Analytics option.
-
Choose your implementation method
With the schema, dataset, and datastream in place, implement one of the following codebases to start sending streaming media data to the Edge Network. Each page covers the streaming-media-specific setup; the per-event and per-variable code lives in Events and Variables.
In-code implementations write SDK calls directly in your application source code. Using Tags implementations use Adobe Experience Platform Tags which lets you configure and deploy tracking rules without modifying your application code. Choose whichever approach fits your deployment workflow.
Next step
After you begin collecting data, you can configure reporting:
- Set up reporting for Edge implementations (Customer Journey Analytics)
- Set up reporting for Analytics-only implementations (if your datastream feeds Adobe Analytics)