Google Analytics SDK for iOS Changelog

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.

This release contains:

Google Analytics

  • iOS 10 compatibility and bug fixes.

This release contains:

Google Analytics

  • Crash fixes.

This release contains:

Google Analytics

  • No change.

Google Tag Manager

  • Fixed an issue which would cause a crash when running the unit tests.

This release contains:

Google Analytics

  • Added support for bitcode.

Google Tag Manager

  • Added support for bitcode.

This release contains:

Google Analytics

  • Fixed an issue which caused crashes when using setCampaignParametersFromUrl. Issue 636.

Google Tag Manager

  • No change.

This release contains:

Google Analytics

  • No change.

Google Tag Manager

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.

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.

This release contains:

Google Analytics

  • No changes.

Google Tag Manager

  • Enhanced Ecommerce support has been added to the Google Universal Analytics Tag.
  • New dispatch and dispatchWithCompletionHandler methods have been added to the TAGManager class.

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

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.

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.

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.

This release contains: * Removed need for AdSupport.framework. * Removed unused code.

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.

This release contains: * Fixed conflict with protocol buffer SDK. * Fixed linker error when code stripping was enabled.

This release contains:

  • Fixed link error when targeting iOS 7.0.

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.

This release contains:

  • Change default appVersion to the value in CFBundleShortVersionString instead of CFBundleVersionKey.
  • Use HTTPS as the default protocol instead of HTTP.
  • Track methods changed to Send (e.g. trackView now called sendView).
  • Some minor bug fixes.

This release contains:

  • Added armv7s architecture to libGoogleAnalytics.a.
  • Removed armv6 architecture from libGoogleAnalytics.a.

This release contains:

  • Bug Fixes:

    • Remove NoThumb version of library.
    • Drop support for armv6.
  • New Features:

    • Add support for armv7s (for iPhone5).

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.

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.

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.

This release contains:

  • Added uncaught exception handling facility.
  • Removed dispatchEnabled property from GAI.
  • Added defaultTracker property to GAI.
  • Added close method to GAITracker.
  • Added timing tracking method to GAITracker.
  • Added trackView method to GAITracker 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.

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 after stopTracker 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).

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.
  • New Features:
    • Added anonymizeIp flag.
    • Added sampleRate parameter.
    • Added support for campaign referrals.

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

This release contains:

  • New Features:
    • Added support for custom variables.
    • Added NoThumb version of the library.

This release contains:

  • New Features:

    • Added iOS4 support