• 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

Lowercase Reference

Lowercase

The Lowercase transformation converts string values in the dispatch payload to lowercase. It requires explicit configuration: either lowercase all strings in the payload, or target specific keys. Strings nested inside arrays and dictionaries are also lowercased recursively. Non-string values (numbers, booleans, etc.) are left unchanged. The values at tealium_visitor_id, cp.trace_id, and tealium_trace_id are always left unchanged when using lowercaseAllVariables(), unless those keys are explicitly listed in lowercaseVariables(_:). A transformation with no variables configuration is treated as a no-op — the dispatch passes through unchanged.

Requires: TealiumPrismExtensions

Registration

The Lowercase 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 LowercaseSettingsBuilder to configure the transformation:

// Lowercase all strings
let lowerAll = LowercaseSettingsBuilder(id: "lowercase-all")
    .lowercaseAllVariables()
    .setScope(.afterCollectors)

config.setTransformation(lowerAll)
// Lowercase only specific keys
let lowerSelected = LowercaseSettingsBuilder(id: "lowercase-email-name")
    .lowercaseVariables([.key("email"), .key("user_name")])
    .setScope(.allDispatchers)
    .setOrder(1)

config.setTransformation(lowerSelected)

Builder methods:

Method Description
lowercaseAllVariables() Lowercase all string values in the payload
lowercaseVariables(_ variables: [ReferenceContainer]) Lowercase only the specified keys

Recursive behaviour: Both modes descend into array elements and nested dictionaries recursively. Non-string scalar values (numbers, booleans) are left unchanged in both modes.

JSON Configuration

{
  "transformation_id": "lowercase-all",
  "transformer_id": "Lowercase",
  "scope": "aftercollectors",
  "order": 1,
  "configuration": {
    "variables": "allvariables"
  }
}
{
  "transformation_id": "lowercase-email-name",
  "transformer_id": "Lowercase",
  "scope": "alldispatchers",
  "order": 1,
  "configuration": {
    "variables": [
      { "key": "email" },
      { "key": "user_name" }
    ]
  }
}

Configuration keys:

Key Type Description
variables "allvariables" or Array<ReferenceContainer> "allvariables" (case-insensitive) to lowercase all strings; an array of references to target specific keys

Note: A missing variables key is invalid — the transformation is treated as a no-op and the dispatch passes through unchanged. An empty array is valid and also results in a no-op.

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

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