Release Notes (By Date)
July 10, 2024
Connectors
- Fixed an issue in the new UI where not all fields in existing connectors were mapped as they were in the old UI.
Server-side connectors
Updates and fixes
- Updated the Snapchat Conversions connector to rename the following actions:
- V2(older version) to Send Conversion V2.
- V2(newer version) to Send Conversion V3.
- Updated the Sailthru connector to allow mapping arrays when mapping user attributes.
- Updated the Webhook OAuth2 (3-Legged) and Webhook OAuth2 (2-Legged) connectors to have the same actions as the standard Webhook connector.
- Removed the following deprecated connectors:
- Nexmo
- CallRail
- Co-SENDER
- AutoPilotHQ
- Apsalar Events
- AppLovin
New connectors
- New marketplace connector: Snowflake Streaming connector
Tags
Updates and fixes
- Updated the tag Configuration tab to fix an issue where the Edit button was not clickable when there was a long string of text in the configuration.
- Updated the Tags screen to fix an issue where tags using deactivated load rules and events were not showing a warning icon.
Client-side tags
- Updated the Facebook Pixel tag to add a cookie logic that captures the
_fbc
cookie even if the Facebook script is blocked by ad blockers.
June 26, 2024
Moments API
Updates
- Now available under General Availability (GA). Moments API is the Tealium flagship personalization API for real-time moments that matter.
Server-side connectors
Updates and fixes
- Updated Google Ads connectors to use the latest version (v16) of the Google Ads API.
- Updated the Google Analytics 4 Measurement Protocol connector to support overriding API Secret in mapping for Firebase events.
- Updated the TikTok Events connector to add the Track Event action.
New connectors
- New marketplace connector: LivePerson
Tags
Updates and fixes
- Updated tag Rules and Events tab to remove deleted load rules and events and revert to All Pages and Events if all other load rules and events have been deleted.
Consent Integrations
- Updated Consent Integrations core template (
utcm_framework
) to v1.2.1 to fix edge cases where bundled tags could cause issues that blocked tags inappropriately. - Fixed issue that caused the underlying Add Integration slideout to close, instead of just the active slideout when clicking outside the New Purpose Group slideout.
Client-side tags
Updates and fixes
- Deprecated MakeMeReach tag.
- Updated RTB House Retargeting tag to add e-commerce support for OfferID parameter.
API
Updates
- V3 Visitor Privacy and V3 Visitor Profile APIs are now available under General Availability (GA).
June 20, 2024
Trace
Updates and fixes
- Fixed a rendering issue so that image or non-text responses will no longer be displayed.
Server-side connectors
Updates and fixes
- Updated the Branch Events connector to make boolean attributes mappable for the Limit Ad Tracking parameter and added the User Data category as a mapping option for the following attributes:
developer_identity
,randomized_device_token
, andbrowser_fingerprint_id
. - Updated the Eloqua connector to fix an API error when creating a target shared list.
- Updated the Pinterest Conversions connector to add AudienceStream support.
- Updated the Webhook connector to correct decimal rounding when using Print Attribute Names with the Send Visitor Profile action.
New connectors
- New marketplace connector: Mapp Connect
- New marketplace connector: VKontakte Ads
Tags
Updates and fixes
- Released major enhancements to the tags screen to align the user experience with other parts of the application. The new screens improve usability with a larger working area, clearer language, improved tool tips, and better visibility into tag mappings and dependencies. Learn more: Manage tags.
Client-side tags
Updates and fixes
- Updated Utiq tag:
- Removed
ids_available_event_name
,isConsentGranted
,ids_available_event_name
,mtid_dl_key
,atid_dl_key
,isEligible
parameters. - Added
utiq_mtid
,utiq_atid
,utiq_consent_granted
, andutiq_is_eligible
data layer variables. - Added
listeners
category withlistener_ids_available
,listener_consent_update_finished
,listener_consent_changing
,listener_initialised
, andlistener_eligibility_checked
parameters.
- Removed
June 12, 2024
Client-side tags
Updates and fixes
- Updated LinkedIn Insight tag to make the automatically generated event ID available client-side.
June 5, 2024
Server-side connectors
Updates and fixes
- Updated the Selligent connector to fix an issue that prevented users from adding a new field to a connector action.
Client-side tags
Updates and fixes
- Updated the following tags to implement logic to verify the Tealium visitor ID is defined before making a cookie sync call:
- Adition Cookie Matching
- Amazon Advertising Cookie Matching Service
- Amobee Cookie Matching Service
- Basis Technologies Cookie Matching Service
- Criteo Cookie Matching Service
- Flashtalking Cookie Matching Service
- IBM UBX Cookie Matching Service
- intelliAd Cookie Matching Service
- iSpot TV Cookie Matching Service
- Google Cookie Matching Service for Google Ad Manager and DV360 (Tealium-hosted)
- Google Cookie Matching Service for Google Ad Manager and DV360 (Google-hosted)
- Krux Cookie Matching Service
- MediaMath Cookie Matching Service
- Quantcast Cookie Matching Service
- Sizmek Cookie Matching Service
- The Trade Desk Cookie Matching Service
- Yahoo ID Cookie Sync
- Xandr Cookie Matching Service
- Updated the following tags to add logic to trigger the cookie sync call once per session:
June 1, 2024
Tealium for Java
- Removed unnecessary reference to
javax.xml.ws.http.HTTPException
to support newer JDKs without additional dependencies.
May 30, 2024
Server-side connectors
Updates and fixes
- Updated the Facebook Conversions connector to populate
external ID
with theTealium Visitor ID
when automapping is enabled. - Updated the Google SA360 Enhanced Conversions connector to correct an issue with the operation type.
- Updated the Marketo connector to correct an issue where non-typed attributes were not mappable.
- Updated the Yahoo! JAPAN Ads API connector to use the v12 API.
- Removed the following deprecated connectors:
- Outbound.io
- PersistiQ
- Pipedrive
- romoter.io
- SalesMachine
- SendX
- Sendicate
Save and publish
Updates and fixes
- Enhancements to the Publish Details table in the Save/Publish screen. Information is more granular which enables better filters, sorting, and searching.
Client-side tags
Updates and fixes
- Updated Adobe Experience Platform Web SDK tag to support version 2.19.
- Updated Google Analytics 4 tag to correct an issue causing duplicate purchase pixels to be sent.
May 22, 2024
Server-side connectors
New connectors
- New marketplace connector: Exactag S2S Tracking
Updates and fixes
- Updated the Adobe Experience Platform connector to resolve an issue where the sandbox configuration header was not being passed to the connector fields.
- Updated the Google DV360 Customer Match connector to add the Match Rate Percentage column to Insights table.
- Updated the Nine Audience Match connector to remove the Segment Name parameter for the Remove User from All Segments action. This parameter defaults to REMOVE_FROM_ALL for this action.
- Updated the Nine Audience Match connector to correct the documentation links.
- Updated the Snapchat Conversions connector to use the new CAPI, which includes updates to the connector parameters.
Consent Integrations
- Fixed an issue in Consent Integrations where the Unmapped Tags error is displayed when there are no unmapped tags.
May 15, 2024
Tealium for Android (Kotlin)
- Core 1.6.0
HttpClient
now supports only retrying on response codes that support retries.- Fix:
ResourceRetriever
refresh interval affecting library settings being fetched too often. - Fix: Reinstated missing
ResourceEntity
class
- RemoteCommandDispatcher 1.4.0.
- Adding a RemoteCommand with a remote URL config now supports falling back to loading from an
Asset
named{command id}.json
on the first launch.- If a file name is also provided, then it will use that name to lookup the
Asset
. - It is now safe to omit the
.json
extension on thefilename
parameter when adding a new remote command, although the.json
extension of the actual file should still be present. - Fix: Refresh interval was not being adhered to
- If a file name is also provided, then it will use that name to lookup the
- Updated the module dependency minimum on
com.tealium:kotlin-core
to1.6.0
.
- Adding a RemoteCommand with a remote URL config now supports falling back to loading from an
- TagManagementDispatcher 1.2.2
- The webview is refreshed on new sessions to ensure that the latest IQ configuration is available.
Server-side connectors
New connectors
- New marketplace connector: Tune Postback Tracking
Updates and fixes
- Removed the deprecated Ambassador connector from the Marketplace.
- Updated the Agillic Recipients connector to correct an issue with the handling of empty dates.
- Updated Criteo Audience Match connector API to version 2024-01.
- Updated the Quantcast Audiences to remove the Remove User from Segment action, which is not supported.
- The Reply.ai connector was removed from the Marketplace.
- Updated the Session AI connector to allow Event Name to be mapped to an attribute.
- Updated the Salesforce Email Studio (ExactTarget) connector and the Salesforce Email Studio OAuth2 (ExactTarget) connector to resolve an error that occurs when a string that contains numeric data is an empty string.
- Updated the Snapchat Audience Match and Snapchat Conversions connectors to add an addendum to the MSA.
Client-side tags
Updates and fixes
- Updated Adobe Analytics AppMeasurement for JS tag to version 2.26.0.
- Updated BloomReach tag to resolve an object reference error.
- Updated Contentsquare UX Analytics to resolve an issue in which a duplicate PageView event is sent.
- Updated the Snap Pixel tag to resolve an issue with mapping the
pixel_id
.
May 8, 2024
Server-side connectors
Updates and fixes
- Updated the LinkedIn Conversions connector to use the new link to the vendor documentation.
Client-side tags
Updates and fixes
- Updated Epsilon Partner Sync Web Service tag to include the
dtm_sync
query parameter. - Updated the Wunderkind tag to correct the
img_base_url
value.
May 1, 2024
Tealium for iOS (Swift)
Medium Impact Changes
- Improved local
RemoteCommands
to accept files path with or without the extension - Fixed remote commands and remote settings refresh mechanism and caching
- Improved remote commands and remote settings retry mechanism
- Allow URL
RemoteCommands
to use a bundled local file with thecommandId
as the name while downloading the remote file or if it can’t be downloaded and is not cached - Added a
TagManagementWebview
refresh after a session is expired
Trace
Updates and fixes
- Fixed issue where expanding the Visits per browser type attribute caused a crash in the Trace page.
Server-side connectors
Updates and fixes
- Fixed Google SA360 Enhanced Conversions connector to properly sum quantity arrays as integers.
- Updated Facebook Conversions connector to add Lead Event Source parameter.
- Updated Google Ads Customer Match connector to support arrays of email addresses and phone numbers.
- Updated Google Ads Conversions connector to add a Conversion Action Override parameter that uses EventStream variables to populate the Conversion Action ID.
- Updated the dataset body of Optimizely Dynamic Customer Profile connector.
New connectors
- New marketplace connector: Nine Audience Match.
Remote commands
- Updated Braze SDK version to support Apple privacy manifest requirements.
Save and publish
Updates and fixes
- Updated notification email for pending publish requests and proposed changes.
April 24, 2024
Server-side connectors
Updates and fixes
- Updated the Facebook Conversions connector with the Send Advancement Measurement Event action (under limited availability from Facebook).
- Updated Adobe Journey Optimizer connector to include Unitary message execution (real-time) action.
- Fixed Adobe Journey Optimizer connector to include Namespace CCA endpoint.
- Updated Google SA360 Enhanced Conversions connector to add retry for
NOT_FOUND: UserId for MatchId
errors.
Client-side tags
New tags
- New marketplace tag: Glance Cobrowse
Updates and fixes
- Updated Google Ad Manager 360 Audience Pixel tag to support IAB compliance.
- Fixed Google Consent Mode tag to properly handle scenarios when tag is loaded before the Google Consent Mode tag runs.
- Updated SessionAI tag to add ability to pass customer information through initialization parameters.
- Fixed SessionAI tag to map
items
object data correctly.eventData.items
object renamed toeventData.cart_items
, added neweventData.new_updated_items
array. Also, passingitems
array tou.EVENTS_LIST.update_cart
event. - Updated The Trade Desk Universal Pixel tag to add custom parameters in Standard data mapping category.
April 17, 2024
Server-side connectors
Updates and fixes
- Updated the Awin Conversion connector to require either the AWC parameter or the Voucher Code.
- Deprecated the DialogOne connector.
New connectors
- New marketplace connector: Adobe Journey Optimizer.
Extensions
Updates and fixes
- Fixed an issue with the jQuery onHandler extension where localStorage and sessionStorage variables were incorrectly available in the variables menu.
April 10, 2024
Server-side connectors
New connectors
- New marketplace connector: Taboola Audiences connector.
Updates and fixes
- Updated Amazon Ads Audience Management connector to list regions in the API URL drop-down.
- Updated Branch Events connector to handle
device_advertising_id
parameter, and added Developer Identity and Device Fingerprinting to parameter list for mappings. - Updated Google Ads Conversions connector to increase timeout from 5 seconds to 10 seconds.
- Updated Marketo connector to limit list entries to 300 and to allow custom IDs in lists.
Client-side tags
Updates and fixes
- Updated Mixpanel tag with new vendor information and implementation guide link.
- Fixed Adobe Experience Platform Web SDK tag to allow events to properly handle counters.
- Updated Adobe Experience Platform Web SDK tag to add Analytics product-level eVar,
categoryIDs
,renderDecisions
, andpersonalization.surfaces
attributes.
April 3, 2024
Connectors
- Updated arrangement and spacing of fields on Settings tab to improve readability.
Server-side connectors
Updates and fixes
- Fixed Movable connector to remap Cart Add event from
category_viewed
to send correct event. - Updated Yandex Metrica to add checkbox to hash Personally-Identifiable Information (PII) values on your behalf.
- Updated Facebook Audiences connector to display an error panel when the connector fails to establish a connection.
Load rules
Fixes
- Updated Load Rules screen to add an icon and count for consents associated with the load rule.
Client-side tags
Updates and fixes
- Updated Amazon Advertising tag to add non-hashed email and phone number to Enhanced Conversions mappings.
- Updated the TikTok Pixel tag to support multiple tags. Only events configured for a specific tag will fire when triggered.
March 27, 2024
Server-side connectors
Updates and fixes
- Updated the Session AI connector to fix an issue where an action throws a null pointer exception when purchase attributes are added.
- Updated the Pinterest Conversions connector to add Click ID parameter to the user data.
Client-side tags
Updates and fixes
- Updated the RTB House Retargeting tag with the following changes:
- Removed automatic mapping of Category ID from
_ccat
. - Updated
eventObject
for events usingofferIds
to pull this value (as an array) from the e-commerceofferId
mapping.
- Removed automatic mapping of Category ID from
March 20, 2024
Server-side connectors
New connectors
- New marketplace connector: Session AI
- New marketplace connector: Snowflake Streaming - Early Access
Updates and fixes
- Updated the Facebook Audiences connector to properly display errors in the connector configuration tab.
- Updated the Movable Ink connector to fix an issue where it won’t fire when all categories are consented to, due to a spelling mismatch.
- Updated the LinkedIn Conversions connector to replace the
event_id
parameter witheventId
to support LinkedIn updates. - Updated the Reddit Conversions connector to add the following
dataProcessingOptions
fields:mode
,country
andregion
. - Updated the Amazon Ads Audience Management connector to add the
dataSourceCountry
field for DSP audience creation. - Updated the Amazon Ads Conversions connector to change the batch size to 100 records.
- Updated the Google Sheets connector to remove dependencies on restricted scopes and migrate the spreadsheet ID from a lookup function to a text field.
- Updated TikTok Events connector to improve content type mapping options.
Consent Integrations
Updates and fixes
- Fixed an issue with displaying some special characters in tag names, such as
<
,>
, and&
.
Client-side tags
Updates and fixes
- Updated Pinterest tag to fix an issue where the tag sent an incorrect event name when you set Auto Page Visit event to
true
. - Updated Adobe Experience Platform Web SDK tag to fix incorrect object format for
linkClicks
events. - Fixed an issue where local storage and session storage variables were not correctly mapped in a tag’s
u.map
object. - Fixed an issue in the UI where the Reload dialog remained visible after dismissal, covering other menu items.
- Deprecated the Yahoo Search Marketing tag.
March 13, 2024
Events
New/Cool Stuff
- Updated the Events UI with the following new additions:
- Updated the Events page to add a column for Library separate from the Labels column.
- Updated the events Details slideout to display the UID in the left column.
- Expanded the Publish Locations section to display more information.
Updates and fixes
- Updated the Events UI to add warnings that display if inherited load rules or variables used by events were deleted.
March 6, 2024
Server-side connectors
New connectors
- New marketplace connector: Dynamic Yield
- New marketplace connector: Google Ad Manager Audience Integration connector
- New marketplace connector: Optimizely Data Platform
Updates and fixes
- Updated the LinkedIn Matched Audiences connector to fix an issue where users were encountering an error when attempting to view configured actions in the UI.
- Updated the Pinterest Conversions connector to make the Event ID parameter optional.
- Updated the Appsflyer App Events connector to add Track In App Event (SDK Clients) action, enabling event sending for clients using the Appsflyer SDK.
Events
Updates and fixes
- Updated the Events UI to add a prompt that displays when unsaved changes will be lost if you close or cancel while creating a new event.
March 1, 2024
Tealium for Cordova
- Upgrade native iOS and Android Tealium dependencies to the latest versions.
- Target XCode 15 for iOS and bump iOS minimum deployment target to iOS 12.
- Fixed Firebase plugin installation ordering issue that could cause Firebase not to work if installed before the main plugin.
Tealium for iOS (Swift)
Low Impact Changes
- Fixed Privacy Manifest
NSPrivacyAccessedAPITypeReasons
for the disk space category.
Remote commands
- Updated SKAdNetwork implementation in the Attribution module to support XCode15.
February 28, 2024
Server-side connectors
Updates and fixes
- Updated the Google Display & Video 360 and Google Ad Manager 360 connectors to fix an issue where users were encountering an error when attempting to create a list in Google using the UI.
Client-side consent management
Updates and fixes
- Updated the Consent Manager
cmGeneral
template to v3.1.0, addingtealiumConsentRegister
functionality to make consent signals easier to access.
Consent Integrations
Updates and fixes
- Added the TrustArc integration with a new default purpose group.
February 22, 2024
Server-side connectors
Updates and fixes
- Updated the Facebook Conversions connector to convert EventStream date attributes from milliseconds to seconds when mapped to the Event Time parameter.
- Updated the following connectors to Facebook Marketing API version 18.0:
- Updated the Iterable connector to let users use an European Union (EU) host for their EU customers.
- Updated the Google Enhanced Conversions for Web connector to make Customer ID and Manager Customer ID fields mappable.
- Updated the Google SA360 Enhanced Conversions connector to support quantity arrays and calculate the sum of the array.
- Updated the Pega Connector to add authentication methods (POST or Basic) to the connector configuration.
Consent Integrations
Updates and fixes
- Fixed an issue that caused special symbols in Consent Integrations to be displayed incorrectly.
- Updated the Consent Integrations framework template to v1.2.0, adding
tealiumConsentRegister
functionality to make consent signals easier to access.
Client-side tags
Updates and fixes
- Deprecated the DataXu Cookie Matching Service tag.
- Updated Google Analytics 4 tag to fix an issue with incorrect naming of the User Provided Data Email Address parameter.
- Updated the Google Consent Mode tag with the following changes:
- Supports Consent Integrations consent-emitted events.
- Supports Google-specific mapping attributes to ease integration with consent management.
- Updated the Reddit Pixel tag to support Reddit Data Processing and Limited Data Use (LDU) flags.
February 14, 2024
Server-side connectors
New connectors
- New marketplace connector: SAS 360 Match
Updates and fixes
- Updated the Google Display & Video 360 Customer Match and Google Ad Manager 360 connectors with the following changes:
- Updated to v2 of the Google Audience Partner API.
- Added a new consent object with default values to the
OffineUserDataJob.create
object for Add To User List actions.
- Deprecated the Google Adwords Customer Match and Google AdWords Customer Match (Tealium-Provided Credentials) connectors.
Templates
Updates and fixes
- Fix an issue that incorrectly allowed inherited tag templates to be editable. Inherited tag templates are now read-only.
Save and publish
Updates and fixes
- Fixed issue that prevented publishing to a custom environment named
custom
.
Extensions
Updates and fixes
- Updated global search to improve search navigation and element selection.
Client-side consent management
Updates and fixes
- Updated the Consent Manager
cmGeneral
template to v3.0.13:- Renamed the
shouldTagFire
function toshouldBlockTag
to better reflect its purpose without changing behavior. - Fixed an issue that caused tags called by UID to be blocked for opted out users even when consent enforcement shouldn’t apply.
- Improved opt-in and opt-out module interactaction when both are used.
- Renamed the
Client-side tags
Updates and fixes
- Updated the Google Analytics 4 tag to correct undefined error issue and incorrect tag template version.
- Updated the Google Consent Mode tag to trigger a consent update when Consent Integrations initiates a refire of the tag triggered by the user updating consent preferences.
- Updated the LinkedIn Insight tag to remove unused e-commerce mappings.
- Updated Snap Pixel tag to better support multiple pixel IDs.
February 7, 2024
Server-side connectors
Updates and fixes
- Updated the Adobe Campaign Classic connector to rename the current action to “Custom SOAP request (Batched)” and add a new action, “Custom SOAP request”.
- Updated the Adobe Experience Platform connector to fix an issue with the incorrect conversion of Map objects to XDM schema parameters.
- Updated the Google Analytics 4 Measurement Protocol connector to support campaign details mappings.
- Updated the LinkedIn Matched Audiences and LinkedIn Conversions connectors to use version 202311 of the LinkedIn API.
- Deprecated the following connectors:
- Retently
- Sarbacane
- Send Pulse
- SendWithUs
- Campayn
- Chameleon
- Close.io
- Ask Nicely
Client-side tags
New tags
- New marketplace tag: Orbee
Updates and fixes
- Updated the Google Consent mode tag with additional consent configurations for Ad User Data and Ad Personalization consent categories.
February 1, 2024
Tealium for iOS (Swift)
Medium Impact Changes
- Now officially supporting XCode 15.
- Increased minimum supported operating system versions: iOS 12.0, TvOS 12.0, and MacOS 10.14.
- Added Privacy Manifest in the SDK for disclosing the privacy API usage reasons. Learn more
Remote commands
- Updated consent options for Adjust on iOS and Android.
- Updated Firebase Remote Commands on Android to support setting multiple user properties with a single command.
January 31, 2024
Server-side connectors
Updates and fixes
- Updated the Algolia Insights connector by adding new Object Data configuration fields to fix a problem when mapping the
product_position_number
parameter toPositions
. - Updated the Amazon Ads Audience Management connector with the following changes:
- Added EventStream support.
- Deprecated the
/amc/partner/instances
endpoint and migrate to/amc/instances
.
- Updated the Amazon Ads Conversions connector to support additional user match keys.
- Updated the Amazon Advertising DSP connector to support country code for audience creation.
- Updated the Firebase Cloud Messaging connector to correct an issue with template rendering.
- Updated the LinkedIn Conversions connector to fix an error with sending the email parameter. When sending any additional user information, such as company, title, or country code, the user first name and last name are required, even if an email or UUID is provided.
- Updated the Reddit Conversions connector to remove
transaction_id
and addconversion_id
and product parameters to the Conversion Event mapping section. - Updated the Google Analytics 4 Measurement Protocol connector to remove character limits for
page_title
,page_location
, andpage_referrer
and support user-provided data and consent states. - Updated the Yandex Metrica connector with the following changes:
- Configuration: The Counter ID value is now a part of the connector configuration.
- The Yandex Client ID (
_ym_uid
) is mappable and now a required parameter. - The Products parameter is now two arrays, an array that represents the product IDs (key) and another that represents quantities of each product (value).
- Send Order Event: Now requires a date type attribute.
- Send Ecommerce Event: The Currency code is now mappable and the Action Field is now Purchase Fields and is no longer required.
- Upsert Contact Event:
clientID
is no longer accepted. To pass Client IDs, useclient_ids
.
Data layer
Fixes
- Fixed an issue where applying a data layer variable that contains special characters to a page view event would result in a JavaScript error that prevented iQ Tag Management from loading.
- Updated event trigger variables executed in
utag.js
to no longer have extra single quotes ('
) added into the resulting value if the value contains double quotes ("
).
Client-side consent management
Updates and fixes
- Updated Consent Manager Event Logging templates (
fullConsentEventHandler
andpartialConsentEventHandler
) to include fallbacks for newly centralized logic for customers still using the legacy Consent Manager v1. For v1 customers, a fallback forcmDoNotSell
is not required because it was not available for this version.
Consent Integrations
Updates and fixes
- Updated the Consent Integrations framework template to v1.1.3 to fix an issue that caused tags to be triggered incorrectly. This update also improves performance in cases of prolonged polling.
Client-side tags
Updates and fixes
- Updated the Google Analytics 4 tag to support user-provided data mappings.
- Updated the Reddit Pixel tag to support advanced matching parameters and deduplication.
- Updated the RTB House Retargeting tag to add UID logic using the
uid
standard mapping parameter. - Deprecated the Tealium Benchmark tag.
January 25, 2024
Server-side connectors
Updates and fixes
- Updated [Eloqua Connector]/server-side-connectors/eloqua-connector/ to add Upload Contact via Bulk API action.
- Updated Google Ads Enhanced Conversions for Web to use Dynamic Customer ID.
- Updated the following Google connectors to use Google Ads API version 15 and consent options:
- Updated Agillic Recipient Connector to use their new Batch API.
- Fixed Amazon Firehose Connector to properly process batched actions.
Consent Integrations
Fixes
- Fixed edit window to properly handle purpose group creation and management.
Client-side tags
Updates and fixes
- Updated Google Consent Mode tag to version 2 and added Ad User Data and Ad Personalization categories.
January 18, 2024
Server-side connectors
Updates and fixes
- Updated the Adobe Campaign connector to enable the
Send Custom SOAP Request
action for EventStream. - Updated the Agillic Recipients connector to resolve an API error that occurs when the response does not contain JSON.
- Updated the Google Analytics connector to resolve an issue in which the Hit Type for events sent with the Send Analytics Event Data (Mobile Optimized) action is set to
screenview
instead ofevent
. - Updated the Pegasystems connector to add the new
ID Merge
action.
Profiles
Updates and fixes
- Fixed an issue with the older profile version banner not being displayed when viewing an older profile version.
Consent Integrations
Fixes
- Updated to make the
Vendor ID
field required for custom Consent Integrations.
Client-side tags
Updates and fixes
- Updated the Adobe Analytics AppMeasurement for JS tag to correct an issue with updating the template to version 2.25.0.
January 11, 2024
Server-side connectors
Updates and fixes
- Updated the Agillic Recipients connector with new mappings to allow empty values to be sent for unused attributes.
- Updated the Avo Inspector connector to add the Track all the events action to enable or disable all events tracking.
- Updated the PulsePoint NPI List connector to fix an issue where the connector was throwing timeout and 429 errors.
- Updated the Reddit Conversions connector to fix an issue where emails where not normalized correctly.
- Updated the Amazon Ads Audience Management connector with the following:
- Removed the External Audience ID field from the Create Audience page.
- Added
connection_id
field to the Add Visitor to Amazon Marketing Cloud (AMC) action.
Consent Integrations
Updates and fixes
- Updated Consent Integrations framework template
utcm_framework
to v1.1.2, which includes:- A fix for negated conditions in load rules.
- Enhanced blocking behavior to ensure it works as expected.
- Optimization to prevent tags from loading the
utag.N.js
(tag template) files before each tag is allowed to be executed.
Client-side tags
Updates and fixes
- Updated data mappings to add color coding to the Mapped Variables view.
- Fixed incorrect tag version dates.
January 1, 2024
Tealium for iOS (Swift)
Medium Impact Changes
- Increased minimum supported operating system versions: iOS 11.0, TvOS 11.0, WatchOS 4.0, and MacOS 10.13.
- Changed the storage default directory on disk for TvOS from
Application Support
toCaches
becauseApplication Support
was not supported on the TVs. - Removed the
iAd
framework from theAttribution
module because it was disabled by Apple and will be removed soon.
Low Impact Changes
- Implemented the option to disable the whole SDK from remote settings.
- Updated the list of device names, including Mac devices and the newest iOS devices.
- Fixed
TealiumVisitorProfile
parsing to gracefully acceptnull
strings. - Improved error logs readability.
- Updated list of iOS device models.
Known Issues
- This is our final release targeting XCode 14. Note that XCode 15 dropped support for iOS 11. To install on XCode 15, you must manually increase the minimum deployment target of the Tealium library to iOS 12 after installing it or the app will crash on launch. For more information, see TEALIUM SWIFT BUG: Runtime crash on launch with Xcode 15 Release.
Remote commands
- Fixed the implementation of the Adjust
trackThirdPartySharing
flag. - Updated Braze Remote Commands on iOS to unify functionality between all platforms and tag for webview.
December 20, 2023
Server-side connectors
New connectors
- New marketplace connector: Adobe Campaign Standard (oAuth).
- New marketplace connector: Yandex Metrica
Updates and fixes
- Updated the Adobe Analytics connector to support new brand actions.
- Updated the Facebook Audience (Customer Provided Credentials) connector to fix an issue in which the callback URL wasn’t redirecting back to Tealium correctly.
Save and publish
Enhancements
- Increased the number of visible versions on the Versions screen to 20.
Client-side tags
Updates and fixes
- Updated the Google Cloud Retail tag to add event-specific parameters and additional parameters to e-commerce mappings and correct attribute mismappings.
- Updated the TikTok Pixel tag by adding Order ID to the standard tracking parameters to fix an issue with the Auto Purchase Tracking feature.
December 13, 2023
Data sources
Updates
- Updated configuration of file import data sources. Attribute mapping is now the second step in configuring a new inbound source.
Server-side connectors
New connectors
- New marketplace connector: Reddit Conversions.
Fixes
- Updated Campaign Monitor connector to allow clearing of custom fields.
- Updated Pardot connector to add Verify Campaign ID, Verify Email Template, Verify List ID buttons to configuration screens.
Save and publish
Fixes
- Corrected an issue in which the Lock Profile publish setting could not be turned off.
Consent Integrations
Updates and fixes
- Updated the Consent Integrations framework template
utcm_framework
to v1.1.1 as follows:- Ensure Tealium iQ cookies aren’t set before the appropriate consent decision is received.
- Ensure ‘before load rules’ and ‘after load rules’ extensions only run once for events processed from the implicitEventQueue.
- Improve the examples and comments in the utcm_framework template.
- Resolved an issue in which a purpose that was removed was shown as undefined.
- Resolved an issue in which incoming event attributes are not displayed.
- Update to ensure preloaded rules in Consent Integrations Exemptions and Purpose Groups cannot be edited.
- Updated the template for custom consent integrations to use more intuitive example code.
Client-side tags
Updates and fixes
- Updated the Epsilon Partner Sync Web Service Tag to correct the base URL.
- Updated the Fathom Analytics tag. The
trackGoal
event has been replaced withtrackEvent
, which is an object with two attributes,_site_id
and_value
. - Updated the Google Ads Conversion Tracking & Remarketing tag to correct an issue that prevented the tag from being triggered.
- Updated the Rakuten Advertising Performance tag to correct an issue with tax calculation.
- Updated Session AI tag to resolve an issue that occurs when
productId
is empty.cart
is now an array of items.coupons
is now an array of objects. Display of event-specific parameters has been updated to only display the parameters linked to each event. Removedprice_sale
andprice_orig
; useitems.priceSale
anditems.priceOrg
instead. - Rewrote the True Fit Integration tag.
December 7, 2023
Server-side connectors
Updates and fixes
- Updated the Adobe Experience Platform connector to fix an issue where users could not select multiple namespaces and to add additional tutorial documentation.
Save and publish
Enhancements
- Removed ability to make a copy for individual versions from the Version Details drop-down list.
Fixes
- Resolve possible JavaScript error that prevented users from merging with a profile save version.
Extensions
Fixes
- Fixed an issue where the Extension tab search field would reset after a user updated the extension.
Client-side tags
Updates and fixes
- Updated the Criteo OneTag tag to add
page_view_id
in the event JSON.
November 29, 2023
Data sources
Updates
- Updated the file import data source to add the ability to filter completed or failed file uploads by time periods. Filter options include 7 days, 30 days, 60 days, and a custom date range.
Server-side connectors
Updates and fixes
- Updated the Adobe Analytics connector to support User Agent Client Hints mappings.
- Updated the Airship connector to correct issue where strings were converted to floats if they contained certain characters.
- Updated the Braze connector to correct an issue where numbers were sent as strings.
- Updated the Criteo Audience Match connector API to the most recent version: v2023.10.
- Updated the Criteo connector to support deduplication with the Criteo One tag.
- Deprecated the Data Xu Audiences connector.
- Updated the Facebook Conversions connector to ensure the Action Source parameter is required.
- Deprecated the Facebook Offline Conversions connector.
- Updated the Google Ads Store Sales connector to correct issue with batched data and the
transactionUploadFraction
field. - Updated the Google Analytics 4 Measurement Protocol connector to support debug override.
- Updated the Movable Ink connector to change the names of the following requirements:
- Access Token ID is now Access Key ID.
- Access Token Secret is now Access Secret.
- Behavioural Endpoint is now Endpoint URL.
- Updated the Nextdoor connector to add
customer
,custom
, andapp
parameters to Conversion Event Parameters section. - Updated the Salesforce Email Studio OAuth2 (ExactTarget) connector to fix issue where Subscriber Attributes Data were incorrectly set as required.
- Updated the Salesforce Pardot connector to increase the number of returned lists to 600 and use reverse chronological order for list entries.
Client-side tags
Updates and fixes
- Updated the Adobe Analytics AppMeasurement tag with the following improvements:
- Added safeguards to prevent multiple post-track callbacks for a single tracking request.
- Added additional error handling for browsers with faulty high-entropy user-agent client hints APIs.
- Changed POST Content-Type header to use
x-www-form-urlencoded
by default.
- Updated the Adobe Target tag to support version 2.11.
- Updated the Epsilon Partner Sync Web Service tag to reflect a new name and automatically set the following QSPs if the source is populated (values from localStorage, sessionStorage, and cookies):
ls.dtm_token
→dtm_token_ls
ss.dtm_token
→dtm_token_ss
cp.dtm_token
→dtm_token
cp.dtm_token_sc
→dtm_token_sc
- Updated the Logicad tag to correct an issue where extensions would not execute.
November 15, 2023
Server-side connectors
New connectors
- New marketplace connector: Nextdoor Conversion API connector.
Updates and fixes
- Updated list in the connector marketplace to properly identify new connectors.
- Fixed multiple issues with the Adobe Experience Platform connector:
- Fixed issues with arrays improperly mapping.
- Fixed issues with Map attributes improperly mapping.
- Added Test Connection button to the Configuration step.
- Require identity namespace if a map attribute exists.
- Change display of flattened objects to last characters appear in drop-down list instead of first characters.
- Require the full path of objects that users map attritues to.
- Display XDM schema name instead of XDM schema ID.
- Update API limits in connector.
- Updated TikTok Events connector to include CompleteRegistration event.
- Updated Amazon Ads Audience Management connector to include Remove From Audience action, create external audience ID from a client-provided audience name, and update the connection names displayed in the connection drop-down lists.
- Updated Microsoft Dynamics 365 connector to add Remove Contact from Marketing List action.
Load rules
Fixes
- Fixed a UI issue so that the screen displays the close button when the screen is narrowed.
Client-side tags
Updates and fixes
- Renamed Sizmek Versa tag to Amazon Ads Server tag.
- Updated Namogoo tag to include events and events parameters.
- Updated AT Internet Piano tag to allow a custom visitor ID.
- Updated Adobe Experience Platform Web SDK tag to allow you to select the tag version.
November 10, 2023
Save and publish
Fixes
- Deprecated FTP Publish feature.
- Fixed issue with Merge button that did not allow merge to proceed.
- Fixed access issue with Client-Side Versions screen.
- Fixed issue with Client-Side Versions screen that blocked ability to merge versions.
November 9, 2023
November 8, 2023
Server-side connectors
Updates and fixes
- Updated Braze connector to add new Send Campaign Message, Send Canvas Message, Send Transactional Email, and Identify User actions.
Consent Integrations
Fixes
- Updated template based on user feedback to make it simpler and easier to understand.
Client-side tags
Updates and fixes
- Updated Pinterest tag to correct failure to send data mapped to
order_id
and_corder
keys.
November 1, 2023
Tealium for React Native
- Updated Android
build.gradle
files to allow the use of Kotlin version from parent project.
Audiences
Updates
- Made performance optimizations to the following features:
- Audience Discovery Live View
- Visitor Profile Sampler
These tools now retrieve data on-demand for live visitors that trigger an event after the Audience Discovery - Live View or Visitor Profile Sampler UI opens. The behavior will work similarly to Live Events. Changes have been released to our Sydney region. Further regional releases to come.
Server-side connectors
Updates and fixes
- Updated Google Ads Store Sales connector to not send
itemAttribute
if no item attributes are mapped and populated. - Updated The Trade Desk First Party Data connector to allow for multiple data value pairs to be sent and updated the name from The Trade Desk connector.
- Updated the Epsilon Event API connector to improve response code handling and to permit empty values for required fields.
Consent Integrations
Fixes
- Updated to fix an issue in which the Tealium iQ Purpose becomes unassigned after a user renames a purpose group.
Client-side tags
New tags
- New marketplace tag: Session AI
Updates and fixes
- Updated Criteo One tag to add support for deduplication using the new
page_view_id
field. - Updated TikTok Pixel tag to correct issue related to event ID generation.
October 25, 2023
Server-side connectors
New connectors
- New marketplace connector: The Trade Desk Third Party Data
- New marketplace connector: Pendo Engage API
Updates and fixes
- Updated the Facebook Audiences connector to verify that the user has accepted the Facebook Terms of Service for Facebook Custom Audiences before establishing a connection to Facebook.
- Updated the Impact Page Loads connector to make the referring URL parameter optional.
Client-side tags
Updates and fixes
- Update to the Adobe Experience Platform Web SDK tag to display full attribute names.
October 18, 2023
Server-side connectors
Updates and fixes
- Updated the Braze connector to support the following new API endpoints:
US-07: https://rest.iad-07.braze.com
EU-02: https://rest.fra-02.braze.eu
- Update to the SalesForce Email Studio OAuth2 (Exact Target) connector to correct an issue with invalid data in one record causing an error for the entire batch of records.
Consent Integrations
Fixes
- Update to correct an issue with merging versions for Consent Integrations elements.
- Updated the Vendor ID field to be optional for custom Consent Integrations.
Client-side tags
New tags
- New marketplace tag: Fathom Analytics
Updates and fixes
- Update to Tealium Collect tag for an issue in which sendBeacon() does not send data when the payload is greater than the limit, which varies by browser.
October 11, 2023
Consent Integrations
New/Cool Stuff
- Added warnings to Consent Integrations when tags are unmapped.
Fixes
- Fixed purpose name and key breaking UI due to false values.
October 1, 2023
DataAccess
New/Cool Stuff
- Updated the AudienceDB UI to include the following new additions:
- Added attribute ID information for each attribute.
- Added a Note column to include custom notes for each attribute.
- Added Preloaded and Custom filters for AudienceDB and EventDB.
Audiences
Updates
- Updated AudienceStream to have a maximum visit length of 24 hours, regardless of event activity. Learn more about visit session length.
Server-side connectors
Updates and fixes
- Fixed Facebook Audiences connector app-related user data mappings.
- Fixed incorrect documentation link for Google SA360 Enhanced Conversions connector.
- Updated PulsePoint NPI List connector to include batch endpoint.
- Updated Microsoft Customer Match connector to correct an issue where the connector was forcing a consent prompt for already authorized users.
- Updated Salesforce Email Studio OAuth2 (ExactTarget) connector to display data extensions in most recent order.
- Updated the EA Spotify Conversions Connector to remove the option to create a Conversion Tracker ID during configuration. Users must contact Spotify directly to obtain a Conversion Tracker ID.
- Deprecated the following connectors:
- Zoho Mail
- Mogreet
- UserEngage
- Trumpia
- Taplytics
- Streak
Extensions
Fixes
- Fixed JavaScript error when duplicating a Data Validation extension.
- Fixed JavaScript error when copying a rule from within CCPA.
Client-side tags
Updates and fixes
- Updated the Adobe Experience Platform Web SDK tag tooltip to 2.18.0.
- Updated the PulsePoint HCP365 Pixel tag to include updated fields for CCPA Opt-Out (
us_privacy
), URL of the page the tag was fired (url
), and page referrer (rr
) with default values to help users successfully complete data mapping for the tag. - Fixed Template Status Checker so that it displays correct latest version of Consent Manager template.
- Fixed duplicated input field IDs and names in the Zeta tag.
- Fixed sendBeacon feature in Tealium Collect tag.
- Fixed issue with all Tags tab content disappearing when you select the label filter.
- Deprecated the following tags:
- Atrinsic
- Alchemy Social
- Argyle Social
- AdGenie
- AdConversion
- Adometry
- AdQuick
- Affimax
- ActionX
- Affiliate Labs
- AdServerPub
- AdExtent
- AdChemix
- BayNote
- Buy.at
- Bettenjagd
- Ad.com Dynamic Retargeter at AOL
- BlueLithium (Yahoo)
- Badgeville
- BuyBuddy (Brighter Option)
September 27, 2023
Server-side administration
Fixes
- Updated the server-side versions screen to fix incorrect date formatting in the calendar.
September 1, 2023
Tealium Universal Tag (utag.js)
Version 4.50 provides more transparency and control over cookies written by utag.js
.
Previously, we recommended using multi-value cookies (multicookies). However, due to the increasing demand for transparency and simplicity, particularly for data privacy audits, we have revised our recommendation. Now, we advise using standalone cookies, which is now the default behavior in utag.js
.
This release includes the following updates:
- Writes separate
utag_main
cookies instead of a single multi-value cookie. To use the legacy behavior that stores multiple values in a single cookie, setsplit_cookie
tofalse
. - Moves responsibility for
utag_main_v_id
fromutag.js
to the Tealium Collect tag. To forceutag.js
to set theutag_main_v_id
cookie, setalways_set_v_id
totrue
. - Adds a new
id
element in the Consent Manager cookie for logging consent. When this cookie is first set, it will match anyutag_main_v_id
values found, after which it won’t be changed. That behavior prioritizes maintaining the link between the user and the logged events, but means that a match isn’t guaranteed in all cases. - Can easily be upgraded by updating the relevant templates.
- Adds the following utag settings:
split_cookie
- Set tofalse
to use the legacy single multi-value cookie.split_cookie_allowlist
- Specifies an array cookie names that can be set using theutag_main
namespace.always_set_v_id
- Forcesutag.js
to set theutag_main_v_id
cookie or thev_id
component ofutag_main
.
- Updates the following templates:
utag.js
(loader
) to version 4.50, to update cookie behaviorcmGeneral
to version 3.0.12, to add centralized logic for generating or retrieving a device ID that can be called from consent logging templatescmDoNotSell
to version 1.4.0, to call the centralized logicfullConsentEventHandler
to version 1.0.3, to call the centralized logicpartialConsentEventHandler
to version 1.0.3, to call the centralized logicCollect
to versiontv:20064.20230519
(released in May 2023)
For more information about the new settings for enhanced transparency in utag 4.50 or later, see Enhancing Cookie Transparency with utag 4.51.
Tealium for Android (Kotlin)
- Fix: ProGuard adjustment resolve missing
BatchDispatch$Companion
class. - Minor lint warning fixes
DataAccess
New/Cool Stuff
- Redesigned the AudienceDB screen to make it easier to browse and filter the attributes and audiences that are stored in the database.
- Added a button to easily copy connection credentials for the EventStore, AudienceStore, EventDB, and AudienceDB screens.
Data sources
Updates
- Updated the file import sample file upload and column mapping tools to enforce a limit of 1,000 columns.
Server-side connectors
New connectors
- New marketplace connector: Amazon Ads Audience Management connector
Updates and fixes
- Updated Amazon Ads Audience Management connector with the following:
- Added new component
amazon_audience_field.jsx
. - Updated Advertiser ID.
- Added new component
- Updated the conversion name flow and added country code to the Amazon Ads Conversions connector.
- Updated the Pinterest Audiences connector to add a Test Connection button.
- Updated the following connectors to use Facebook version 17:
- Facebook App Events connector
- Facebook Audiences connector
- Facebook Audiences connector (Customer-Provided Credentials)
- Facebook Conversions connector
- Facebook Messenger connector
- Updated the LaunchDarkly Metric Import API connector to add two different domains, Commercial and Federal. The default domain is Commercial.
- Updated the Quantcast Audiences connector to support new authentication flow.
- Fixed Limited Server-Side Request Forgery (SSRF) vulnerability in all connectors with the Test Connection button.
- Updated connector configuration screen to allow multiple row functionality.
Client-side consent management
Updates and fixes
-
Updated event logging to use a new dedicated
id
parameter in theCONSENTMGR
cookie (with support for custom namespaces), instead of using theutag_main_v_id
.The following templates have been updated to support this update:
cmGeneral
has been updated to version 3.0.12 to add centralized logic for generating consent forms ID that can be called from consent logging templates.cmDoNotSell
has been updated to version 1.4.0 to call the centralized logic.fullConsentEventHandler
has been updated to version 1.0.3 to call the centralized logic.partialConsentEventHandler
has been updated to version 1.0.3 to call the centralized logic.
For more information about this change and related changes to
utag.js
, see the release notes for version 4.50.
Consent Integrations
New/Cool Stuff
- Add support for multiple purpose mappings per tag.
- Updated the Consent Integrations template
utcm_framework
to version 1.1.0, which includes:- Improved console logging in debug mode when no enforcement rule applies from a purpose group.
- Support for multiple purpose mappings per tag.
- Updated the purpose groups slide-out with the ability to add or edit rules within an enforcement rule.
Fixes
- Added an option to clear the Tealium iQ purpose mapping in Consent Integrations purpose groups.
- Fixed an issue with merge history that previously caused garbled messages.
Client-side tags
Updates and fixes
- Updated the Adobe Experience Platform Web SDK tag with the following:
- Renamed
edgeConfigId
todatastreamId
. - Updated the
webPageDetails
andwebInteraction
attributes to camel case. - Added the
setConsent
event. - Updated
defaultConsent
default value logic: If asetConsent
event is mapped,defaultConsent
is set topending
to queue pending events; if not mapped,defaultConsent
is set toin
, while retaining the option to map thedefaultConsent
variable. - Updated tooltip to version 2.18.0.
- Added an Adobe Analytics migration guide to the documentation.
- Renamed
- Updated the Criteo OneTag tag to support multiple account IDs.
- Updated the Epsilon Site tag to fix issues with query parameter and update mappings based on the vendor’s requirements.
- Updated the tags summary section under the Extensions tab for tags to display related extensions.
- Updated the PulsePoint HCP365 Pixel tag to pre-populate default values in the following fields during pixel setup:
us_privacy
url
rr
- Updated the Simpli.fi tag and logo.
- Deprecated the following tags:
- Avazu tag
- Adknowledge tag
- AffiliateTraction tag
- AdReady tag
- Ask tag
- Amadesa tag
- AudienceScience tag
- Updated the Twitter Pixel tag to add
conversion_id
to the tag request.
August 1, 2023
Tealium for iOS (Swift)
Low Impact Changes
- Removed data from the data layer that remained from a previous migration from the Objective-C library:
app_version
,uuid
,visitor_id
,last_track_event
andlast_session_created
. - Prevented an eventual crash on XCode 15 beta due to
+load
method being defined on anobj-c
category of a Swift class.
Tealium for Android (Kotlin)
- Core 1.5.4
- Session data expiration bug fix: fixes an issue whereby session scoped data may not be expired on launch
- Event router events buffering: buffers events until SDK is ready so events are not missed during startup
- Database lock crash bug fix: Some uncaught exceptions in persistence led to possible crashes
- ProGuard rules updates to reinstate incorrectly obfuscated
BatchDispatch
class
- AdIdentifier 1.1.2
- Fix: Data layer writes moved onto Tealium background thread
Server-side connectors
New connectors
- New marketplace connector: Clicksend
- New marketplace connector: TikTok Audiences (Tealium-Provided Credentials)
- New marketplace connector - Movable Ink
Updates and fixes
- Updated the Emarsys connector to add the Trigger External Event action.
- Updated the Klaviyo connector to increase the number of lists fetched for selection in action configuration.
- Updated the Facebook Conversions connector with the following:
- Enabled the Send Lead Event for AudienceStream.
- Updated the help text to reflect CAPI support for offline and app events.
- Updated the connector to fully support app events.
- Updated Google SA360 Enhanced Conversions connector to fix a deserialization error after partial retry.
- Updated the Criteo Audience Match connector to support client-specific Gum Caller ID.
- Updated the Amazon Advertising DSP connector to remove the insights button in the Add Hashed Record action.
- Updated price format parameter for the Snapchat Conversions connector.
- Fixed an issue where users were unable to create audiences or lists within Audience Connector Admin Configuration in the following connectors:
- Updated the Leanplum connector to add batching and updated parameters.
- Updated the DMD connector to add a login endpoint for global routing.
- Added the following actions to the MoEngage connector - Add/Modify User Information (Batched), Track Event (Real-Time), Track Event (Batched), Add User to Audience/Cohort, and Remove User from Audience/Cohort.
- Updated the Google Cloud Pub/Sub connector to add a new action Send Event Data with Custom URL.
- Updated the Adobe Analytics connector to replace an incorrect name for the variable which triggers an app crash event. It was set to
lifecycle_diddetect_crash
, but has been replaced withlifecycle_diddetectcrash
. - Updated the AudienceStore connector to add batch options.
- Update timeout for track user (non batch) action to 10 seconds in Braze connector.
- Updated the Emarsys connector to enable the external event action for EventStore.
Consent Integrations
Fixes
- Fixed an issue that prevented users from deselecting previously selected Environments when editing a Consent Integration.
- Updated Consent Integrations so you can now click the confirmation popup to discard changes while exiting halfway through adding a new rule.
Client-side tags
Updates and fixes
- Updated the Epsilon Site tag to send attributes via query string parameters.
- Updated cookie ID persistence in Criteo Cookie Matching Service tag.
- Updated the Google Analytics 4 tag to support direct user-scoped dimensions mapping.
- Updated the Wunderkind tag to add missing image request.
- Updated the Google Ads Conversion Tracking and Remarketing (gtag.js) tag to ensure that the
gtag.config
event only fires once per page. - Updated the Facebook Pixel tag to resolve an issue with spaces in Custom Event names.
- Update the
basketsize
anditms
parameters in the Adform tag. - Updated the Flashtalking OneTag tag to support u-var based pattern matching.
- Updated the Adobe Experience Platform Web SDK tag to remove the pre-hiding snippet option.
- Updated the Mouseflow tag to remove the
newPageView
function. - Updated the Floodlight (gtag.js) tag to add support for enhanced conversions.
- Updated the Awin tag to fix an issue where the custom parameter mapping order is invalid in fallback pixel URL.
- Update the iAdvize tag to add the Auto Fire Purchase Event.
- Updated Google Analytics 4 tag mappings.
- Updated the RTB House Retargeting tag to fix a callback issue.
- Updated the AIM XR tag with the following:
- Expanded utag.link for other Healthcare Professional (HCP) identity types.
- Added the ability to control where utag.link is sending data and where
utag.link
is triggered. - Include
session_id
in utag.link.
- Updated Amazon Advertising tag to add support for hashed email and event ID generation.
- Updated the Domain parameter in the Trade Desk Cookie Matching Service tag.
- Renamed Coherent Path Signal tag to Movable Ink Da Vinci tag.
- The Google Analytics (ga.js) tag is now deprecated.
- The Floodlight tag is now deprecated. Google recommends migrating to the new Floodlight (gtag.js) tag.
- The Google Analytics (analytics.js) tag is now deprecated.
- Updated the Twitter Pixel tag to add
conversion_id
to the tag request. - Updated the Microsoft Advertising Universal Event Tracking (UET) tag to resolve issues with the SPA website.
- Updated the Pinterest tag to add custom event data mappings and logic.
- Updated the Floodlight (gtag.js) tag to fix the
u.data.custom_scripts
data type. - Updated the Neustar Fabrick ID tag to fix the incorrect Visitor ID parameter.
- Updated the Adobe Analytics AppMeasurement for JS tag template to remove false-positive errors.
July 1, 2023
Tealium for Android (Java)
- Gradle updates, and Android
compileSdkVersion
andtargetSdkVersion
increased to version 33 for all modules.
Consent Integrations
Fixes
- Fixed a visual issue with the header when scrolling in the Map Tags section of a Consent Integrations Purpose Group.
- Fixed UI freezing issue when clicking Save on Map Tags UI, which can result in a Page Unresponsive error.
June 1, 2023
Tealium for React Native
- Android-Kotlin dependencies updated including several fixes listed below.
- Core 1.5.3, Visitor Service 1.2.0 and Lifecycle 1.2.0
- Fix: Some event sending delayed by Visitor Service updates
- Fix: Lifecycle negative values
- Fix: ModuleManager crashes caused by concurrent modification
Tealium for Android (Kotlin)
- Database bug fix: Add database status check before performing writable actions, and allow event queuing until database is fully operational
- Library settings bug fix: Update how remote settings were fetched and saved
- Module manager bug fix: Update to thread-safe collection
Consent Integrations
New/Cool Stuff
- Added Consent Integrations to the change history in Tealium iQ.
- Updated the Consent Integrations framework template
utcm_framework
to version 1.0.6. This ensures that load rules are reliably evaluated in time for DOM Ready extension conditions, and fixes an issue where events entered theimplicitEventQueue
backwards and were processed out of order. - Added support for Consent Integrations configurations in the Tealium iQ Merge feature.
Fixes
- Updated consent integrations to ensure that custom environments are updated correctly when switching between Tealium iQ profiles and publishing works as expected.
May 1, 2023
Tealium for iOS (Swift)
Low Impact Changes
- Added the
getTagManagementWebView
method on the Tealium instance to access the internal TagManagement WebView so clients can set theisInspectable
flag and debug on XCode 14.3+. - Fixed a possible crash that could happen when comparing two
TealiumConfig
objects with aWKWebViewConfiguration
inside. - Fixed an edge case that could cause some of our internal files to be unintentionally backed up and reused on different devices.
Client-side consent management
Updates and fixes
- The
cmDoNotSell
template (a template used by the Opt-out Privacy Banner and Popup) has been updated to version 1.3.0.##UTDNSCONSENTEVENT##
has been replaced with nearly identical logic (which is exposed for customization). The only change in behavior is thatconsent_categories
is now an empty array ([]) instead of an empty string ("") to match the behavior in Opt-in consent models.
Consent Integrations
Fixes
- Rules generated by Events have been removed from the Enforcement Rules drop-down menu for Integrations and Exemptions in Tealium iQ Consent Integrations.
- Fixed a minor issue with the Template Status checker where it expected OneTrust Consent Integration version 2.0.3 instead of the current version 2.0.1.
- The default OneTrust purpose group has been updated so that Tealium iQ is not assigned initially. Previously it was set to Strictly Necessary by default.
- The
utcm_framework
framework template for Consent integrations has been updated to version 1.0.5. This fixed an issue where events under certain timing conditions were not included in the implicit event queuewindow.tealiumCmpIntegration.implicitEventQueue
for reprocessing after explicit consent.
April 1, 2023
Tealium for iOS (Swift)
Low Impact Changes
- Improved launch performance in case of a large data layer.
- Fixed a bug where publish settings were not updated correctly in some internal modules.
Tealium for Cordova
- Added handling of
Map
type from the Ionic plugin.Map
types are converted toObject
where necessary.
Tealium for Android (Kotlin)
- Connectivity collector bug fix: Fixed an issue in the event where
telephonyManager.networkOperator
returns a blank string - Deep link reporting bug fix:
- Deep link handling limited to activities launched with intents where
action == Intent.ACTION_VIEW
- Empty URIs are ignored, and deep links that match what is already stored is a
no*op
- Handling pushed on to Tealium background thread.
- Deep link handling limited to activities launched with intents where
Consent Integrations
New/Cool Stuff
- Enable Enforcement Rules editing
You can now edit Enforcement Rules from the Consent Integrations tab, excluding the All Page and Events rules.
Fixes
- Fixed an issue where newly created purpose groups are incorrectly assigned to edited Integrations.
March 1, 2023
Client-side consent management
Updates
- Renamed legacy consent management tools to remove specific regulation names
Updated the name of Consent Management components to remove references to specific regulations and remove GDPR Rule Creator. There are no changes in behavior. - Added new Consent logging templates to Template Status Checker
Added support for the new consent logging templatesfullConsentEventHandler
andpartialConsentEventHandler
to Tealium iQ’s Template Status Checker. - Updated
partialConsentEventHandler
andfullConsentEventHandler
templates to version 1.0.2
UpdatedpartialConsentEventHandler
andfullConsentEventHandler
templates to version 1.0.2. This fixes an issue where consent logging payloads could include the wrong cookie value as thetrace_id
if a cookie name included the string “trace_id”. - Updated Tealium GPC support to be more conservative and compliant out-of-the-box
The opt-out logic related to Global Privacy Control (GPC) in thecmDoNotSell
template has been updated to be more conservative out-of-the-box. Previously, when a user’s consent cookie explicitly allowed tracking but the GPC signal indicated an opt-out, the GPC opt-out signal was ignored in favor of the cookie. As of version 1.2.0 ofcmDoNotSell
, the GPC opt-out signal is always respected, even if there is a cookie indicating that the user agrees to the sale or sharing of their data.
Consent Integrations
New/Cool Stuff
-
Consent Integrations Launch
Tealium is excited to introduce Tealium iQ Consent Integrations, a new consent enforcement framework to enforce end-user consent decisions captured by non-Tealium consent management platforms (CMPs). Consent Integrations offers the following capabilities:- A flexible consent enforcement framework to ensure consent preferences are managed properly.
- Each consent integration provides the option for both opt-in (GDPR-style) and opt-out (CCPA-style) enforcement patterns, ensuring compliance with critical data privacy regulations.
- Integrations are available for Didomi, OneTrust, and Usercentrics, with an integration that respects any opt-out cookie or the Global Privacy Control (GPC) signal.
- Supports custom integration development with other CMPs.
For more information about Consent Integrations, see the About Consent Integrations.
February 1, 2023
Tealium for iOS (Swift)
Low Impact Changes
- Introduced overrides for compound keys in JSON remote commands to replace default delimiters (, and :) with the new configuration keys:
keys_separation_delimiter
andkeys_equality_delimiter
. - Fixed a bug that could cause Tealium internal files on device to be reset when updating the library.
Tealium for Xamarin
- Updated Tealium native libraries dependencies. Tealium Swift
2.9.1
and Tealium Kotlin1.5.1
. - Implemented methods to support visitor switching:
- Added support for config option
visitorIdentityKey
to specify the key used to identify multiple users the app. - Added the method
ResetVisitorId()
to clear and generate a new visitor ID. - Added support for config option
clearStoredVisitorIds
to clear all stored visitor IDs on the device.
- Added support for config option
- Added the config option
overrideConsentCategoriesKey
to override the name of the consent categories attribute sent in consent events.
January 1, 2023
Tealium for Android (Java)
- Fixed to avoid possible crashes when trying to open a deep link with unescaped query parameters.
Tealium for iOS (Swift)
Medium Impact Changes
- Implemented the new Apple Search Ads API for iOS 14.5+ in the Attribution module.
- Added new static objects mapping and compound keys functionality to the JSON remote commands to increase flexibility of use.
Low Impact Changes
- Updated device names lookup file.
Tealium for Java
- Persistent Data Deletion -
deletePersistentData
method added to the DataManager class.
Client-side consent management
Updates and fixes
- Renamed the CCPA Display Rule to Enforcement Rule
Updated the rule label in the CCPA (Opt-Out) model from Display Rule to Enforcement Rule to be consistent with the rest of the Consent Management components and the actual behavior. There is no change in behavior. - Fixed an issue where
cmShowPreferences
version 2.1.0 was incorrectly flagged as non-current in the Tag Status Checker.
December 1, 2022
Tealium for React Native
- Visitor Switching support
- Kotlin/Swift SDK dependencies updated
Tealium for Cordova
- Visitor Switching support.
- Kotlin/Swift SDK dependencies updated.
Client-side consent management
Updates and fixes
- Updated
cmGeneral
template to version 3.0.11
UpdatedcmGeneral
template to version 3.0.11. This update fixes an issue introduced in version 3.0.10 where sometimesnull
is included in theconsent_categories
array instead of the expected category key when categories have been deactivated. - Updated
fullConsentEventHander
andpartialConsentEventHandler
consent logging templates
ThefullConsentEventHander
andpartialConsentEventHandler
consent logging templates have been updated with the following:- Include the value of the
trace_id
cookie ascp.trace_id
in the logging request, if present. - Use an array of consent categories instead of a comma-separated string.
These changes are included in a new template version, which gives you the flexibility to decide if and when to upgrade and tailor the requirements to your specific needs.
- Include the value of the
- Fixed an issue where the Edge browser was incorrectly recognized as Chrome in the Active browser type and Active browser version preloaded attributes. This bug will be fixed with the first publish of each CDH profile after this release. This is because the preloaded logic is part of the configuration of each CDH profile.
November 1, 2022
Client-side consent management
Updates
- Moved consent logging events to editable templates. No changes to behavior.
October 1, 2022
Tealium for Android (Java)
- Added support for
QueryParameterProvider
- allows additional parameters to be added to the URL used for the WebViewDispatcher
Tealium for iOS (Swift)
Low Impact Changes
- Improved the Tag Management module code and thread security.
- VisitorService’s
requestVisitorProfile
now skips the timeout set by thevisitorServiceRefresh
config key. - Added an observable for
onVisitorId
changes in theTealium
class to notify new IDs whenresetVisitorId
is called or when we automatically switch to a new visitor. - Added the
visitorIdentityKey
config key for the new visitor switching API. - Migrated the
app_uuid
storage to the data layer to allow applications to delete it if needed. - Added
clearStoredVisitorIds
method inTealium
class to delete all stored visitor IDs for current and previous identities and reset the currentvisitorId
. - Added
decorateUrl
method toAdobeVisitorService
module to add Adobe query parameter to a URL.
New Features
- Added query parameter provider functionality for Adobe ECID in the Tag Management module to decorate the webview URL with Adobe query parameter.
- Added support in remote commands for command mappings to
all_events
andall_views
, which are triggered on each event and view, respectively. - Added support for visitor switching.
Tealium for Android (Kotlin)
- Visitor Switching
- Added
TealiumConfig.visitorIdentityKey
to specify the data layer key that represents a known identity in the data layer - Known identities are hashed and linked to the
tealium_visitor_id
for better switching between known identities
- Added
- Added the following listeners:
VisitorIdUpdatedListener
: notifies when the visitor ID is updated as a result of switching identities or resetting the visitor IDDataLayerUpdatedListener
: listens for updates to key/value pairs in the data layeronDataUpdated(String, Any)
: notifies when a value is updated in the data layeronDataRemoved(Set<String>)
: notifies when the specified key is removed from the data layer by user interaction or data expiration
- RemoteCommandDispatcher 1.2.0
- Support for default mapping
all_events
andall_views
in the JSON mapping file to enable triggering specific commands in response to each view or event
- Support for default mapping
- TagManagement 1.2.0
QueryParameterProvider
: added additional parameters to the URL for the Tag Management module- Improved webview instantiation and page load management
- Kotlin dependency updates
- Stdlib: 1.6.21
- Coroutines: 1.6.2
Server-side consent management
Fixes
- Exposed the Global Privacy Control header (Sec-GPC) as
global_privacy_control_opt_out
in incoming event payloads.- No event-level attribute is automatically added.
- Possible values are
true
, (Sec-GPC: 1),false
(Sec-GPC:0) or unassigned (if there is no header). - For more information about GPC and how to respect the GPC signal with Tealium, see About Global Privacy Control.
- Removed consent-based filtering of Tealium consent change events in EventStream.
- These events can now be streamed to any consent logging destination.
- There are no changes to consent-related filtering of other events or AudienceStream behavior.
Client-side consent management
Updates
- Added support for Global Privacy Control (GPC) signal to the CCPA Consent Manager
ThecmDoNotSell
template has been updated to version 1.1.0. This adds built-in respect for Global Privacy Control (GPC) signal to the CCPA Consent Manager. - Remove consent based filtering of Tealium consent change events in EventStream
Removed consent-based filtering of Tealium consent change events in EventStream. These events can now be streamed to any consent logging destination. No changes to consent-related filtering of other events or AudienceStream behavior.
September 1, 2022
Tealium Universal Tag (utag.js)
- Values from
localStorage
andsessionStorage
are automatically added to the data layer object. - Added override options
ignoreSessionStorage
andignoreLocalStorage
. - Fixed an issue where
tealium_environment
andut.env
were not set correctly for first-party domain customers.
Tealium for iOS (Swift)
Low Impact Changes
- Updated
SKAdNetwork
calls to useupdatePostbackConversionValue
if on iOS 15
High Impact Changes
- Removed initial call to
trackUserConsentCategories
this may effect you if you rely on that being called.
New Features
- Added config option
overrideConsentCategoriesKey
to override the name of the Tealium consent categories attribute, to support custom enforcement of server-side consent.
Tealium for React Native
- Added React 18 to supported versions for all packages
- All remote command and location modules updated to support React 18
- Upgraded Kotlin version to 1.6.0
Tealium for Cordova
- Fixed incorrect
plugin_version
version number in data layer.
Tealium for Xamarin
- Fixed a bug that caused events to be tracked as views.
Tealium for Android (Kotlin)
- Core 1.4.3
- DeviceCollector bug fix: Correct calculation for
tealium_logical_resolution
- DeviceCollector bug fix: Correct calculation for
- TagManagement 1.1.3
- Bug fix: Relocate
sessionCountingEnabled
to fix miscount on fresh launch
- Bug fix: Relocate
- VisitorService 1.1.1
- Bug fix: Move visitor service profile override to earlier initialization
- Location: Add missing ProGuard rules for new classes
Client-side consent management
Updates and fixes
- Updated default language behavior in Consent Management models
Updated the Default Language behavior of all consent management models to ensure that a default language is enabled when no language is selected. This fixes an exception that occasionally appears in Tealium IQ when trying to access the Consent Management tab when no default language is selected. - Updated
cmGeneral
template to version 3.0.10
UpdatedcmGeneral template
to 3.0.10. This fixes a bug wheregetSelectedCategories
could return categories that weren’t displayed to the user. - Renamed Display Rule to Enforcement Rule in Explicit Consent Prompt to better reflect it’s functionality.
- Removed misleading Consent Category section from AudienceStream connector actions UI.
July 1, 2022
Tealium for React Native
- Kotlin dependency upgraded to 1.4.1
- Swift dependency upgraded to 2.6.4
- Added
overrideCollectProfile
,overrideCollectDomain
andsessionCountingEnabled
keys to the config - Added
gatherTrackData
method to Tealium instance
Tealium for Xamarin
- Added a custom implementation of a Firebase Remote command
1.0.0
.
Tealium for Nativescript
- Kotlin dependency upgraded to 1.4.1
- Swift dependency upgraded to 2.6.4
- Added
overrideCollectProfile
,overrideCollectDomain
, andsessionCountingEnabled
keys to the config - Added
gatherTrackData
method to Tealium instance
June 1, 2022
Tealium for Android (Kotlin)
- Core 1.4.1
- Bug fix: Update consent status to return
string
instead ofenum
value
- Bug fix: Update consent status to return
May 1, 2022
Tealium for iOS (Swift)
Low Impact Changes
- Improved logic for storing and updating
visitorId
for the visitor profile. - Added the config flag
enableBackgroundLocation
to enable location updates when the app is running in the background. - Fixed
dispatchExpiration
logic to accept -1 as never expire for queued tracking events. - Removed support for catalyst in the prebuilt frameworks to solve building errors.
- Fixed remote commands name and version tracking.
Tealium for Android (Kotlin)
- Core 1.4.0
- Added
gatherTrackData
to expose all data layer and collector variables
- Added
April 1, 2022
Tealium for Android (Kotlin)
- Core 1.3.3
- Update remote command dependency
- RemoteCommandDispatcher 1.1.1
- Added remote command names and versions to data layer
March 1, 2022
Tealium for iOS (Swift)
Low Impact Changes
- Fixed a bug that could cause publish settings to be retrieved more than once.
- Fixed a bug that caused
dataLayer
variables withuntilRestart
expiration not to be deleted. - The following Location modules have been replaced with their respective getters:
createdGeofences
->getCreatedGeofences(completion:)
lastLocation
->getLastLocation(completion:)
monitoredGeofences
->getMonitoredGeofences(completion:)
Tealium for Android (Kotlin)
- Core 1.3.2
- Added
events
property toTealiumConfig
to add listeners at startup. This fixes the issue of missed events at startup.
- Added
- Lifecycle 1.1.1
- Bug fix: Fixed the default values for some attributes that caused missed events when combined with the Tag Management module
- InAppPurchase 1.0.1
- Additional
purchase_date
key provided in ISO-8601 format
- Additional
- Tag Management 1.1.2
- Added the
sessionCountingEnabled
flag toTealiumConfig
to disable session counting for Tealium iQ accounts that use self-hosted JavaScript files
- Added the
February 1, 2022
Tealium for Android (Java)
- Added the
sessionCountingEnabled
flag toTealiumConfig
to allow disabling of session counting for Tealium iQ accounts that use self-hosted JavaScript files.
Tealium for iOS (Objective C)
Low Impact Changes
- Added the
sessionCountingEnabled
flag toTEALConfiguration
to allow disabling of session counting for Tealium iQ accounts that use self-hosted JavaScript files. - Fixed a crash that could happen for devices with no preferred language.
Tealium for iOS (Swift)
Low Impact Changes
- Improved logs for enum based errors.
- Added the
sessionCountingEnabled
flag toTealiumConfig
to allow disabling of session counting for Tealium iQ accounts that use self-hosted JavaScript files.
Tealium for React Native
- Support added up to React Native 0.67.1 + gradle 7
- Added support for additional Optional Modules, as well as packaged Remote Commands
- Tealium Kotlin 1.3.0 and Tealium Swift 2.6.0 dependency increase
- Added Location Module 1.0.0
For iOS, the podspec has been split, so you should now add pod "tealium-react-native-swift", :path => '../node_modules/tealium-react-native/tealium-react-native-swift.podspec'
to your Podfile.
Tealium for Android (Kotlin)
- Core 1.3.1
- Stability fix for failed webview creation
- Stability fix for connectivity exception handling
- In App Purchase auto tracking 1.0.0 release
January 1, 2022
Tealium for iOS (Swift)
Medium Impact Changes
- Added a new
TealiumInAppPurchase
module to automatically track in app purchases.
Low Impact Changes
- Added remote commands names and versions to the data layer.
- Added a workaround in
isLowPowerModeEnabled
for the iOS 15 internal crash. - Internally refactored the handling of lifecycle events.
- Replaced internal usage of deprecated NSKeyedUnarchiver in the migrator from the legacy Tealium Objective-C library.
- Fixed an issue that caused duplicated JSON remote commands the first time we requested the remote configuration.
- Fixed a typo in
gatherTrackData
.
December 1, 2021
Tealium for iOS (Swift)
Medium Impact Changes
- Fixed import of Swift code in Objective-C files when compiling as a static library, such as when using Cocoapods without setting
use_frameworks!
or using Tealium React Native library.
Low Impact Changes
- Prevented automatic deep link tracking from digesting AppDelegate’s deep links, in order to allow other implementations to handle their own deep links.
- Fixed threading issues for
TagManagement
module andTealiumConfig
.
Tealium for Nativescript
- Bumped version numbers for new release, no actual changes
November 1, 2021
Tealium for iOS (Swift)
High Impact Changes
- The AutoTracking module now supports SwiftUI and UIKit and is cross-platform (iOS, watchOS, tvOS, and macOS).
Medium Impact Changes
- Added SPM support for AutoTracking module.
- Added automatic handling of deep links for SceneDelegate and SwiftUI apps.
- Added an info.plist flag
TealiumAutotrackingDeepLinkEnabled
with the value of false to disable automatic deep link tracking. - Added support for manual tracking of deep links:
- SwiftUI: use
trackingAppOpenUrl()
View modifier orTealiumAppTrackable
container View. - UIKit: use
handleDeepLink()
from your AppDelegate or SceneDelegate.
- SwiftUI: use
Low Impact Changes
- Made all data layer and Collector’s variables available using the method
Tealium.gatherTrackData()
. - Renamed
TealiumKeys
toTealiumDataKeys
, for use withgatherTrackData()
. - Improved Codable support by ignoring non-codable values in release builds and causing a crash in debug builds.
- Reduced Geofences loading usage of main thread.
Known Issues
- CocoaPods platform iOS version is increased to 11 due to linting issues (but, if required, it’s safe to lower it to 9 with a post-install script).
- Carthage generates warnings with Xcode 13 (https://github.com/Carthage/Carthage/issues/3238).
Tealium for Xamarin
- Initial release
October 1, 2021
Tealium for iOS (Swift)
Low Impact Changes
- Fixed a bug that could cause a crash when deallocating a RemoteCommand before sending HTTP requests to our internal command.
- Fixed a bug that prevented data layer variables from being persisted for sessions longer than 30 minutes.
- Avoided registration for
isLowPowerModeEnabled
notification if thebatterySaver
feature is not enabled, avoiding possible crashes on an iOS 15 internal deadlock. - Fixed a bug where the tracking call queue would not get processed after receiving consent.
Tealium for Android (Kotlin)
- Core 1.2.8
- Added
TealiumConfig.logLevel
to enable overriding the log level derived from the environment - Added
consent_last_updated
timestamp to the payload of each event triggered by the Consent Manager - Payload key constants migrated to
Dispatch.Keys.XXX
for ease of access - Bug fixes
app_name
now falls back to a non-localized version of the app label- Fixed event router crashes caused by threading.
screen_title
re-added to theTealiumView
payload by default, and set to theviewName
when one is not provided in the context data- Unnecessary logging removed when trying to load
tealium-settings.json
as an asset. - Where multiple deep links occur during a session, previous deep link parameters are now removed from the data layer prior to adding the new ones.
- Added
- CollectDispatcher 1.0.6, HostedDataLayer 1.0.4, RemoteCommandDispatcher 1.0.5, TagManagement 1.0.7
- Event key references updated to use the new
Dispatch.Keys.XXX
(only present in Core 1.2.8+).
- Event key references updated to use the new
September 1, 2021
Tealium for iOS (Swift)
- Version skipped due to publishing issues.
Tealium for Android (Kotlin)
- Core 1.2.7
- Added
device_logical_resolution
to the data layer from the DeviceData module.
- Added
Tealium for Nativescript
- Fixed iOS dependency problem
- Updated Android dependencies
August 1, 2021
Tealium for iOS (Objective C)
Low Impact Changes
- Fixed issue with Lifecycle XCFramework file that prevented successful archiving of the enclosing app’s .ipa file
- Carthage can now use XCFrameworks directly from the Github repo without requiring an intermediate JSON file (see Install). Any existing Cartfile references must be updated.
- CocoaPods now uses XCFramework files
Tealium for iOS (Swift)
Low Impact Changes
- Finalized fix on bug that caused IDFA and ATT authorization status to not update at runtime.
Tealium for React Native
- Android support for customVisitorId
- Added support to get session ID - use getSessionId()
July 1, 2021
Tealium for iOS (Swift)
Medium Impact Changes
- Storage updates to prevent unnecessary file backups.
Low Impact Changes
- Added Media module which tracks streaming media in apps through the use of custom events.
- Removed legacy authentication option from Remote HTTP Command.
Tealium for Android (Kotlin)
- Core 1.2.6
- Added
TealiumConfig.existingVisitorId
to support using your own unique identifier. - Added
TealiumConfig.consentManagerLoggingProfile
to support to overriding the profile for consent logging - Consent Logging event routed through all enabled dispatchers.
- Updated values for data layer variables
app_build
andapp_version
.
- Added
- Tag Management Dispatcher 1.0.6
- Support for consent logging profile override.
- Collect Dispatcher 1.0.5
- Support for consent logging profile override.
- Visitor Service 1.0.5
- Bug fix: Deserializing stored long values.
June 1, 2021
Tealium for iOS (Objective C)
High Impact Changes
- Added the option to set a
WKProcessPool
instance on theTealiumConfig
object for the Tealium Tag Management webview to use to avoid cookie synchronization issues.
Tealium for iOS (Swift)
Medium Impact Changes
- Updated the persistent storage module to use
Application Storage
instead of theCaches
directory. This prevents persistent data from being deleted when upgrading to iOS 14.7+.
Low Impact Changes
- Updated the
Connectivity
module to use one instance ofCTTelephonyNetworkInfo
instead of instantiating multiple times. - Removed the cookie migration logic that was used to migrate cookies from the
UIWebView
to theWKWebView
. - Updated the RegEx that was used to validate URLs. This allows more uncommon URLs to be used, such as localhost, local IPs, and URLs with ports.
Tealium for React Native
- Tealium Android dependencies updated to the latest
- Android launch event fix + tests
- iOS VisitorProfile arraysOfStrings update
- Update tealium-react-native.podspec to support 0.64+ and Hermes
- Update the index.d.ts
- Update example app
Tealium for Cordova
- Initial release.
- Cordova 9.0.0 is the minimum requirement.
- Updates the SDK from Java to Kotlin, and from Objective-C to Swift.
May 1, 2021
Tealium for iOS (Swift)
Low Impact Changes
- Minor fix to revert consent policy key back to
policy
. - Verified that the
decline_consent
event is not queued or dropped.
Tealium for Android (Kotlin)
- Fixed issues with HttpClient and consent logging failures.
- Improved asynchronous performance by moving HttpClient execution onto the IO dispatcher.
April 1, 2021
Tealium Universal Tag (utag.js)
utag.js
version 4.48 template updated withsecure_cookie
setting.
Tealium for iOS (Swift)
High Impact Changes
- Added the option to set a
WKProcessPool
instance on theTealiumConfig
object for the Tealium Tag Management webview to use to avoid cookie synchronization issues. - Removed the data layer value
call_type
and replaced it withtealium_event_type
. When the event type is a standard track and not a screen view, thetealium_event_type
value is nowevent
instead oflink
.
If your load rules or attribute rules are configured to look for call_type
, update them to look for tealium_event_type
instead. If they were checking for the value link
on event types, update the condition to check for event
.
Low Impact Changes
- Minor fix to resolve a small memory leak in the RemoteCommands module.
- Minor fix in the lifecycle module that was sending the
lifecycle_diddetectcrash=true
on sleep and wake events. - Custom consent policies are now supported.
Tealium for React Native
- New optional initialization callback to support methods that are required to be accessed after the Tealium instance is ready
- New
remoteCommands
config property to permit passingRemoteCommand
objects in during configuration.
Tealium for Android (Kotlin)
-
Core 1.2.4
- Added new data layer variables
enabled_modules
andenabled_modules_versions
. Both are arrays of strings, containing a sorted list of modules in use and their version number - latest versions of all modules required to retrieve their version.
module names have also been changed from
UPPER_SNAKE_CASE
toPascalCase
to match Swift.- New config option
remoteApiEnabled
to permit disabling ofremote_api
events when using the RemoteCommands and TagManagement modules. - New config option
overrideCollectProfile
to permit overriding the value oftealium_profile
in the event payload, routing events to a different Tealium profile to the one set on theTealiumConfig
object. - Bug fix: Added support for both
application/json
andx-www-form-urlencoded
content types when using theHttpRemoteCommand
. - Bug fix: Fixed an issue with specific collections not being encoded correctly.
- Added new data layer variables
March 1, 2021
Tealium for React Native
Low Impact Changes
- Bug Fixes:
safeGet
extension methods added in Kotlin to check key safety on earlier React Native versions earlier than 0.63.3- React module imports added to the bridging header in order to accomodate React Native versions earlier than 0.63.3
- SDK dependency and
package.json
increments
Tealium for Android (Kotlin)
- ProGuard and consumer rules revision; added missing public classes, and the consumer rules have been revised
- Core 1.2.1, Collect Dispatcher 1.0.3, TagManagement Dispatcher 1.0.3, Install Referrer 1.0.2, Lifecycle 1.0.3, Location 1.0.3, VisitorService 1.0.3, RemoteCommand Dispatcher 1.0.2, Hosted DataLayer 1.0.2, Crash Reporter 1.0.1, Ad Identifier 1.0.1
Tealium for Nativescript
- Update plugin with latest Tealium Kotlin and Swift libraries
- Added support for Consent Expiry
February 1, 2021
Tealium for Android (Java)
- Fix:
WebViewDispatcher
- Allow for proper dequeuing of offline events after reestablishing network connectivity.
Tealium for iOS (Objective C)
Medium Impact Changes
- Lower-cased the value of the
platform
variable to correct mobile session timer. Previously, sessions were measured similarly to web (30 minutes of consistent activity). By lower-casing theplatform
variable, the Customer Data Hub recognizes the incoming data as a mobile session and the session length is shortened to 2 minutes.
Update your load rules if you have Load or Attribute Rules configured checking for case sensitive platform
values such as iOS
vs ios
.
Low Impact Changes
- Resolved build warnings and updated deprecated APIs
Tealium for React Native
Low Impact Changes
- Bug Fixes:
- Included all
.ts
files in package directory (thecommon.ts
file was missing) - Updated the path to source files in the
.podspec
- Included all
Tealium for Java
- Bug fix - Updated track method to use a copy of Persistent Data to stop event data unexpectedly being stored
January 1, 2021
Tealium Universal Tag (utag.js)
-
Adds defensive code for potential jQuery vulnerability. Checks to make sure the
src
of a JavaScript file is set directly and not inherited from a compromisedObject.prototype
. This issue was fixed in jQuery 3.5.0, but re-introduced in 3.5.1. -
Update to check for
Array
type with the built-inutag.ut.typeOf
function instead of usinginstance of
. Fixes issue withutag.js
running in iframe in a testing environment (such as Cypress) and JavaScriptinstance of
operation not working correctly.
Tealium for iOS (Swift)
Low Impact Changes
- Removed
TealiumCore
as an embedded framework as it was causing AppStore submission errors when using Carthage as a dependency. - Re-added
TealiumAttribution
scheme withintealium-swift.xcodeproj
which permits the framework to be built by Carthage.
Tealium for React Native
Initial Release
Tealium for Android (Kotlin)
- Consent Management
- Consent Expiration: Introduced the ability to set an expiration for provided consent
- Deprecated
consentManagerEnabled
config property; setting a valid ConsentPolicy automatically enabled the Consent Manager - Bug fix: Incorrect consent collector logic
- Visitor ID: New method manually regenerates a Visitor ID for the device
- ProGuard: Initial ProGuard rules added to generated binaries and consumer ProGuard rules
- AdIdentifier 1.0.0
- Initial release of the AdIdentifier module: if available, AdIdentifier is added to each dispatch
- CrashReporter 1.0.0
- Initial release of the CrashReporter module: uncaught exceptions causing a crash are recorded and any crash data is sent on the next dispatch when the app launches again
- Collect Dispatcher 1.0.2, Hosted DataLayer 1.0.1, InstallReferrer 1.0.1, Lifecycle 1.0.2, Location 1.0.2, RemoteCommand Dispatcher 1.0.1, TagManagement Dispatcher 1.0.1, Visitor Service 1.0.2
- ProGuard - Initial ProGuard rules added to generated binaries and consumer ProGuard rules
Tealium for Nativescript
- Initial Release
November 1, 2020
Tealium for iOS (Swift)
New Features
- Added the Timed Events feature which tracks the time between specified events.
Low Impact Changes
- Fixed a bug that made it impossible to set a custom endpoint for the Collect module.
- Renamed the
collectOverrideURL
tooverrideCollectURL
for consistency with other libraries. - Introduced new URL override option for batched events
overrideCollectBatchURL
. - Added
device_manufacturer
to the data layer.
Tealium for Android (Kotlin)
- Timed events support for reporting the time taken between user events of interest
- New
device_model
anddevice_manufacturer
data keys provided by theDeviceCollector
- Automated unit and instrumented tests for PRs into master using GitHub actions
- Collect Dispatcher 1.0.1
- Additional Collect URL overrides
- Test coverage increase
- Hosted Datalayer 1.0.0
- Test coverage increase
- Lifecycle 1.0.1
- Bug fix: Missing autotracked key on sleep events
- Test coverage increase
- Location 1.0.1
- Bug fix: Issue with automatically adding nearby geofences
- Test coverage increase
- Visitor Service 1.0.1
- Non-breaking change for testability purposes
- Test coverage increase
October 1, 2020
Tealium for Android (Java)
- Refactor to accommodate for new remote commands adapter
- Fixes issue regarding erasing visitor profile before deletion
- RemoteCommands Adapter Module 1.0.0
- General Remote Commands extracted from core library for use with Tealium Android-Java and Tealium-Kotlin
Tealium for iOS (Swift)
New Features
- The remote commands feature was updated with a new option to use a remote or locally hosted JSON configuration files, removing the requirement for a webview. If using the Remote Command tag option, in iQ Tag Management, the webview is required. Learn more about JSON controlled remote commands.
- Added support for Approximate Location Tracking (iOS 14+) with the function
requestTemporaryFullAccuracyAuthorization(purposeKey:)
through theTealiumLocation
module. Learn more about the iOS 14 Location Updates and requesting temporary full authorization
Medium Impact Changes
- Lower-cased the value of the
platform
variable to correct mobile session timer. Previously, sessions were measured similarly to web (30 minutes of consistent activity). By lower-casing theplatform
variable, the Customer Data Hub recognizes the incoming data as a mobile session and the session length is shortened to 2 minutes.
Update your load rules if you have Load or Attribute Rules configured checking for case sensitive platform
values such as iOS
vs ios
.
Low Impact Changes
- Add
origin: mobile
to the track payload
Tealium for Xamarin 1.x nelease notes
- Updated core libraries - iOS 5.7.0, Android 5.8.0.
- Removes
UIWebView
dependency.
Tealium for Android (Kotlin)
- Support for multiple instances of Tealium
- Breaking changes introduced for construction of Tealium instances
- Fix: Connectivity issues on older Android versions
September 1, 2020
Tealium for Android (Kotlin)
- Maven dependency fix
- Additional Dispatch payload logging
August 1, 2020
Tealium for Android (Java)
- Tealium iQ session reporting is now handled by the SDK rather than the webview
Update your mobile.html
template within Tealium iQ when updating to v5.8.0 in order to support this change.
- Minor fixes for issues raised by security scan
- CrashReporter 1.1.0
- Crash data is now saved when the crash occurs and subsequently sent on the next launch of the application. This update increases the reliability that crashes are tracked successfully
Tealium for iOS (Objective C)
High Impact Changes
- Added support for native session counting in lieu of using the session counting logic within utag.js. This provides more accurate session counts, and fixes some edge cases where background activities triggered new sessions, resulting in higher than expected session counts.
⚠️ Important ⚠️ If Tag Management is enabled in the Mobile Publish Settings, you must also update the mobile.html template within the associated account. If this action isn’t performed, duplicate sessions are recorded in Tealium. Read more about how to update a template.
July 1, 2020
Tealium for iOS (Swift)
New Features
- New CCPA API added to the Consent Manager module. Learn more in the Consent Manager documentation.
- Native Hosted Data Layer support
- Automatic Deep Link tracking that will add deeplink URLs, universal link URLs, and query string parameters to the data layer when the user opens the app from one of these methods.
- Ability to start a Trace by scanning a QR Code from the Customer Data Hub UI
- Added a new
TealiumLogger
that uses the Apple preferredOSLog
vs theprint
function. There is still an option to use print by setting thelogType
property on theTealiumConfig
object. Read more about Logging. - Combined several ancillary modules into the Core library for faster and more straightforward installation. See the modules section for more information.
- Updated the
track()
method to accept aDispatch
type ofView
orEvent
. This allows us to support onetrack
method and provide more clarity around screen and event tracking. Read more about the updatedtrack()
method. - Support for more expiration options for data variables. See Data layer for more information.
- Support for native session counting in lieu of using the session counting logic within utag.js. This provides more accurate session counts, and fixes some edge cases where background activities triggered new sessions, resulting in higher than expected session counts.
⚠️Important⚠️ If the Tag Management Module is being used as the dispatch option, you must also update the mobile.html
template within the associated TiQ account/profile. If this action isn’t performed, duplicate sessions are recorded in Tealium. Learn more about how to update a template or contact your Account Manager for assistance.
High Impact Changes
- Updated the API to be more in line with Swift best practices
- Optimized the modules system for better performance
- Optimized the individual modules for better performance
- Removed multiple delegate options for API simplicity
- Improved connectivity checks -
NWPathMonitor
now used on supported devices - Removed the CrashReporter module from the project and added to a separate repository for those that want to use it
- Removed
NotificationCenter
in the RemoteCommands module and replaced it with the Delegate pattern
Low Impact Changes
- Added more protocols and result types for testability
- Updated class names for consistency with other Tealium libraries
- Added more inline code documentation
- Updated unit tests and added performance testing
For previous release notes prior to 2.x, see Tealium for Swift 1.x.
Tealium for Android (Kotlin)
- Initial release
- Tealium Tag Management support
- Collect support
May 1, 2020
Tealium for Android (Java)
- Fix: Added
Tealium.Config
APIsetOverrideCollectDispatchProfile
to override profile for Collect module - Lifecycle 1.1.4
- Fix:
tealium_event
now contains the lifecycle event type (launch/wake/sleep) to support Event Specifications
- Fix:
April 1, 2020
Tealium for Android (Java)
- Fix:
WebViewClient
onRenderProcessGone
implemented for Android API 26+ to gracefully handle a render process crash and reinitialize the WebView (TagManagement
module only)
Tealium for React Native
Low Impact Changes
- Added ability to override the Collect Dispatch URL in the
initializeCustom
method - Enabled
null
in TypeScript definition for parameters that accept it - Fixed TypeScript definition for Remote Command methods
February 1, 2020
Tealium for Flutter 1.x
High Impact Changes
- Added support for Tealium remote commands through Flutter. This allows for a remote command to be added in a JavaScript file and the payload will be passed back via a callback function. Remote commands may also be removed. Refer to the Flutter API to learn more about the remote command methods.
Low Impact Changes
- Underlying Tealium libraries updated to versions 5.7.0 (Android) and 5.6.6 (iOS)
Tealium for React Native
High Impact Changes
- Added support for Tealium remote commands through React Native. This allows for a remote command to be added in a JavaScript file and the payload will be passed back via a callback function. Remote commands may also be removed via React Native. Refer to the React Native API to learn more about the remote command methods.
Low Impact Changes
- Underlying Tealium libraries updated to versions 5.7.0 (Android) and 5.6.6 (iOS)
- Added TypeScript typings
January 1, 2020
Tealium for iOS (Objective C)
Low Impact Changes
- Bug Fix. Update log format on
removeRemoteCommandID
.
December 1, 2019
Tealium for iOS (Objective C)
Low Impact Changes
- Fix to the
captureTimeDataSourcesForType
method to use thevolatileDatasourcesCopy
instead of theclientVolatileDataSources
directly. This means that theaddToVolatileDataSources
method may now safely be called from a separate thread.
November 1, 2019
Tealium for iOS (Objective C)
Low Impact Changes
- Added the
tealium_session_id
the volatile data variables so is easily retrieved and used.
Tealium for React Native
High Impact Changes
- Support for ReactNative Autolinking in 0.60+
- Better support for nested event data specifically for Android platform
- Underlying Tealium libraries updated to versions 5.5.5 (Android) and 5.6.3 (iOS)
- Bug Fixes
- Corrected method signature for
Tealium.getPersistentData(key, callback)
- Build errors in iOS relating to
Vdata
/Event
enums have been fixed - Fixed crashes on some iPad versions (only when using
TealiumIOS
pod v5.6.0/5.6.1)
- Corrected method signature for
Tealium for Xamarin 1.x nelease notes
- Updated embedded Android SDK to 5.6.0
- Updated embedded iOS SDK to 5.6.5
- Updated sample app dependencies
October 1, 2019
Tealium for iOS (Objective C)
High Impact Changes
- Removed the
UIWebView
entirely to now only supportWKWebView
as Apple has deprecatedUIWebView
since iOS 8.0. We kept the support for theUIWebView
for convenience, and to ensure visitor sessions and analytics history was left intact. However, per ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that useUIWebView
APIs. Learn more aboutUIWebView
. We do have the WKHTTPCookieStore in place that will migrate the cookies used inUIWebView
over to theWKWebView
. This will ensure that the user IDs/visitor cookies will seamlessly transition to the new implementation.
Medium Impact Changes
- Updated the device list to include the latest Apple devices (X, XR, XS, 11, etc). We also updated the implementation to load from a JSON file instead of hardcoding the device names. Lastly, we added two more variables with extra device detail:
model_name
(such as iPhone 8, iPhone XR Max, iPhone 11 Pro, etc) andmodel_variant
" For example,"GSM"
,"WiFi"
,"model A1457, A1518, A1528"
, etc. If no extra model information is available, the standarddevice
variable will read something like:"iPhone 10,0"
.
September 1, 2019
Tealium for React Native
Low Impact Changes
- Removed
rnpm
frompackage.json
and added areact-native.config.js
per React documentation. - Updated Android and gradle versions in the sample app.
- Updated both Android and iOS sample apps to use the latest versions of their respective Tealium libraries.
August 1, 2019
Tealium for iOS (Objective C)
Low Impact Changes
- Added functionality to reattach to the view at each track call so that Tealium does not need to be reinitialized when view hierarchy changes. Validation in your own app is essential; verify that you see tracking calls leaving your app in a variety of different screens in your app, including any views that may be launched from push notifications, where the view hierarchy may have changed.
July 1, 2019
Tealium for iOS (Objective C)
Low Impact Changes
- Removed trace ID cookie check on each call to the webview since this appeared to be causing crashes. This worked nicely with
UIWebView
but seemed to cause problems withWKWebView
. Refer to Debugging Tealium Mobile Apps for other Tealium installation validation and debugging methods.
Tealium for C sharp
High Impact Changes
- Collection endpoint changed from VData to HTTP API.
- Introduced Support for both HTTP GET and POST methods for sending data; default is POST.
Low Impact Changes
- Trace helper methods added to the Tealium class to make it easier to join/leave/end a Trace.
- This adds the
tealium_trace_id
key and trace ID value to all events whilst a trace has been joined.
- This adds the
- Bug Fix
- Optional Data supplied on Config creation was not being passed in events.
- This is not present on all events.
.gitignore
file added to remove unnecessarily tracked compiled code.
Tealium for Flutter 1.x
- Initial release.
- This plugin allows users to use the Tealium native mobile libraries (Android/iOS) within Flutter applications.
April 1, 2019
Tealium for iOS (Objective C)
High Impact Changes
- Tag Management now uses
WKWebView
instead ofUIWebView
by default. Read Tag Management documentation carefully before upgrading.
Low Impact Changes
- New sample app added to showcase
WKWebView
updates/changes
March 1, 2019
Tealium for React Native
Low Impact Changes
null
activity handling, as well as extra instance null checks for Consent Manager methods.- Gradle updates to target latest Android version.
February 1, 2019
Tealium for Java
- Removed
visitor_id
and switch to"event"
endpoint tealium_visitor_id
andtealium_vid
removed- Use the
"event"
endpoint using the POST method with JSON - Created a
Udo
data object to represent data instead of the ambiguousMap<String, Object>
- Updated methods to use the
Udo
data type and deprecate API methods usingMap<String, Object>
for data - Lots of refactoring and introduction of TDD practices to encourage more maintainable code in the library
Tealium for React Native
Low Impact Changes
- Bug Fix - Fixed public
trackEvent()
to calltrackEvent()
onTealium
instance for Android
High Impact Changes
- Additional public-facing methods of Tealium iOS and Tealium Android are now exposed.
- Multiple instances of Tealium are now supported.
- New configuration options have been added that include the enablement of Consent Management, Lifecycle, and a Datasource ID.
December 1, 2018
Tealium for Xamarin 1.x nelease notes
- Initial Release
August 1, 2018
June 1, 2018
Tealium Universal Tag (utag.js)
- Adds support for the following new built-in variables:
tealium_session_number
- a duplicate of the existing value inutag.data['cp.utag_main__sn']
tealium_session_event_number
- the cookie value inutag.data['cp.utag_main__se']
that counts the number of tracking calls (utag.view()
,utag.link()
) in the current session (visit). This is useful for Single Page Apps (SPAs) where there is only one page load with many tracked events on that page. For pages using thenoview
flag, the value is ‘1’ for both page load (load rule evaluation) and the first call toutag.view()
.
- Adds support for an empty param list passed into
utag.link
,utag.view
orutag.track
calls. In previous versions, calls toutag.link()
orutag.view()
work fine, but gets an extracfg
object added to the data layer. Calls toutag.track()
causes an exception in previous versions. - For pages using
noview
flag, there are two things to keep in mind:- The data layer will have a ‘1’ value for
tealium_session_event_number
for both page load (utag.js
uses data layer to loads in tags) and first call toutag.view
(which fires tags and/or loads in more tags.) - Because cookies are used and initialized at page load time, if the
utag.view
call does not happen in time on the first page, and the page is refreshed in browser, it moves to ‘2’ for the firstutag.view
call which happens on second page. This is an edge case since most implementations callsutag.view
immediately afterutag.js
executes.
- The data layer will have a ‘1’ value for
- This update also includes fixes for the “OU” function used by legacy Privacy Manager Extension.
- The OPTOUTMULTI cookie is re-checked with each call to
utag.view/link
(no page refresh required) - Tags fired directly by tag’s UID also checks the OPTOUTMULTI cookie settings before firing
- The OPTOUTMULTI cookie is re-checked with each call to
January 1, 2018
Tealium Universal Tag (utag.js)
- Fixes bug introduced in version 4.40 that added an extra entry in browser history for pages that loaded the same tag in an iframe more than once. This issue likely impacted Single Page Apps (SPAs) using iframe-based tag vendors.
June 1, 2017
Tealium Universal Tag (utag.js)
- Removed use of global variable
i
– previously used in loop through global variableutag_cfg_ovrd
(config override object) - Removed legacy s2s support (as this was previously removed from Tealium iQ.) Cloud Delivery supported in Tealium Customer Data Hub.
- Adds support for error handler function passed into
utag.ut.loader
utility function. This is only for modern browsers (older browser may the standard callbackcb
function instead)
utag.ut.loader({
"src" : "https://www.example.com/path/file.js",
"cb" : function(){console.log("CALLBACK")},
"error" : function(){console.log("ERROR IN LOADING")}
});
Tealium for Java
- Added Datasource
- New variable
tealium_datasource
added - Persistent file name changed to
account.profile.data
(if upgrading from prior version, file no longer accessible) - Bug fix for unit test
Tealium for C sharp
- Event Tracking
- Track event names with optional additional data. Provide completion blocks to handle any responses.
- Collect Module
- Support for sending event data to a collection endpoint. If needed, override the defaults to Tealium’s VData endpoint.
- AppData Module
- Provides automatic inclusion of useful app data (session id, random number and timestamp) to each events, as well as user defined optional data.
- Logger Module
- Provides log output for debugging purposes.
- Sample application included showing example interaction with the main classes.
February 1, 2017
Tealium for Java
- New variable
tealium_event_type
added track(type, title, data, completion)
added as new primarytrack
method, types avail:activity
conversion
derived
interaction
view
DispatchCallback
update to return info dictionary instead of justencodedUrl -> ( boolean, map<String, Object>, error)
that- Removed of convenience retry
track(string, callBack)
September 1, 2016
Tealium for Java
- Bug Fix -
LogLevel
enum converted to public API
August 15, 2016
Tealium Universal Tag (utag.js)
Add new built-in Tealium event attributes. These new attributes are added to the data layer with each Tealium view or link event.
tealium_visitor_id
The Tealium-generated ID in the cookiecp.utag_main_v_id
tealium_session_id
The epoch timestamp string of current session start in mstealium_account
The account string value in the path to theutag.js
filetealium_profile
The profile string value in the path to theutag.js
filetealium_environment
The environment string value in the path to theutag.js
file. For example, “dev” or “prod.”tealium_datasource
The data source key from Tealium EventStream.tealium_random
A random number as a string for use in cache bustingtealium_library_name
The name of the library (utag.js
)tealium_library_version
The version of theutag.js
. For example, “4.42.0” for this release)tealium_timestamp_epoch
Current epoch time in seconds as an integertealium_timestamp_utc
Current ISO string timestamp for UTC time zone (not available on older browsers)tealium_timestamp_local
Current ISO string timestamp for browser’s time zone (not available on older browsers)
August 1, 2016
Tealium Universal Tag (utag.js)
Minor update to fix typo for the fallback function in utag.ut.encode
.
The encodeURIComponent
call now falls back to use JavaScript’s escape
call for the exception when encoding badly formed unicode characters.
April 1, 2016
Tealium Universal Tag (utag.js)
Improvements in behavior in Single Page App (SPA) sites using utag.link
and utag.view
Previously, items in current data layer passed to utag.link/view
were merged into the utag.data
global object. This was required to re-evaluate load rules for each utag.link/view
call. The utag.js
4.40 template takes advantage of a publish engine update so that this is no longer required. In version 4.40, the utag.data
global object is not updated with each utag.link
or utag.view
call.
You may use the following JS Extension to test for backwards compatibility with 4.39 behavior before updating to 4.40.
// JS Extension scoped to "Before Load Rules"
utag.ut.merge( b, utag.data, 0 );
utag.ut.merge( utag.data, b ,1 );
New “noconsole” flag.
Setting the flag in utag_cfg_ovrd object to true stops any output from utag.DB
from displaying in the web console. If debugging is enabled, the output still persist in the utag.db_log
array.
Creating an iframe in DOM using utag.ut.loader function
If an iframe with the same ID already exists, the iframe is not added again. Instead, the iframe src is updated.
Updating JS Page vars value for utag.view
or utag.link
calls
JS Page vars are now updated to their current value with every call to utag.view
or utag.link
. As a result the b["js_page.my_global_var"]
has the latest value in window.my_global_var
each time utag.link
is called.
Bug fix to keep cp.utag_main_ses_id
in the data layer with every utag.link
or utag.view
call
The value is now updated with a new session ID following a utag.link/view
call that occurs when the visitor has been on the same page for 30 minutes with no activity.
Removed trick to use eval
to read the document.referrer
value into the data layer’s b["dom.referrer"]
New utag.ut.encode
function
This function falls back to use escape when encodeURIComponent issues an exception (an exception is possible when attempting to encode Unicode characters that are incomplete or incorrectly formed).
_t_visitor_id
and _t_session_id
are no longer available
Auto-generated data layer values _t_visitor_id
and _t_session_id
are no longer available. These are replaced by ut.visitor_id
and ut.session_id
. If still desired, add them back in as follows:
// JS Extension scoped to "Before Load Rules"
b["_t_visitor_id"] = b["cp.utag_main_v_id"];
b["_t_session_id"] = b["cp.utag_main_ses_id"];
July 1, 2015
Tealium Universal Tag (utag.js)
- Adds support for the Tealium Collect Tag that writes visitor enrichment data to a profile-specific location in local storage.
June 1, 2015
Tealium Universal Tag (utag.js)
- Supports a new drop-down list for selecting when to execute an All-Tags-scoped Extension.
- After Load Rules (default selection)
- Before Load Rules (not supported by 4.37 and below)
- After Tags (not supported by 4.37 and below)
This feature is not compatible with 4.37 below as they may cause the Extension to run more than once.
- Added support for calling
utag.view
before all the Tags have loaded; this fixes a bug when callingutag.view
to fire a specific Tag by its UID inside a DOM Ready-scoped Extension. - Added support for calling
utag.link
for a specific Tag by its UID.
February 1, 2015
Tealium Universal Tag (utag.js)
- Fixed a bug that incorrectly decodes any instance of $ value in the
utag_main
cookie and render it as a separator instead. Following this fix, theutag_main
cookie values are not ‘double decoded’ anymore. - Fixed a bug that caused the
utag_main__ss
cookie to be set incorrectly when the readywait flag was set and /or theutag_data
object was absent from the page.
January 1, 2015
Tealium Universal Tag (utag.js)
- Load new tags on call to
utag.link()
. Callingutag.link()
can load tags not already on the page. - Fixed a bug in which the
utag.data
object was not initialized for DOM Ready-scoped extensions when thewaittimer
andreadywait
flags were set totrue
. - Added new built-in Data Layer variables:
utag.data["ut.domain"]
: The website’s domainutag.data["ut.version"]
: The version ofutag.js
loading on the siteutag.data["ut.event"]
: The type of event (link or view)utag.data["ut.account"]
: The Tealium iQ account on the siteutag.data["ut.profile"]
: The Tealium iQ profile on the siteutag.data["ut.env"]
: The publish environment
- Fixed a bug in which manual
utag.view
andutag.link
calls were not extending the session end cookie timestamp. This is especially useful for single-page apps and sites that rely on AJAX to keep the session open while the visitor interacts with the site. - Fixed a bug for blocking Tags that prevented synchronously loading Tags from being used as blocking Tags.
- Fixed a bug that prevented the loading of multiple synchronous blocking Tags from cache for older of Internet Explorer.
- Added debugging to output the Data Layer at the point right before All Tags-scoped extensions run.
December 1, 2014
Tealium Universal Tag (utag.js)
- Fixed a bug in which the Data Layer was not preserved for
utag.view()
calls made in rapid succession. Now a snapshot of the Data Layer is preserved for each call. - Added more debugging output for manual
utag.view()
andutag.link()
calls. - Added a new utility function:
utag.ut.typeOf()
. For example,utag.ut.typeOf([])
returns the value “array.”
October 1, 2014
Tealium Universal Tag (utag.js)
- Added an override (
utag_cfg_ovrd
) flag toutag.js
in order to delay the loading of Tags until the DOM readyState “complete” (AKA “load”) event. This flag provides a delay that may improve page display time speeds by causing all Tags with the Wait = Yes setting to execute even later. Set this flag by entering the following code into a PreLoader-scoped JavaScript Code extension:
var utag_cfg_ovrd = {};
utag_cfg_ovrd.dom_complete = true;
- Fixed a bug for the Internet Explorer browser in which the DOM readyState was reported as “interactive” prematurely. An extra delay for readyState “complete” was added for older of Internet Explorer.
September 1, 2014
Tealium Universal Tag (utag.js)
- Added two new DOM Variables (formerly Data Sources): browser height (
dom.viewport_height
) and browser width (dom.viewport_width
). Use these in Load Rules to detect when a visitor is using a certain devices to browse your site. For example, when this value is less than 480, you might assume the visitor is using a phone device. Try this on your phone for fun. - Added support for custom attributes on iframes/scripts to the
utag.ut.loader
function. - Fixed a bug in which Tags were not loading in order indicated in the Tags tab when fired by a manual
utag.view
call.
August 1, 2014
Tealium Universal Tag (utag.js)
- Fixed a bug with Publish Settings so that you may now enable both the Ready Wait Flag and Bundling Libs publish settings for the same profile.
- Fixed a bug in which enabling the Ready Wait Flag setting caused the utag.cfg.noview flag to reset to “false” if you had set it to “true.”
- Introducing the new configuration flag, Wait Timer (
utag_cfg_ovrd.waittimer
). Tags do not load until the DOM Ready signal goes out. With this flag set exactly how long after the DOM Ready signal the Tags wait before they load. Setting this flag exposes the load time of a webpage without including the load times of third-party vendor Tags. You set this value in milliseconds.
Here is an example of how to set the Wait Timer flag:
var utag_cfg_ovrd={};
utag_cfg_ovrd.waittimer=3000;
This code snippet delays the loading of all Tags until 3 seconds after the DOM Ready signal.
May 1, 2014
Tealium Universal Tag (utag.js)
- Fixed a UTAG utility function bug for Internet Explorer browsers when bringing in external JavaScript files and running a callback function. This addresses a rare timing issue in which the callback function runs too soon.
- Introduces additional debugging output for when
utag.view
is called before all Tags are loaded. The Tag UID which may have an error now shows up in the output.
April 1, 2014
Tealium Universal Tag (utag.js)
- Fixes a bug which prevented support for more than one blocking Tag. You may now have more than one Tag act as a blocking Tag. For example, Tealium Currency Converter with another external
.js
file. - Extensions scoped to “All Tags” run after any blocking Tags complete.
- The
utag.v.js
file is no longer sent in the situation that you are self-hosting theutag.js
file. - Removed “top.” from visitor ID generation logic. This fixes issues with iframes.
February 1, 2014
Tealium Universal Tag (utag.js)
- Introduces support for AudienceStream Data Layer Enrichment. This requires AudienceStream and the DataCloud Tag.
- The
utag.js
reads Meta tags with everyutag.view
call in order to capture dynamic Meta tags. - There are several changes to the
utag_main
cookie:-
The
utag_main
cookie’s lifespan is now set to 1 year to conform to EU laws. -
The session ID (
ses_id
) value in theutag_main
cookie is now a timestamp that is used to compute a visitor’s time on your website.To reference this value, use the following syntax:
b["cp.utag_main_ses_id"]
-
Introduces the session number value in the
utag_main
cookie.To reference this value, use the following syntax:
b["cp.utag_main__sn"]
-
Introduces the page number value, which increments every time
utag.js
loads, essentially with each new URL load. This is not to be confused with an Event Counter. This value starts over at 1 with each new session.To reference this value, use the following syntax:
b["cp.utag_main__pn"]
-
Known issue: The page number (
_pn
) and session number (_sn
) values are set to NaN whenever a visitor visits a website in which theutag_main
session cookies was already set by a version ofutag.js
prior to 4.27. This issue is resolved inutag.js
version 4.28.
-
- Introduces the utag.ut.flatten function, which flattens objects. This is primarily used with Data Layer Enrichment for AudienceStream.
January 1, 2014
Tealium Universal Tag (utag.js)
Load rules are re-evaluated for both utag.view()
and utag.link()
calls.
Changes to the way the utag.js
4.26 file handles query string parameters and meta tags means that they are no longer lower-cased by default. If you have query string parameters or meta tags identified as data sources in your profile, you may need to update those data source names in the Data Layer tab to match upper case and lower case letters exactly.
Custom Script Source is a Blocking Tag
A blocking tag is a tag that must run before any other tags run. When you enter the location for the custom script source advanced setting for a tag, this tag automatically becomes a blocking tag. This tag still loads asynchronously, but subsequent asynchronous scripts. For example, utag.10.js
does not load until the blocking tag is complete.
Best Practice: If you want to load custom JavaScript for a tag but you do not want it to be a blocking tag, use the Tealium Generic Tag to load it.
Wait Flag Improvement
The Wait Flag is an advanced setting within tag configuration.
Tags whose Wait Flag is set to “No” load and fire immediately after the utag.js
file loads. Those tags, whose Wait Flag is set to “No,” that load sooner may fire sooner, regardless of their order in Tealium iQ. For example, if Tag 2 loads before Tag 1, and Tag 1 is placed higher in the Tags tab in Tealium iQ, Tag 2 may still fire sooner, despite the order they’re in. Previously, tags executed in the order specified in Tealium iQ. These tags then waited for tags placed higher in the order to load before loading themselves.
This means that you may now have a mixture of tags with their Wait Flag set to ‘No’ and tags with their Wait Flag set to ‘Yes’ in the same profile.
Control Load Rules-based Tracking for AJAX
Subsequent utag.view()
calls on the page trigger load rules to load new tags. In previous versions, a utag.view
call does not load new tags. This feature is enabled by default in utag.js
4.26.
Disable this feature to keep current behavior. See utag.cfg.load_rules_ajax flag details below for more information.
A utag.link()
call does not load a new tag. Only a utag.view()
call does this.
Load a Tag Directly By UID (Update to utag.view
and utag.track
calls)
For advanced implementations, especially those using AJAX, use the utag.view()
call to bring in a new tag and fire it based on the tag’s UID (as seen in the Tags tab of Tealium iQ). This bypasses all load rules.
utag.view({page_name : "New Page"}, null, [5]);
- Param 1: Data Layer
- Param 2: Callback function (or null)
- Param 3: Array of UIDs to load and fire
Learn more about page tracking.
Automatically Read New “Meta” tags
These types of meta tags with “name=” were picked up in a previous version of utag.js
:
<meta name="keywords" content="Apple,Tab" />
The new utag.js
4.26 now picks up those with property=
(see “Open Graph” meta tags)
<meta property="og:type" content="video.movie" />
Removing the “lowercase” by default of “qp.” (query string) and “meta.” variables
This is a logic change in the default behavior of utag.data
. Set the utag.cfg.lowerqp flag to true
to automatically lowercase. However, the default setting keeps the mixed case.
Set the utag.cfg.lowerqp
flag to true for backward compatibility with previous utag.js
behavior.
Set the utag.cfg.lowermeta
flag to true
to enable lower-casing for the meta tags. This only applies to the name of the name/value pair for that meta tag.
If you have mixed-case query string parameters, you need to update the data source’s name in the Data Sources tab to match exactly. Any code that refers to this query string type data source must also be updated.
New Values in utag_main
Cookie
There are new cookie name/value pairs in the utag_main
cookie:
utag_main_vid
A long string to uniquely identify the visitor, such as013efdc67183001adeec0eef13010a051001b00f0093c
)utag_main__ss
A “Session Start” flag. Set to"1"
for the first page view of a new session. Default session time is 30 minutes elapsed with no activity.
(The previous cookie values utag_main__st
and utag_main_ses_id
are still set.)
Session Start Tracking
A request for an empty file, utag.v.js
, is made once at the start of a visitor’s session. This is used internally by Tealium to log the session count. The HTTP request URL looks like this:
http://tags.tiqcdn.com/utag/tiqapp/utag.v.js?a=tealium/main/201306012057&cb=1370276499302
The new cookie value utag_main__ss
, is used to determine when to fire. This is only sent on the first event of a session. This request is sent last, after all tags have fired.
New “Tealium” Values
Identify the new cookie values in the Data Layer tab:
- The session ID value in the
utag_main_ses_id
cookie - The visitor ID value in the
utag_main_v_id
cookie - The session start flag (0 or 1) found in the
utag_main__ss
cookie
URL Fragment Parameters
Previously the name/value pairs in a URL after the ?
were read and stored in utag.data
as qp.
values. Now, items after the hash/fragment #
sign are also used to build these. This adds an important feature for AJAX sites.
Example Domain URL:(http://www.example.com?param1=value1¶m2=value2#hash1=value3)`
Previous:
utag.data = { "qp.param1" : "value1", "qp.param2" : "value2"}
New:
utag.data = { "qp.param1" : "value1", "qp.param2" : "value2", "qp.hash1" : "value3"}
All Page Data Available to utag.view
and utag.link
Calls
Previously, utag.view
and utag.link
calls only knew about the data you passed them. Items like b["qp.campaign"]
were not available. Now, all “built-in” data points such as URL, meta, or cookie values are added to the data layer for the utag.link
and utag.view
calls.
Also, dynamic items that may have changed for AJAX sites (such as b["dom.url"]
) are re-built so they use the current value. The current value may be different from the value at the time of the initial landing on an AJAX page.
New Options in utag.cfg
Use a Pre Loader-scoped JavaScript Code Extension and the global variable window.utag_cfg_ovrd
.
// JS Code in Preloader Extension
window.utag_cfg_ovrd = {
"noview" : true,
"lowerqp" : true,
"load_rules_ajax" : false
};
The following new options are available:
utag.cfg.load_rules_ajax
Set this flag tofalse
when you do not wish to “re-evaluate” load rules for eachutag.view
andutag.link
call. Forutag.view
, this may also load a newutag.X.js
file if it did not load on the initial page view.utag.udoname
The name of the data object. Theutag.js
code assumes the data object is a global variable. For example, not an object within another object. By default, this is set toutag_data
utag.cfg.load_rules_at_wait
Set this flag totrue
when you wish to re-evaluate load rules at Wait (DOM Ready). This enables legacy support where data may have been set afterutag.js
loads and you want to use this data to fire a Tag set to wait for DOM Ready.utag.cfg.lowerqp
Set this flag totrue
if you wish to lowercase your query string name/value pairs. This used to be the default behavior.utag.cfg.lowermeta
Set this flag totrue
if you wish to lowercase your meta tags’ names. The value of the name/value pair for the meta tag is not lowercased.utag.cfg.noview
Set this flag totrue
if you wish to control when the initialutag.view
call is made. This is common for AJAX sites where your application controls the page view event (not the initial page load action.)
Things to Consider
-
Accidentally Firing Multiple Orders - The
utag.link
andutag.view
calls now have all of the “DOM” type of data points available in every call. For example, the query string data such asb["qp.order_id"]
is read on the page load and trigger an order event. However, if you fire autag.link
call on that same order page, it also has theb["qp.order_id"]
data set and trigger a second order event. -
For most intuitive behavior, we recommend setting all
utag_data
values before you load in theutag.js
file. And keeputag.cfg.load_rules_at_wait
at “false,” which is the default. -
Be aware that updating to
utag.js
4.26 changes the default behavior for lower casing your query string params. Values are no longer automatically lower-cased. -
“All Tags”-scoped Extensions may or may not run before DOM Ready-scoped extensions. Order is not guaranteed. If you manipulate a data layer element in an All Tags-scoped extension, then it may affect your Content Modification Extension’s criteria.
Best Practice: Do not modify the original data layer object. If you need to modify a value, use a new variable instead.
Known Issues
- The Data Layer’s
utag_data
object becomes a reference toutag.data
, and changing one changes the other. - Internet Explorer 8 may introduce timing issues if your Data Layer is defined at the end of your
<body>
element, just before DOM Ready (and theutag.js
is already loaded). As a best practice, always declare yourutag_data
object before you load theutag.js
file.
November 1, 2013
Tealium Universal Tag (utag.js)
Fixes a bug when using the Tealium Currency Converter tag or any Tag with a value set for Custom Source Advanced setting, in which the Tag waits until for a force timeout threshold of 3 seconds or greater to call the u.send function for the other Tags.
September 1, 2013
Tealium Universal Tag (utag.js)
Fixes a bug in which “Wait = Yes” tags wait for a “load” event instead of DOM Ready event when utag.js
was executed after DOM Ready.
For many sites, this is a significant performance boost and loads tags that are set to wait for DOM Ready much sooner.
March 1, 2013
Tealium Universal Tag (utag.js)
Update to support domains ending in “.edu.au” and “.net.au” (using “au” for an example.) The previous utag.js
only supported “.com.au” and “.org.au”
Update to utag.loader.GV
(the internal “Get Variables in Object” function) to use hasOwnProperty. This is the safer way to iterate.
January 1, 2013
Tealium Universal Tag (utag.js)
The Publish Engine builds a utag.loader.cfgsort
variable that is an Array of the Tag UIDs. This Array is in the right order of the Tags in Tealium iQ. Tags now fire in the order that matches the Tealium iQ’s order.
December 1, 2012
Tealium Universal Tag (utag.js)
Adds the utility function utag.ut.decode
.
Also adds support for a “no cookie” flag utag.cfg.nocookie
. When the utag.cfg.nocookie
value is defined and set to true then utag.js
does not write any utag_main
cookies.
Existing utag_main
cookies are not modified or removed. Some tags expect that utag_main
cookies exist, so use this flag at your own risk.
Sample (Pre Loader-scoped JavaScript Code Extension):
var utag_cfg_ovrd={};
utag_cfg_ovrd.nocookie=true;
utag.ut.decode
is a safer version of decodeURIComponent
(if decodeURIComponent
issues an exception, then unescape is used)
November 1, 2012
Tealium Universal Tag (utag.js)
Includes a fix for an Internet Explorer DOM Ready Extension “timing” issue in Internet Explorer 7 and Internet Explorer 8 in which Internet Explorer may or may not run the DOM Ready Extensions before Tags are loaded. This version fixes the issue to ensure that DOM Ready Extensions run first. This provides consistent behavior in all browsers.
Changes in utag.DB
. This function is changed so that every utag.DB
call does not “re-check” the cookie for utagdb=true
; this makes for a high-performance utag.DB
function.
Adds additional utag.DB
calls in utag.js
.
How do you turn on debugging? Run this in a console: document.cookie="utagdb=true"
Sample utag.DB
call:
utag.DB("Inside of DOM Ready Extension");
October 1, 2012
Tealium Universal Tag (utag.js)
Adds the ability to set a utag_main
cookie to expire at a specific timestamp.
utag.loader.SC("utag_main",{"mycookie123":"testing123;exp-1351111959896u"});
Note the u
at the end of the timestamp
August 1, 2012
Tealium Universal Tag (utag.js)
Fixes a cookie decode issue in which the cookie had strange characters.