With the Amplitude 2.0, Personas, and Lifecycle releases last month, our Product Development team is focused on improving the user experience even further with new functionalities and enhanced interface controls. Today’s Product Update is longer than usual, and we’re excited to announce the improvements we’ve pushed in the past month! You’ll find major improvements and information on:
- UI/UX
- Omnibar
- Features:
- Cohorts
- Composition
- Lifecycle
- User Activity Tab
- New Amplitude-generated Events and User Properties
- New Resources
- Mastering Retention Playbook
- Webinars
- SDKs
- tvOS
1) Usability Improvements
Since the Amplitude 2.0 Beta phase, we’ve greatly appreciated our customers’ feedback on the new interface. We’re excited to push some of your feature requests today and in the future, thank you!
Omnibar
From any page, you can create a chart or open a dashboard through Omnibar. To open Omnibar, press Cmd+K (Mac) or **Ctrl+K **(Windows).
Title Attributes in Browser Tabs
Browser tab names now reflect which Amplitude page the tab is on, so it will be easier to navigate between tabs.
Segmentation Panel: Expose “Group By” Option
The “Group By” function in now always exposed in the Segmentation panel. Previously, you had to click on a “+ group by” button. Learn more about how to use the Segmentation Panel .
Expanded Charts in PNG Images
(Enterprise Only) We modified the PNG exports and enlarged the charts for better visibility. Read more about how to share charts .
SQL Tab: Added Project Tables
(Enterprise/Redshift Only) A table listing your projects and their project IDs have been added to the SQL tab. Read more about the SQL tab .
2) Feature Improvements
Composition by Most Recent User Property Values
You can additionally create cohorts on users’ most recent property values. Read more about Composition charts .
User Activity Tab: New Infrastructure
We released a new backend system powering the User Activity tab. The new system was rolled out in January and significantly improves the load speed and functionality of the tab.
Event Segmentation: Bar Charts
You can view certain measurements as a bar chart now. To view data in a bar chart, click on the bar chart icon in the top left corner. Find information on how to read the bar charts for each measurement .
Lifecycle: Custom Intervals
(Enterprise Only) You can now customize the usage interval in the third module of the panel. In the image below, we set the interval to 3 days. This means that users are considered churned if they are inactive for 3 consecutive days. Read more about Lifecycle .
Behavioral Cohorts by Most Recent User Property Values
(Enterprise Only) You can now additionally create cohorts based on users’ most recent property values. Read more about Behavioral Cohorts .
Microscope Cohorts: Auto-refresh
(Enterprise Only) For any chart or query that segments on a Behavioral or Microscope cohort, the segmented cohort will automatically recompute itself whenever the chart is generated. In the past, only Behavioral cohorts would auto-refresh. As we continue to optimize query performance of auto-refresh cohorts, you might notice that charts segmented by large cohorts may take longer to load.
Note: cohorts will only be auto-refreshed once every hour. So if a cohort auto-refreshed at 10:30am, its next auto-refresh can be at 11:30am the earliest.
Microscope Cohorts: Modify Definitions
(Enterprise Only) You can modify Microscope Cohort definitions under the Behavioral Cohorts tab. Below is an example of how to create and modify a Funnel-Microscope Cohort.
Note: Microscope Cohorts created before this update will not be modifiable.
- New Amplitude-generated Fields
Events
We changed the meaning of “[Amplitude] Any Event.” This event now queries on all of your events. Previously, it queried on only your Active events. Additionally, we added a new event called, “[Amplitude] Any Active Event.” This event queries on only your Active events. By default, all events are considered Active, and you can mark events as Inactive in your project’s settings page.
Read more about marking events Inactive .
User Properties
We’ve exposed some Amplitude-generated user properties, so you can now query on the following user properties (if tracked):
- Device ID
- Event ID
- ID (Amplitude ID)
- IP Address
- Longitude
- Latitude
- Session ID
- User ID
If the properties are not relevant to your analyses, you can hide user properties from dropdown menus in your project’s settings page.
You can find more definitions of Amplitude-generated user properties .
4) Resources
Here are some new resources we think you or your team will find helpful!
Product Analytics Playbook: Mastering Retention
Last week, we released the Product Analytics Playbook, Volume 1: Mastering Retention. This first volume provides a thorough 155-page guide on how to use data to make better product decisions and improve user retention. You can currently , and we will be providing physical copies at our this year.
Webinar Series
Since January, we’ve been hosting a weekly webinar series on the Amplitude platform. During the webinar, you can ask questions via a chat box and someone at Amplitude will immediately respond to your question, so that the webinar host is not disrupted. Some previous webinars include an Amplitude Platform Training for New Users and a Deeper Dive in Retention & Stickiness. You can find and .
5) SDK Updates
There have been major updates to our SDKs, and we highly recommend that you update your to the latest versions:
- Since v3.0.2:
- Add configuration option
forceHttps
, which when set totrue
forces the SDK to always upload to HTTPS endpoint. By default the SDK uses the endpoint that matches the embedding site’s protocol (for example if your site is HTTP, it will use the HTTP endpoint). - Block event property and user property dictionaries that have more than 1000 items. This is to block properties that are set unintentionally (for example, in a loop). A single call to
logEvent
should not have more than 1000 event properties. Similarly a single call tosetUserProperties
should not have more than 1000 user properties. - Add option to track GCLID (Google Click ID) as a user property (set
includeGclid
totrue
in the SDK configuration). - Add option to track new UTM parameters, referrer, and GCLID values during the same session. By default the SDK only saves the values once at the start of the session. You can remove this restriction by setting
saveParamsReferrerOncePerSession
tofalse
in the SDK configuration. - Add
logEventWithTimestamp
to allow logging events with a custom timestamp. The timestamp should a number representing the time in milliseconds since epoch. - Add configuration option
deviceIdFromUrlParam
, which when set totrue
will have the SDK parse device IDs from url parameteramp_device_id
if available. Device IDs defined in the configuration options during init will take priority over device IDs from url parameters. - Bug fixes.
- Add configuration option
- Since v2.9.2:
- Catch and handle
CursorWindowAllocationException
thrown when the SDK is querying from the SQLite DB when app memory is low. If the exception is caught duringinitialize
, then it is treated as ifinitialize
was never called. If the exception is caught during the uploading of unsent events, then the upload is deferred to a later time. - Block event property and user property dictionaries that have more than 1000 items. This is to block properties that are set unintentionally (for example in a loop). A single call to
logEvent
should not have more than 1000 event properties. Similarly a single call tosetUserProperties
should not have more than 1000 user properties. - Handle IllegalArgumentException thrown by Android Geocoder for bad lat / lon values.
- Add ability to log identify events outOfSession, this is useful for updating user properties without triggering session-handling logic.
- Allow
logEvent
with a custom timestamp (milliseconds since epoch). - Add helper method to regenerate a new random deviceId. This can be used in conjunction with
setUserId(null)
to anonymize a user after they log out. Note this is not recommended unless you know what you are doing. - Bug Fixes.
- Catch and handle
- Since v3.8.5:
- Add support for enabling SSL-pinning via Cocoapods.
- Add support for tvOS.
- Bump iOS minimum deployment target to 6.0.
- Add helper method to regenerate a new random deviceId. This can be used in conjunction with
setUserId:nil
to anonymize a user after they log out. Note this is not recommended unless you know what you are doing. - Allow
logEvent
with a custom long long timestamp (milliseconds since epoch). - Add ability to log identify events outOfSession, this is useful for updating user properties without triggering session-handling logic.
- Bug Fixes.
6) Questions?
If you have any questions, comments, or concerns, please reach out to . You can find previous release notes . Lastly, we’d appreciate your feedback on our product email updates. Please let us know what’s working well or what you’d like to see improved through , thank you!