Amplitude supports streaming transformed data to your destinations, including Custom Events, Derived Properties, Transformed Events, and Transformed Properties. You can select any transformation from your Amplitude taxonomy when configuring event streaming.
AppsFlyer requires unique event names for attribution and doesn't support event properties. Previously, you had to create custom events in your backend and resend them to Amplitude. Now, you can use Amplitude Data to rename events before streaming them to AppsFlyer, which reduces duplicate ingestion.
To improve campaign effectiveness, you can stream derived properties from Amplitude to Braze. Select derived properties in your sync filters and include them when configuring additional properties. This enables more targeted campaigns using enriched event data from Amplitude.
Keep these things in mind when streaming transformations from Amplitude:
The streaming payload includes transformations as nested JSON fields. Understanding this structure is essential when using custom FTL (FreeMarker Template Language) templates or configuring how your destination receives data.
You must explicitly select transformations in your sync configuration to include them in the streaming payload. You can select transformations in:
null.The streaming payload only includes transformations you explicitly select.
The payload includes transformations as nested JSON objects. The top-level field name depends on the transformation type:
| Transformation Type | Top-level JSON Field Name |
|---|---|
| Merged properties | N/A (replaced in original field) |
| Derived properties | derived_properties |
| Channel properties | derived_properties |
| Lookup properties | lookup_properties |
Field names within these objects match the transformation names displayed in the Amplitude UI.
If you select a derived property called sample_derived_property_key1, the streaming payload looks like this:
{
"event_type": "Button Clicked",
"user_id": "12345",
"derived_properties": {
"sample_derived_property_key1": "whatever_value"
}
}
If your destination uses custom FTL templates, you can access transformation data using these patterns.
Example 1: Using FtlUtils to serialize derived properties
<#assign UtilClass=statics['com.amplitude.integrations.connector.utils.FtlUtils']>
{
"version": "derived_properties_sample_ftl1",
"derived_properties": ${UtilClass.toJson(input.derived_properties)}
}
Example 2: Manually iterating over derived properties
<#assign UtilClass=statics['com.amplitude.integrations.connector.utils.FtlUtils']>
{
"version": "derived_properties_sample_ftl2",
"derived_properties": {
<#list input.derived_properties?keys as key>
"${key}": "${input.derived_properties[key]}"<#sep>,</#sep>
</#list>
}
}
Amplitude supports streaming custom events that meet specific criteria. When you create custom events in the Amplitude taxonomy, you can select them for event streaming if they're configured with:
is, is not, contains, and does not containCustom events that use other property types or operators aren't available for selection in event streaming configurations.
There are some limitations when streaming transformations from Amplitude:
Yes, this counts towards your existing event streaming volume limit. Check your event streaming limit by navigating to the Settings page and clicking on Plans & Billing.Will this impact my event volume streaming limit?
Yes, you can select both raw and transformed versions in your streaming sync. For example, if a transformation merges three event types into one transformed event, all four event types (the three originals plus the merged version) appear in the selection dropdown.Can I select both raw and transformed events/properties?
Custom events and transformed properties follow the configurations set in your Amplitude Data taxonomy. Amplitude applies transformations before it streams the data to the destination.How does Amplitude handle custom events and transformed properties during streaming?
Amplitude can enable channel classifier selection in event streaming sync configurations on request. Email integrations@amplitude.com with your organization ID and app IDs to request access.How can I enable channel classifiers for my event stream?
April 10th, 2026
Need help? Contact Support
Visit Amplitude.com
Have a look at the Amplitude Blog
Learn more at Amplitude Academy
© 2026 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.