This page documents any changes made to the Google Analytics SDK for iOS. We recommend that you periodically check this list for any new announcements. You can also subscribe to changes via the feeds listed under the Subscribe section below.
Subscribe To Related Changelogs
Includes all Collection, Configuration, and Reporting APIs.
Includes Web Tracking (ga.js and analytics.js), Android SDK, iOS SDK, and Measurement Protocol.
Release Version 3.17 (September 12, 2016)
This release contains:
Google Analytics
- iOS 10 compatibility and bug fixes.
Release Version 3.16 (August 10, 2016)
This release contains:
Google Analytics
- Crash fixes.
Release Version 3.15 (November 23, 2015)
This release contains:
Google Analytics
- No change.
Google Tag Manager
- Fixed an issue which would cause a crash when running the unit tests.
Release Version 3.14 (October 23, 2015)
This release contains:
Google Analytics
- Added support for bitcode.
Google Tag Manager
- Added support for bitcode.
Release Version 3.13 (July 21, 2015)
This release contains:
Google Analytics
- Fixed an issue which caused crashes when using setCampaignParametersFromUrl. Issue 636.
Google Tag Manager
- No change.
Release Version 3.12 (May 11, 2015)
This release contains:
Google Analytics
- No change.
Google Tag Manager
- Fixed a class name conflict. Issue 631.
Release Version 3.11 (April 30, 2015)
This release contains:
Google Analytics
- Report screen resolution using nativeBounds on iOS 8.0 and newer. This addresses Issue 504.
- Added support for click-related campaign parameters.
- Report iOS hardware model in addition to the device OS version. This addresses Issue 408.
- Report iAd install attribution on iOS 7.1 and newer. This requires the iAd framework.
- Added deprecation warning for the appview hit type.
- sqlite3 is now a required library.
Google Tag Manager
- Fixed a nil string crash in TAGDispatcher.
Release Version 3.10 (November 5, 2014)
This release contains:
Google Analytics
- Fixed an issue which prevented all beacons from being sent when dispatching beacons.
- Updated CuteAnimals sample application to demonstrate how to dispatch when the app goes into the background.
- Added support for additional Enhanced Ecommerce fields.
- Removed warning messages about GAIHit and GAIProperty classes missing when compiling against iOS SDK 8.0; those classes were removed.
- Dispatching beacons is now more efficient, with multiple beacons being dispatched in a single HTTPS request.
- Requests will be compressed to save on data plan usage under certain circumstances.
Google Tag Manager
- Deprecate TAGContainerFuture based openContainerWithId. Using this API on iOS8 results in errors if the get is called during some phases of the UIAppDelegate lifecycle.
- Added support for custom metrics and custom dimensions to Enhanced Ecommerce for the Google Universal Analytics tag.
- Fixed a bug which required products for Enhanced Ecommerce actions that have optional products.
- Support Advertising ID Features for the Google Universal Analytics tag.
- Updated CuteAnimals sample application to demonstrate how to send data when the app is going into the background.
Release Version 3.09 (July 31, 2014)
This release contains:
Google Analytics
- No changes.
Google Tag Manager
- Enhanced Ecommerce support has been added to the Google Universal Analytics Tag.
- New
dispatch
anddispatchWithCompletionHandler
methods have been added to the TAGManager class.
Release Version 3.08 (June 25, 2014)
This release contains:
Google Analytics
- The SDK will now collect IDFA and the advertiser tracking enabled flag if the library libAdIdAccess.a (provided as part of the SDK) is included in the application and the
allowIDFACollection
property is set to true on the tracker. - Enhanced Ecommerce support has been added.
- Added screenview hit type to replace appview hit type.
- A hit id parameter is now added to each hit. It is changed every time an appview, screenview or pageview hit is generated.
- ClientId will now be reset every time the IDFA value is changes. This only happens when IDFA is collected in a tracker.
- A new
dispatchWithCompletionHandler
method has been added to the GAI class. - Fixed an issue where the SDK could send a beacon without a clientId or with an empty clientId.
Google Tag Manager
- No changes
Release Version 3.07 (May 9, 2014)
This release contains:
Google Analytics
- Added User Id field.
Google Tag Manager
- Fixed a bug in Id for Advertising Macro so that it can correctly return identifier for advertiser (IDFA) if available.
- Fixed an issue so users can use
NSNumber
for ecommerce data.
Release Version 3.06 (March 18, 2014)
This release contains:
Google Analytics
- SDK will now populate the Application Id parameter (
&aid
) by default.
Google Tag Manager
- Added support for Google Analytics Content Experiments Macro.
Release Version 3.03c (February 19, 2014)
This release contains:
Google Analytics
- No changes to Google Analytics directly. GA users should note that Google Tag Manager no longer has a dependency on
AdSupport.framework
by default. This may help resolve Issue 387.
Google Tag Manager
- Functions that call
AdSupport.framework
API are broken out into a separate library,libAdIdAccess.a
. Apps need to link with that library to have access to the advertising identifier (IDFA) string and advertiser tracking enabled flag.
Release Version 3.03a (February 5, 2014)
This release contains: * Removed need for AdSupport.framework
. * Removed unused code.
Release Version 3.03 (January 14, 2014)
This release contains: * Added support for 64-bit iOS 7.0 SDK. * Removed libGoogleAnalytics_debug.a
, it’s part of the libGoogleAnalyticsServices.a
library. * Cleaned up CuteAnimals build file for Google Analytics.
Release Version 3.02 (October 18, 2013)
This release contains: * Fixed conflict with protocol buffer SDK. * Fixed linker error when code stripping was enabled.
Release Version 3.01 (September 20, 2013)
This release contains:
- Fixed link error when targeting iOS 7.0.
Release Version 3.0.0 (August 16, 2013)
This release contains: * First release of version 3.0 * SDK API change to align with analytics.js. The track
and send
methods have been removed. Use send
and the GAIDictionaryBuilder
construct methods instead. * Most properties on the GAITracker
protocol have been removed. Use set
on the various fields instead. * All parameters set using the set
method will be persisted. Previously, several parameters would only be set for the next send/track call. * GAILogger
protocol is available for those wanting to implement their own custom logging for the SDK. * Minimium system requirements have changed. See Readme.txt for details. * All SDK activity (database and network access) is now done on a separate thread. * clientId
can now be read. Call [tracker get:kGAIClientId]
. Note that this call will block until the clientId
can be read from the database. * SDK no longer uses POST
unless the hit is larger than 2000 bytes. It will use GET
instead. * SDK will no longer retry sending hits based off the HTTP response code.
Release Version 2.0beta4 (January 8, 2013)
This release contains:
- Change default appVersion to the value in
CFBundleShortVersionString
instead ofCFBundleVersionKey
. - Use HTTPS as the default protocol instead of HTTP.
- Track methods changed to Send (e.g.
trackView
now calledsendView
). - Some minor bug fixes.
Release Version 2.0beta3 iOS6 Update (September 26, 2012)
This release contains:
- Added armv7s architecture to libGoogleAnalytics.a.
- Removed armv6 architecture from libGoogleAnalytics.a.
Release Version 1.5.1 (September 18, 2012)
This release contains:
-
Bug Fixes:
- Remove NoThumb version of library.
- Drop support for armv6.
-
New Features:
- Add support for armv7s (for iPhone5).
Release Version 1.5 (September 17, 2012)
This release contains:
- Bug Fixes:
- GANTrackerDelegate protocol methods are now optional.
- Events now include the last tracked page view (utmp).
- New Features:
- Support for up to 50 custom variables (Note: this feature is available for Google Analytics Premium users only).
- Updated BasicExample example app.
Release Version 2.0beta3 (August 21, 2012)
This release contains:
- Added social tracking method to
GAITracker
:trackSocial:withAction:withTarget:
- Timing method signature changed to:
trackTiming:withValue:withName:withLabel:
- Manual construction and dispatch methods added to GAITracker:
set:value:
get:
send:params:
- Custom dimension setter methods added to GAITracker:
setCustom:dimension:
setCustom:metric:
- Architecture of data store refactored to prevent reported
CoreData
issues.
Release Version 2.0beta2 (June 27, 2012)
This release contains:
- Updated to latest wire format.
sampleRate
changed to double-precision float.- Excessive tracking is throttled.
- Undispatched tracking information is deleted when opt-out is enabled.
- Undispatched tracking information older than 30 days will be deleted.
- Enhancements to hit dispatcher.
- Rather than periodically retry, the dispatcher will use the Reachability API when connectivity is lost to get notified when connectivity is reestablished.
- Updated example app.
- Other bugfixes and enhancements.
Release Version 2.0beta1 (May 25, 2012)
This release contains:
- Added uncaught exception handling facility.
- Removed
dispatchEnabled
property fromGAI
. - Added
defaultTracker
property toGAI
. - Added
close
method toGAITracker
. - Added timing tracking method to
GAITracker
. - Added
trackView
method toGAITracker
which takes no argument. - Transaction item field names updated.
- Updated to latest wire format.
- Event value is interpreted as a 64-bit integer.
- ARMV6 code generation switched from THUMB to ARM.
Release Version 1.4 (November 15, 2011)
This release contains:
- Bug Fixes:
- Changed location of the database to from the Documents directory to the Library directory.
- The SDK no longer throws
NSAsserts
for SQLite database errors. - Fixed crash when calling
trackPageview
with an empty string. - Fixed crashes when calling various
GANTracker
methods afterstopTracker
was called. - Fixed several memory leaks, including one calling trackPageview with a pageURL that begins with ‘/’.
- New Features:
- Added
dispatchSynchronously
method. - Exposed several useful constants (see GANTracker.h).
- Added
Release Version 1.3 (September 6, 2011)
This release contains:
- Bug Fixes:
- Fixed bus error when attempting to set
dryRun
flag prior to starting the tracker. - Fixed bus error when attempting to pass
NULL
for error. - Use correct language in HTTP header.
- Fixed bus error when attempting to set
- New Features:
- Added
anonymizeIp
flag. - Added
sampleRate
parameter. - Added support for campaign referrals.
- Added
Release Version 1.2 (June 27, 2011)
This release contains:
- Bug Fixes:
- Fixed crash when using custom variables.
- Fixed memory leaks when using custom variables.
- New Features:
- Added support for Ecommerce hits.
- Added
Debug
flag. - Added
DryRun
flag. - More descriptive error information on
SQLite3
failures
Release Version 1.1 (February 11, 2011)
This release contains:
- New Features:
- Added support for custom variables.
- Added NoThumb version of the library.
Release Version 1.0 (August 30, 2010)
This release contains:
-
New Features:
- Added iOS4 support