• Help
  • Back
  • Tealium Prism Swift SDK Reference
    • Tealium
      • Tealium
      • TealiumConfig
      • TealiumError
      • TealiumInstanceManager
      • CoreSettings
      • CoreSettingsBuilder
    • Modules
      • Modules
      • – Types
      • AppData
      • Collect
      • ConnectivityData
      • DataLayer
      • DeepLinkHandler
      • DeviceData
      • Lifecycle
      • MomentsAPI
      • TealiumData
      • TimeData
      • Trace
      • CustomModules
    • AppData Module
      • AppDataSettingsBuilder
    • Collect Module
      • CollectSettingsBuilder
    • ConnectivityData Module
      • ConnectivityDataSettingsBuilder
    • Consent
      • ConsentConfigurationBuilder
      • ConsentDecision
      • – DecisionType
      • CMPAdapter
    • DataLayer Module
      • DataLayerSettingsBuilder
    • DeepLinkHandler Module
      • DeepLinkSettingsBuilder
      • Referrer
    • DeviceData Module
      • DeviceDataSettingsBuilder
    • Lifecycle Module
      • LifecycleDataTarget
      • LifecycleError
      • LifecycleEvent
      • LifecycleSettingsBuilder
    • MomentsAPI Module
      • MomentsAPIError
      • MomentsAPIRegion
      • MomentsAPISettingsBuilder
      • EngineResponse
    • TealiumData Module
      • TealiumDataSettingsBuilder
    • TimeData Module
      • TimeDataSettingsBuilder
    • Trace Module
      • TraceSettingsBuilder
    • Transformations
      • SetDataValues
      • PersistDataValue
      • Lowercase
      • JavaScript
    • SetDataValues Transformation
      • SetDataValuesSettingsBuilder
    • PersistDataValue Transformation
      • PersistDataValueSettingsBuilder
      • UpdatePolicy
    • Lowercase Transformation
      • LowercaseSettingsBuilder
    • JavaScript Transformation
      • JavaScriptTransformationSettingsBuilder
    • Rules
      • Rule
      • RuleModuleSettingsBuilder
      • RuleNotFoundError
      • Condition
      • – Operator
      • ConditionEvaluationError
      • InvalidMatchError
    • Barriers
      • Barriers
      • Barrier
      • BarrierFactory
      • BarrierRegistrar
      • BarrierScope
      • BarrierSettingsBuilder
      • BarrierState
      • BatchingBarrierSettingsBuilder
      • ConfigurableBarrier
      • ConnectivityBarrierSettingsBuilder
    • Module
      • Module
      • BasicModule
      • BasicModuleFactory
      • ModuleError
      • ModuleFactory
      • ModuleManager
      • ModuleProxy
      • ModuleSettingsBuilder
      • ModuleStoreProvider
      • MultipleInstancesModuleSettingsBuilder
      • Collector
      • CollectorSettingsBuilder
      • CommandDispatcher
      • Dispatcher
      • DispatcherSettingsBuilder
      • TealiumContext
      • CommandMappingsBuilder
      • Mappings
      • – VariableOptions
      • – ConstantOptions
      • – CommandOptions
      • MappingsBuilder
    • Transformation
      • TransformationScope
      • TransformationSettings
      • TransformationSettingsBuilder
      • Transformer
      • TransformerRegistrar
    • Data
      • DataInput
      • DataInputConvertible
      • DataItem
      • DataItemConverter
      • DataItemExtractor
      • DataObject
      • DataObjectConvertible
      • DataStore
      • DataStoreEdit
      • DataStoreEditor
      • DatabaseError
      • Expiry
      • ExpiryPolicy
      • Dispatch
      • DispatchContext
      • – Source
      • DispatchType
      • JSONArrayPath
      • JSONObjectPath
      • JSONObjectPathConvertible
      • JSONParsingError
      • JSONPath
      • JSONPathExtractable
      • JSONPathParseError
      • ArrayRoot
      • ObjectRoot
      • PathRoot
      • ReferenceContainer
      • StringContainer
      • ValueContainer
      • AnyCodable
      • AnyDecodable
      • AnyEncodable
    • PubSub
      • Observable
      • ObservableConvertible
      • ObservableState
      • Observables
      • ReplaySubject
      • StateSubject
      • Subject
      • Single
      • SingleResult
      • CompositeDisposable
      • Disposable
      • Disposables
      • Subscribable
      • ValueExtractor
    • Network
      • NetworkClient
      • NetworkConfiguration
      • NetworkConnection
      • – ConnectionType
      • NetworkError
      • NetworkErrorType
      • NetworkHelperProtocol
      • NetworkResponse
      • NetworkResult
      • NetworkUtilities
      • ConnectivityManager
      • ConnectivityManagerProtocol
      • DefaultInterceptor
      • InterceptorManagerProtocol
      • RequestInterceptor
      • RefreshParameters
      • ResourceRefresher
      • RequestBuilder
      • – HTTPMethod
      • ResourceCacher
      • RetryPolicy
      • URL
      • URLComponents
      • URLConvertible
      • ErrorCooldown
      • ObjectResponse
      • ObjectResult
    • Logging
      • LogCategory
      • LogHandler
      • LogLevel
      • – Minimum
      • LoggerProtocol
      • TealiumLoggerType
      • OSSignpostIntervalState
      • SignpostStateWrapper
      • TealiumSignpostInterval
      • TealiumSignposter
    • Other Classes
      • ApplicationStatusListener
      • RepeatingTimer
      • SelfDestructingCompletion
      • SelfDestructingResultCompletion
      • SyncCommand
      • TealiumDispatchGroup
      • TealiumQueue
      • TemplateProcessor
    • Other Enumerations
      • CommandError
      • ConversionError
      • LenientConverters
      • StringUtils
      • TealiumConstants
      • TealiumDataKey
      • TimeUnit
      • ValueSource
    • Other Extensions
      • Array
      • Bool
      • Decimal
      • Dictionary
      • Double
      • Float
      • Int
      • Int64
      • NSNull
      • NSNumber
      • Optional
      • Result
      • String
      • [String: DataInput]
      • [String: DataItem]
    • Other Functions
      • +(_:_:)
      • +=(_:_:)
    • Other Protocols
      • Command
      • CommandName
      • ErrorEnum
      • ErrorExtractor
      • ErrorWrapping
      • Observer
      • QueueMetrics
      • Repeater
      • SessionRegistry
      • Tracker
    • Other Structures
      • ApplicationStatus
      • – StatusType
      • Session
      • – Status
      • Template
      • TimeFrame
      • TrackResult
      • – Status
    • Other Type Aliases
      • InitializationResult
      • TrackResultCompletion
  • Tealium for Swift SDK Reference
  • > Transformations

SetDataValues Reference

SetDataValues

The SetDataValues transformation copies values between keys or sets constant values in the dispatch payload. It applies all configured operations in sequence on every dispatch that matches the transformation’s conditions and scope.

Requires: TealiumPrismExtensions

Registration

The SetDataValues transformer is registered automatically when the TealiumPrismExtensions library is linked to your app (via the Objective-C +load mechanism). No additional setup is required.

Programmatic Configuration

Use SetDataValuesSettingsBuilder to define one or more operations:

// Copy a value from one key to another
let copyOperation = SetDataValuesSettingsBuilder(id: "copy-user-id")
    .setFrom(.key("user_id"), to: .key("visitor_id"))
    .setScope(.afterCollectors)
    .setOrder(1)

config.setTransformation(copyOperation)
// Set a constant value at a given key
let setConstant = SetDataValuesSettingsBuilder(id: "set-platform")
    .setConstant("ios", to: .key("platform"))
    .setScope(.afterCollectors)
    .setOrder(1)

config.setTransformation(setConstant)
// Mix reference and constant operations in one transformation
let combined = SetDataValuesSettingsBuilder(id: "enrich-payload")
    .setFrom(.key("raw_email"), to: .key("email"))
    .setConstant("mobile", to: .key("channel"))
    .setScope(.afterCollectors)
    .setOrder(1)

config.setTransformation(combined)

Using nested paths — use .path(_:) with JSONObjectPath to target nested keys:

let nested = SetDataValuesSettingsBuilder(id: "map-nested")
    .setFrom(
        .path(JSONPath["user"]["profile"]["name"]),
        to: .key("user_name")
    )
    .setScope(.afterCollectors)
    .setOrder(1)

config.setTransformation(nested)

Builder methods:

Method Description
setFrom(_ input: ReferenceContainer, to destination: ReferenceContainer) Copies the value at input to destination
setConstant(_ constant: DataInput, to destination: ReferenceContainer) Sets a constant value at destination

If the source key is not present in the payload, the operation is silently skipped. A transformation with no operations configured is a no-op — the dispatch passes through unchanged.

JSON Configuration

{
  "transformation_id": "enrich-payload",
  "transformer_id": "SetDataValues",
  "scope": "aftercollectors",
  "order": 1,
  "configuration": {
    "operations": [
      {
        "input": { "key": "raw_email" },
        "destination": { "key": "email" }
      },
      {
        "input": { "value": "mobile" },
        "destination": { "key": "channel" }
      },
      {
        "input": { "path": "user.profile.name" },
        "destination": { "key": "user_name" }
      }
    ]
  }
}

Input formats:

Intent JSON shape
Reference (root key) {"key": "some_key"}
Reference (nested path) {"path": "parent.child.grandchild"}
Constant value {"value": <any JSON value>}

Destination format follows the same reference shapes (key or path).

© 2026 Tealium. All rights reserved. (Last updated: 2026-08-28)

Generated by jazzy ♪♫ v0.15.4, a Realm project.