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:
-
First, you must define your datastream configuration override in the datastream configuration page.
-
Then, you must send the overrides to the Edge Network in one of the following ways:
- Through the
sendEvent
orconfigure
Web SDK commands. - Through the Web SDK tag extension.
- Through the Mobile SDK sendEvent command.
- Through the
This article explains the end-to-end datastream configuration override process for every type of supported override.
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.
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.
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.
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.
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.
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
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"
}
}
});
edgeConfigOverrides.datastreamId
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": [ ]
}