• Platforms
  • Partners
  • Forums
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

Table of Contents

  • Requirements
  • Install
  • Initialize
  • Track
  • Data Layer
    • Override Default Names
IOS OBJECTIVE C/MODULE LIST

Optimizely X Tracking Module

Provides an integration between Optimizely X and Tealium Collect. The module listens for events triggered by Optimizely X library and passes the event data to Tealium Collect.

Requirements

  • Optimizely X iOS SDK added to your app

Install

To install the Optimizely X Tracking module, following these steps:

  1. Download the Optimizely X tracking module.

  2. Add the TealiumIOSOptimizely.framework file into your Xcode project (in the Embedded Binaries section of your project settings).

Learn more about the Optimizely X Library.

Initialize

The Optimizely X Tracking module must be initialized after the standard Tealium instance is created.

Initialize the TealiumOptimizelyTracker instance by passing the Tealium instance and providing an instance name:

// Initialize the Tealium Optimizely instance
TealiumOptimizelyTracker * optimizelyTracker = [TealiumOptimizelyTracker tealium];
[optimizelyTracker addInstanceWithName:@"INSTANCE_KEY"];

No additional configuration is needed. The module listens for notifications from the Optimizely SDK and pass the data to Tealium Collect as required.

Track

There are two types of Optimizely events that are passed along to Tealium Collect: experiments and custom events. 

These events are captured by Tealium with the following event names:

  • tealium_event="Optimizely Experiment Started"
    When the Optimizely SDK activates an experiment.
  • tealium_event="Optimizely Event Tracked"
    When the Optimizely SDK receives a custom event (generated by manually calling Optimizely’s track method).

Data Layer

The following event attributes are included in the tracked events:

Variable Scope Description Example
optimizely_experiment_key Volatile (session) Optimizely experiment name "Homescreen MVT"
optimizely_variation_key Volatile (session) Optimizely variation name "Variation A"
optimizely_user_id Volatile (session) Optimizely user ID "ralph@tealium.com"
optimizely_event_key Hit (single event) Optimizely event name "purchase"
optimizely_event_value Hit (single event) Optimizely event value "123" - integer values only
optimizely_XXX Hit (single event) Optimizely custom attribute prefix. All custom attributes are prefixed with “optimizely_” and passed directly to Tealium

Override Default Names

Override the default variable names if you prefer a different naming convention. To override variable names change the public properties in the TealiumOptimizelyTracker class:

TealiumOptimizelyTracker * optimizelyTracker = [TealiumOptimizelyTracker sharedInstance];

[optimizelyTracker addInstanceWithName:@"INSTANCE_NAME"];
optimizelyTracker.TEOptimizelyUserIdKeyName = @"USER_ID_KEY_NAME";
optimizelyTracker.TEOptimizelyExperimentKeyName = @"EXPERIMENT_KEY_NAME";
optimizelyTracker.TEOptimizelyVariationKeyName = @"VARIATION_KEY_NAME";
optimizelyTracker.TEOptimizelyEventKeyKeyName = @"EVENT_NAME_KEY_NAME";
optimizelyTracker.TEOptimizelyEventValueKeyName = @"EVENT_VALUE_KEY_NAME";
Lifecycle Tracking Module

 
  • Mobile
  • Getting Started
    • Overview
    • Quick Start Guide
    • Mobile Concepts
    • Client-Side
    • Server-Side
    • Tracking Webviews
    • Data Layer
    • Consent Management
    • Event Batching
    • User Location and Geofencing
    • Deep Links
    • Timed Events
    • Trace
    • Hosted Data Layer
    • Feature Comparison
    • Troubleshooting
  • Remote Commands
    • Overview
    • How It Works
    • Integrations
      • AppsFlyer
      • Braze
      • Contentsquare
      • Facebook
      • Firebase
      • Kochava
      • Usabilla
  • Android (Java)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Module
      • Optimizely X Tracking Module
    • Android TV
    • Android Wear
    • API Reference
      • ConsentManager
      • DataSources
      • Lifecycle
      • Tealium
      • Tealium.Config
      • TealiumLocation
    • Release Notes
  • Android (Kotlin)
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • Identity Resolution
    • Module List
      • Collect Module
      • Collectors Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Manager Module
      • Tag Management Dispatcher Module
      • Visitor Service Module
    • Android TV
    • API Reference
      • ConsentCategory
      • ConsentManager
      • CurrentVisit
      • DataLayer
      • Lifecycle
      • LocationManager
      • Tealium
      • TealiumConfig
      • VisitorProfile
      • VisitorService
    • Release Notes
  • Cordova
    • Overview
    • Install
    • Track
    • Data Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
    • API Reference
    • Release Notes
  • Flutter
    • Overview
    • Install
    • Track
    • Consent Management
    • Data Management
    • API Reference
    • Release Notes
  • iOS (Objective-C)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Tag Management
    • Module List
      • Lifecycle Tracking Module
      • Optimizely X Tracking Module
    • tvOS
    • watchOS
    • API Reference
    • Release Notes
  • iOS (Swift) 1.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • App Extensions
    • Identity Resolution
    • Consent Management
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DataSource Module
      • DefaultStorage Module
      • Delegate Module
      • DeviceData Module
      • DispatchQueue Module
      • FileStorage Module
      • Lifecycle Module
      • Location Module
      • Logger Module
      • PersistentData Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
      • VolatileData Module
    • Feature Comparison
    • Working with Objective-C
    • API Reference
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManagerDelegate
      • TealiumConsentManager
      • TealiumInstanceManager
      • TealiumPersistentData
      • TealiumVolatileData
      • Tealium
    • Release Notes
  • iOS (Swift) 2.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • App Extensions
    • Identity Resolution
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DeviceData Module
      • Lifecycle Module
      • Location Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
    • Working with Objective-C
    • API Reference
      • Tealium
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManager
      • TealiumDataLayer
      • TealiumInstanceManager
    • Release Notes
  • React Native
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Unity
    • Overview
    • Install
    • Track
    • API Referencee
  • Xamarin
    • Overview
    • Install
    • Track
    • Data Management
    • Consent Management
    • API Reference
    • Release Notes
  • Web
  • AMP
    • Overview
    • Install
    • Track
    • Data Layer
  • Angular
    • Overview
    • Install
    • Track
    • API Reference
  • Google Tag Manager
    • Overview
    • Install
    • Data Layer
  • JavaScript (Web)
    • Overview
    • Install
    • Track
    • Data Layer
    • Universal Data Object (utag_data)
    • Universal Tag (utag.js)
    • Data Layer Object (b)
    • Single-Page Applications
    • Settings
    • Debugging
    • API Reference
      • Cookie Functions
      • GDPR Functions
      • Tracking Functions
      • Utility Functions
    • Release Notes
  • Server
  • C#
    • Overview
    • Install
    • Track
    • Data Layer
    • API Reference
    • Release Notes
  • HTTP API
    • Overview
    • Endpoint
    • Data Layer
  • Java
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Node
    • Overview
    • Install
    • Track
    • API Reference
  • Python
    • Overview
    • Install
    • Track
    • API Reference
  • Roku
    • Overview
    • Install
    • Track
    • API Reference
  • Ruby
    • Overview
    • Install
    • Track
    • API Reference

Was this article helpful?

This page was last updated: February 20, 2020       Thank you for your feedback!
  • Platforms
  • Partners
  • Forums
  • Mobile
  • Getting Started
  • Remote Commands
  • Android (Java)
  • Android (Kotlin)
  • Cordova
  • Flutter
  • iOS (Objective-C)
  • iOS (Swift) 1.x
  • iOS (Swift) 2.x
  • React Native
  • Unity
  • Xamarin
  • Web
  • AMP
  • Angular
  • Google Tag Manager
  • JavaScript (Web)
  • Server
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby