TealiumData Reference
TealiumData
The TealiumData module is a Collector module that automatically enriches tracking data with essential Tealium-specific information. This module provides core SDK metadata and configuration details for all tracking events. This module cannot be disabled as it provides fundamental data required by the Tealium platform.
Note: This module cannot be disabled as it is a core component of the Tealium SDK.
Collected Data Points
The TealiumData module collects the following information:
| Data Point | Key | Description | Source |
|---|---|---|---|
| Account | tealium_account |
Tealium account identifier | TealiumConfig |
| Profile | tealium_profile |
Tealium profile identifier | TealiumConfig |
| Environment | tealium_environment |
Tealium environment (dev, qa, prod) | TealiumConfig |
| Data Source | tealium_datasource |
Data source identifier | TealiumConfig |
| Library Name | tealium_library_name |
Name of the Tealium library | SDK constant |
| Library Version | tealium_library_version |
Version of the Tealium library | SDK constant |
| Visitor ID | tealium_visitor_id |
Unique visitor identifier | Visitor ID provider |
| Enabled Modules | enabled_modules |
List of enabled module IDs | Modules manager |
| Enabled Modules Versions | enabled_modules_versions |
List of enabled module versions | Modules manager |
| Random | tealium_random |
Random 16-digit number for event deduplication | Generated per event |
Installation/Configuration
The TealiumData module can be configured using three different approaches:
Local and Remote Settings
Configure the module using local JSON settings file (via settingsFile parameter) and/or remote settings (via settingsUrl parameter):
var config = TealiumConfig(account: "tealiummobile",
profile: "your-profile",
environment: "dev",
settingsFile: "TealiumSettings",
settingsUrl: "https://tags.tiqcdn.com/dle/tealiummobile/lib/example_settings.json")
Default initialization - module will be initialized with default settings:
{
"modules": {
"TealiumData": {
"module_type": "TealiumData"
}
}
}
Custom configuration - module with specific settings:
{
"modules": {
"TealiumData": {
"module_type": "TealiumData",
"order": 1,
"rules": {
"operator": "and",
"children": [
"rule_id_from_settings"
]
}
}
}
}
When both local and remote settings are provided, they are deep merged with remote settings taking priority.
Programmatic Configuration
Configure the module programmatically by adding it to the modules parameter in TealiumConfig.
Default initialization - module will be initialized with default settings:
let config = TealiumConfig(account: "tealiummobile",
profile: "your-profile",
environment: "dev",
modules: [
Modules.tealiumData(),
// other modules...
])
Note: This module is automatically included and cannot be disabled, so it will be initialized even if not explicitly added to the modules list.
Custom configuration - module with enforced settings:
let config = TealiumConfig(account: "tealiummobile",
profile: "your-profile",
environment: "dev",
modules: [
Modules.tealiumData(forcingSettings: { builder in
builder.setOrder(1)
.setRules(.and(["rule_id_from_settings"]))
}),
// other modules...
])
⚠️ Important: Programmatic settings are deep merged onto local and remote settings and will always take precedence. Only provide programmatic settings for configuration values that you never want to be changed remotely, as they will override any remote updates.
⚠️ Note: This module cannot be disabled, and should not have any rules applied to it, as it provides essential Tealium platform data. The
setEnabled(false)method will have no effect on this module.
Settings Builders Reference
The TealiumData module uses the TealiumDataSettingsBuilder for configuration. This is an extension of the CollectorSettingsBuilder which offers common settings like:
Note: The ModuleSettingsBuilder.setEnabled(_:) method is available but has no effect since this module cannot be disabled.