Implement the Streaming Media Collection using the Edge Network

The Adobe Experience Platform Edge Network allows you to send data destined to multiple products to a centralized location. Experience Edge forwards the appropriate information to the desired products. This concept allows you to consolidate implementation efforts, especially spanning multiple data solutions.

The following graphic illustrates how the Adobe Streaming Media Collection can be implemented to use Experience Platform Edge to make data available in Analysis Workspace, either in Adobe Analytics or Customer Journey Analytics:

CJA workflow

For an overview of all implementation options, including implementation methods that don’t use Experience Platform Edge, see Implement the Streaming Media Collection.

Regardless of whether you use the Adobe Experience Platform Web SDK, the Adobe Experience Platform Mobile SDK, the Adobe Experience Platform Roku SDK, or the API to implement the Streaming Media Collection with Experience Edge, you must first complete the following sections:

Set up the schema in Adobe Experience Platform

To standardize data collection for use across applications that leverage Adobe Experience Platform, Adobe has created the open and publicly documented standard, Experience Data Model (XDM).

To create and set up a schema:

  1. In Adobe Experience Platform, begin creating the schema as described in Create and edit schemas in the UI.

  2. On the Schema details page when creating the schema, choose Experience Event when choosing the base class for the schema.

    Added field groups

  3. Select Next.

  4. Specify a schema display name and description, then select Finish.

  5. In the Composition area, in the Field groups section, select Add, then search for and add the following new field groups to the schema:

    • Adobe Analytics ExperienceEvent Template
    • Implementation Details
    • MediaAnalytics Interaction Details

    After you add the field groups, they should display in the Field groups section, as follows:

    Added field groups

  6. Select Save to save your changes.

  7. (Optional) You can hide certain fields that are not used by the Media Edge API. Hiding these fields makes the schema easier to read and understand, but it is not required. These fields refer only to those in the MediaAnalytics Interaction Details fieldgroup.

    accordion
    Expand here to view instructions on fields that you can hide.
    1. In the Structure area, select the Media Collection Details field, then select Manage related fields.

      manage-related-fields

    2. Enable the option to Show display names for fields, then update the schema as follows:

      • In the Media Collection Details > Advertising Details field, hide the following reporting fields: Ad Completed, Ad Started, and Ad Time Played.

      • In the Media Collection Details > Advertising Pod Details field, hide the following reporting field: Ad Break ID

      • In the Media Collection Details > Chapter Details field, hide the following reporting fields: Chapter Completed, Chapter ID, Chapter Started, and Chapter Time Played.

      • In the Media Collection Details field, hide the List Of States field.

        hide media collection states

      • In the Media Collection Details > List Of States End and Media Collection Details > List Of States Start field, hide the following reporting fields: Player State Count, Player State Set, and Player State Time.

        fields to hide

      • In the Media Collection Details > Qoe Data Details field, 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, and Total Stalling Duration.

      • In the Media Collection Details > Session Details field, 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, and Video Segment.

    3. Select Confirm to save your changes.

    4. In the Structure area, enable the option to Show display names for fields, then select the List Of Media Collection Downloaded Content Events field.

    5. Select Manage related fields, then update the schema as follows:

      • In the List Of Media Collection Downloaded Content Events > Media Details > Advertising Details field, hide the following reporting fields: Ad Completed, Ad Started, and Ad Time Played.

      • In the List Of Media Collection Downloaded Content Events > Media Details > Advertising Pod Details field, hide the following reporting field: Ad Break ID

      • In the List Of Media Collection Downloaded Content Events > Media Details > Chapter Details field, hide the following reporting fields: Chapter Completed, Chapter ID, Chapter Started, and Chapter Time Played.

      • In the List Of Media Collection Downloaded Content Events > Media Details field, hide the List Of States field.

      • In the List Of Media Collection Downloaded Content Events > Media Details > List Of States End and Media Collection Details > List Of States Start field, hide the following reporting fields: Player State Count, Player State Set, and Player State Time.

      • In the List Of Media Collection Downloaded Content Events > Media Details > Qoe Data Details field, 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, and Total Stalling Duration.

      • In the List Of Media Collection Downloaded Content Events > Media Details > Session Details field, 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, and Video Segment.

      • In the List Of Media Collection Downloaded Content Events > Media Details field, hide the Media Session ID field.

    6. Select Confirm to save your changes.

    7. In the Structure area, select the Media Reporting Details field, select Manage related fields.

    8. Enable the option to Show display names for fields, then update the schema as follows:

      • In the Media Reporting Details field, hide the following fields: Error Details, List Of States End, List of States Start, and Media Session ID.
    9. Select Confirm > Save to save your changes.

  8. (Optional) You can add custom metadata to your schema. This allows you to include additional, user-defined metadata that can be customized for specific needs or contexts. This flexibility is useful in scenarios where existing schemas do not cover desired data points. (You can also work with custom metadata with Media Edge APIs. For more information, see Create custom metadata with Media Edge APIs.)

    accordion
    Expand here to view instructions on how to add custom metadata to your schema.
    1. Locate the name of the tenant of the org by selecting Account info > Assigned orgs > org name > tenant.

      These custom fields will be received through this path. (For example, tenant name: _dcbl → myCustomField path: _dcbl.myCustomField.)

    2. Add a custom field group to your defined media schema.

      add-custom-metadata

    3. Add any custom fields that you want to track to the field group.

      add-custom-metadata

    4. Use the path generated for the custom field in your request payload.

      add-custom-metadata

  9. Continue with Create a dataset in Adobe Experience Platform.

Create a dataset in Adobe Experience Platform

  1. Ensure that you set up a schema as described in Set up the Schema in Adobe Experience Platform.

  2. In Adobe Experience Platform, begin creating the dataset as described in Datasets UI guide.

    When selecting a schema for your dataset, choose the schema that you previously created, as described in Set up the Schema in Adobe Experience Platform.

  3. Continue with Configure a datastream in Customer Journey Analytics.

Configure a datastream in Adobe Experience Platform

  1. Ensure that you created a dataset as described in Create a dataset in Adobe Experience Platform.

  2. Create a new datastream as described in Configure a datastream.

    When creating the datastream, ensure that you make the following configuration selections:

    • In the Event Schema field when creating the datastream, ensure that you select the schema that you created in Set up the schema in Adobe Experience Platform. Select Save.

      note important
      IMPORTANT
      Do not select Save and Add Mapping because doing so will result in mapping errors for the Timestamp field.

      Create datastream and select schema

    • Add either of the following services to the datastream, depending on whether you are using Adobe Analytics or Customer Journey Analytics:

      • Adobe Analytics (if using Adobe Analytics)

        If you are using Adobe Analytics, make sure you define a report suite, as described in Create a report suite.

      • Adobe Experience Platform (if using Customer Journey Analytics)

      For information about how to add a service to a datastream, see the “Add services to a datastream” section in Configure a datastream.

      Add the Adobe Analytics service

      • Expand Advanced Options, then enable the Media Analytics option.

      Media Analytics option

  3. You are now ready to implement the Media Edge API or Media Edge SDK to start collecting media analytics data.

    After you have collected some data, you can Create a connection in Customer Journey Analytics.

Create a connection in Customer Journey Analytics

NOTE
The following procedure is required only if you are using Customer Journey Analytics.
  1. Ensure that you created a datastream as described in Configure a datastream in Customer Journey Analytics.

  2. In Customer Journey Analytics, create a connection as described in Create a connection.

    When creating the connection, the following configuration selections are required for implementing the Streaming Media Collection:

    1. Select the dataset that you previously created, as described in Create a dataset in Adobe Experience Platform.

    2. Ensure that the Import all new data setting is enabled.

  3. Continue with Create a data view in Customer Journey Analytics.

Create a data view in Customer Journey Analytics

NOTE
The following procedure is required only if you are using Customer Journey Analytics.
  1. Ensure that you created a connection in Customer Journey Analytics as described in Create a connection in Customer Journey Analytics.

  2. In Customer Journey Analtyics, create a data view as described in Create or edit a data view.

    When creating the data view, the following configuration selections are required for implementing the Streaming Media Collection:

    1. In the Connection field, select the connection that you previously created, as described in Create a connection in Customer Journey Analytics.

      It can take up to 15 minutes before the connection that you created is available to select.

    2. On the Components tab, in the Schema fields section, search for each component listed in the tables below and drag it into the Metrics panel. If multiple fields of the same name exist, use the XDM path to ensure that it’s the correct field.

      Main content - Content metrics

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2
      Component name XDM path
      Media Starts mediaReporting.sessionDetails.isViewed
      Media Segment Views mediaReporting.sessionDetails.hasSegmentView
      Content Starts mediaReporting.sessionDetails.isPlayed
      Content Completes mediaReporting.sessionDetails.isCompleted
      Content Time Spent mediaReporting.sessionDetails.timePlayed
      Media Time Spent mediaReporting.sessionDetails.totalTimePlayed
      Unique Time Played mediaReporting.sessionDetails.uniqueTimePlayed
      10% Progress Marker mediaReporting.sessionDetails.hasProgress10
      Average Minute Audience mediaReporting.sessionDetails.averageMinuteAudience

      Chapter & Ads - Chapter & Ads metrics

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
      Component name XDM path
      Chapter Started mediaReporting.chapterDetails.isStarted
      Chapter Completed mediaReporting.chapterDetails.isCompleted
      Chapter Time Played mediaReporting.chapterDetails.timePlayed
      Ad Started mediaReporting.advertisingDetails.isStarted
      Ad Completed mediaReporting.advertisingDetails.isCompleted
      Ad Time Played mediaReporting.advertisingDetails.timePlayed

      QoE - QoE metrics

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2
      Component name XDM path
      Time To Start mediaReporting.qoeDataDetails.timeToStart
      Drops Before Starts mediaReporting.qoeDataDetails.isDroppedBeforeStart
      Buffer Impacted Streams mediaReporting.qoeDataDetails.hasBufferImpactedStreams
      Bitrate Change Impacted Streams mediaReporting.qoeDataDetails.hasBitrateChangeImpactedStreams
      Bitrate Changes mediaReporting.qoeDataDetails.bitrateChangeCount
      Average Bitrate mediaReporting.qoeDataDetails.bitrateAverage
      Dropped Frames mediaReporting.qoeDataDetails.droppedFrames
      Errors mediaReporting.qoeDataDetails.errorCount
      Error Impacted Streams mediaReporting.qoeDataDetails.hasErrorImpactedStreams
      Dropped Frame Impacted Streams mediaReporting.qoeDataDetails.hasDroppedFrameImpactedStreams

      Player state - Player state metrics

      table 0-row-2 1-row-2 2-row-2 3-row-2
      Component name XDM path
      Player State Set mediaReporting.states.isSet
      Player State Count mediaReporting.states.count
      Player State Time mediaReporting.states.time
    3. Update the labels (in the Context labels drop-down menu) for the components in the following table. Search for and drag any components that are not already in the metrics panel into the panel.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
      Component name Context label
      Media Session Server Timeout Media: Seconds Since Last Call
      Media Time Spent Media: Media Time Spent
      Total Buffer Duration Media: Total Buffer Duration
      Time to Start Media: Time To Start
      Total Pause Duration Media: Total Pause Duration
    4. To add breakdowns to your Customer Journey Analytics project, add the following dimensions to the Dimensions panel:

      table 0-row-2 1-row-2 2-row-2
      XDM path Component name
      mediaReporting.states.name Player State Name
      mediaReporting.sessionDetails.ID Media Session ID

      In addition to the dimensions in this table, you can add in any other dimensions that you want to make available to filter data by in Customer Journey Analytics projects.

  3. Select Save and continue > Save and finish to save your changes.

  4. Continue with Create and configure a project in Customer Journey Analytics.

Create and configure a project in Customer Journey Analytics

  1. Ensure that you created a data view in Customer Journey Analytics as described in Create a data view in Customer Journey Analytics.

  2. In Customer Journey Analytics, in the Workspace tab, in the Projects area, select Create project.

  3. Select Blank project > Create.

  4. In the new project, select the data view that you previously created.

    When creating panels in your project, you can use any components that you added to your data view, as described in Create a data view in Customer Journey Analytics.

    The following 4 panels are examples of panels that you could create:

    Main Content panel

    Chapter and ads panel

    QoE panel

    Plater state panel

  5. Select the Panels icon in the left rail, then drag in the Media concurrent viewers panel and the Media playback time spent panel.

    The 2 panels should look like this:

    Media concurrent viewers panel

    Media playback time spent panel

  6. (Conditional) If you added custom metadata to your schema, as described in Step 8 of Set up the schema in Adobe Experience Platform, then you need to set the persistence for the custom fields, as described in Persistence component settings in the Customer Journey Analytics guide.

    When data arrives in Customer Journey Analytics, the Custom User ID dimension will be available.

    setup-custom-metadata

    note note
    NOTE
    If you set up Adobe Analytics as an upstream for your datastream, the custom metadata is also present in ContextData, with the name that you set in the schema (without the tenant prefix e.g. myCustomField). This makes it possible to use all the Adobe Analytics features available for ContextData, such as creating a processing rule.
  7. Share the project as described in Share projects.

    note note
    NOTE
    If the users you want to share with are not available, make sure the users have user and admin access to Customer Journey Analytics in the Adobe Admin Console.
  8. Continue with Send data to Experience Platform Edge.

Send data to Experience Platform Edge

Depending on the type of data that you want to send to Experience Platform Edge, you can use any of the following methods:

Web: Use the Adobe Experience Platform Web SDK

Mobile: Use the Adobe Experience Platform Mobile SDK

Use the following documentation resources to complete the implementation for both iOS and Android:

Roku: Adobe Experience Platform Roku SDK

API: Web and other

The API is currently the only supported way to send web data to Experience Platform Edge.

The API is also available if you want to use a custom implementation of the Edge APIs.

For more information about the media Edge API, see the following resources:

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb