Configure datastream overrides

Datastream overrides allow you to define additional configurations for your datastreams, which get passed to the Edge Network via the Web SDK.

This helps you trigger different datastream behaviors than the default ones, without creating a datastream or modifying your existing settings.

Datastream configuration override is a two-step process:

  1. First, you must define your datastream configuration override in the datastream configuration page.

  2. Then, you must send the overrides to the Edge Network in one of the following ways:

This article explains the end-to-end datastream configuration override process for every type of supported override.

IMPORTANT
Datastream overrides are only supported for Web SDK and Mobile SDK integrations. Server API integrations do not currently support datastream overrides.


Datastream overrides should be used when you need different data sent to different datastreams. Do not use datastream overrides for personalization use cases or consent data.

Use cases use-cases

To help you better understand how and when to use datastream overrides, here are some use cases that Adobe Experience Platform customers can solve by using this feature.

Multi-region data collection

A company has different websites or subdomains for different countries in which they operate. They have configured separate datastreams with corresponding analytics-specific report suites, country-specific Adobe Target property tokens, country-specific schemas, datasets, Journey Optimizer configurations, and so on. The company also has a global set of configurations where all country-specific data is aggregated.

By using datastream overrides, the company can dynamically switch the flow of data to different datastreams, instead of the default behavior of sending data to one datastream.

A common use case could be sending data to a country-specific datastream and also to a global datastream where customers perform an important action, such as placing an order or updating their user profile.

Differentiating profiles and identities for different business units

A company with multiple business units wants to use multiple Experience Platforms sandboxes to store data specific to each business unit.

Instead of sending data to a default datastream, the company can use datastream overrides to make sure each business unit has its own datastream to receive data through.

Configure datastream overrides in the Datastreams UI configure-overrides

Datastream configuration overrides allow you to modify the following datastream configurations:

  • Experience Platform event datasets
  • Adobe Target property tokens
  • Audience Manager ID sync containers
  • Adobe Analytics report suites

Datastream overrides for Adobe Target target-overrides

To configure datastream overrides for an Adobe Target datastream, you must first have an Adobe Target datastream created. Follow the instructions to configure a datastream with the Adobe Target service.

Once you have created the datastream, edit the Adobe Target service that you have added and use the Property Token Overrides section to add the desired datastream overrides, as shown in the image below. Add one property token per line.

Datastreams UI screenshot showing the Adobe Target service settings, with the property token overrides highlighted.

After you’ve added the desired overrides, save your datastream settings.

You should now have the Adobe Target datastream overrides configured. Now you can send the overrides to the Edge Network via the Web SDK.

Datastream overrides for Adobe Analytics analytics-overrides

To configure datastream overrides for an Adobe Analytics datastream, you must first have an Adobe Analytics datastream created. Follow the instructions to configure a datastream with the Adobe Analytics service.

Once you have created the datastream, edit the Adobe Analytics service that you have added and use the Report Suite Overrides section to add the desired datastream overrides, as shown in the image below.

Select Show Batch Mode to enable batch editing of the report suite overrides. You can copy and paste a list of report suite overrides, entering one report suite per line.

Datastreams UI screenshot showing the Adobe Analytics service settings, with the report suite overrides highlighted.

After you’ve added the desired overrides, save your datastream settings.

You should now have the Adobe Analytics datastream overrides configured. Now you can send the overrides to the Edge Network via the Web SDK.

Datastream overrides for Experience Platform event datasets event-dataset-overrides

To configure datastream overrides for Experience Platform event datasets, you must first have an Adobe Experience Platform datastream created. Follow the instructions to configure a datastream with the Adobe Experience Platform service.

Once you have created the datastream, edit the Adobe Experience Platform service that you have added and select the Add Event Dataset option to add one or more override event datasets, as shown in the image below.

Datastreams UI screenshot showing the Adobe Experience Platform service settings, with the event dataset overrides highlighted.

After you’ve added the desired overrides, save your datastream settings.

You should now have the Adobe Experience Platform datastream overrides configured. Now you can send the overrides to the Edge Network via the Web SDK.

Datastream overrides for third party ID sync containers container-overrides

To configure datastream overrides for third party ID sync containers, you must first have a datastream created. Follow the instructions to configure a datastream to create one.

Once you’ve created the datastream, go to Advanced Options and enable the Third Party ID Sync option.

Then, use the Container ID Overrides section to add the container IDs that you want to override the default setting, as shown in the image below.

IMPORTANT
Container IDs must be numeric values, like 1234567, and not strings, such as "1234567". If you send a string value through the Web SDK as a container ID override, you will receive an error.

Datastreams UI screenshot showing the datastream settings, with the third party ID sync container overrides highlighted.

After you’ve added the desired overrides, save your datastream settings.

You should now have the ID sync container overrides configured. Now you can send the overrides to the Edge Network via the Web SDK.

Send the overrides to the Edge Network via the Web SDK send-overrides-web-sdk

NOTE
As an alternative to sending the configuration overrides via Web SDK commands, you can add the configuration overrides to the Web SDK tag extension.

After configuring the datastream overrides in the Data Collection UI, you can now send the overrides to the Edge Network, via the Web SDK.

If you are using Web SDK, sending the overrides to the Edge Network via the edgeConfigOverrides command is the second and final step of activating datastream configuration overrides.

The datastream configuration overrides are sent to the Edge Network through the edgeConfigOverrides Web SDK command. This command creates datastream overrides that are passed on to the Edge Network on the next command. If you are using the configure command, the overrides are passed for every request.

The edgeConfigOverrides command creates datastream overrides which are passed on to the Edge Network on the next command.

When a configuration override is sent with the configure command, it is included on the following Web SDK commands.

Options specified globally can be overridden by the configuration option on individual commands.

Sending configuration overrides via the Web SDK sendEvent command send-event

The example below shows what a configuration override could look like on a sendEvent command.

alloy("sendEvent", {
  xdm: {
    /* ... */
  },
  edgeConfigOverrides: {
    datastreamId: "{DATASTREAM_ID}"
    com_adobe_experience_platform: {
      datasets: {
        event: {
          datasetId: "SampleEventDatasetIdOverride"
        }
      }
    },
    com_adobe_analytics: {
      reportSuites: [
        "MyFirstOverrideReportSuite",
        "MySecondOverrideReportSuite",
        "MyThirdOverrideReportSuite"
        ]
    },
    com_adobe_identity: {
      idSyncContainerId: "1234567"
    },
    com_adobe_target: {
      propertyToken: "63a46bbc-26cb-7cc3-def0-9ae1b51b6c62"
    }
  }
});
Parameter
Description
edgeConfigOverrides.datastreamId
Use this parameter to allow a single request to go to a different datastream than the one defined by the configure command.

Sending configuration overrides via the Web SDK configure command send-configure

The example below shows what a configuration override could look like on a configure command.

alloy("configure", {
  defaultConsent: "in",
  edgeDomain: "etc",
  edgeBasePath: "ee",
  datastreamId: "{DATASTREAM_ID}",
  orgId: "org",
  debugEnabled: true,
  edgeConfigOverrides: {
    "com_adobe_experience_platform": {
      "datasets": {
        "event": {
          datasetId: "SampleProfileDatasetIdOverride"
        }
      }
    },
    "com_adobe_analytics": {
      "reportSuites": [
        "MyFirstOverrideReportSuite",
        "MySecondOverrideReportSuite",
        "MyThirdOverrideReportSuite"
      ]
    },
    "com_adobe_identity": {
      "idSyncContainerId": "1234567"
    },
    "com_adobe_target": {
      "propertyToken": "63a46bbc-26cb-7cc3-def0-9ae1b51b6c62"
    }
  },
  onBeforeEventSend: function() { /* … */ });
};

Send the overrides to the Edge Network via the Mobile SDK send-overrides-mobile-sdk

After configuring the datastream overrides in the Data Collection UI, you can now send the overrides to the Edge Network, via the Mobile SDK.

To learn how to send the overrides to the Edge Network, read the guide on sending overrides using sendEvent or guide on sending overrides using Rules.

Payload example payload-example

The examples above generate an Edge Network payload similar to the one below.

{
  "meta": {
    "configOverrides": {
      "com_adobe_experience_platform": {
        "datasets": {
          "event": {
            "datasetId": "SampleProfileDatasetIdOverride"
          }
        }
      },
      "com_adobe_analytics": {
        "reportSuites": [
        "MyFirstOverrideReportSuite",
        "MySecondOverrideReportSuite",
        "MyThirdOverrideReportSuite"
        ]
      },
      "com_adobe_identity": {
        "idSyncContainerId": "1234567"
      },
      "com_adobe_target": {
        "propertyToken": "63a46bbc-26cb-7cc3-def0-9ae1b51b6c62"
      }
    },
    "state": {  }
  },
  "events": [  ]
}
recommendation-more-help
c4bd45d4-a044-4e32-94ad-5e2f71800fac