Aug
Session replay
Android SDK now sets `Is Emulator` automatically
Replay Team
We've updated the Android SDK to 3.5.0, adding the ability to set the
Is Emulator
flag automatically on events. That's the flag used to identify emulators (obviously), so setting it automatically will help you easily filter out events coming from bots, testing devices, and such. Thanks, Manoel!People & properties
$os_name is now an alias of $os for iOS, Android, and React Native
Product Analytics Team
Says Michael: We've fixed a discrepency between our iOS, Android, React Native SDKs and the browser
posthog-js
SDK.We were previously capturing the client OS as
$os
in the browser, but$os_name
on mobile. From August 6th we started treating the latter as an alias of the former - which also means the$os
person property will now work as expected. We aren't backfilling legacy data, however.Configuration
You can now add a logo to your organization
Product Analytics Team
You can now add a logo to your organization in PostHog, which then gets displayed throughout the interface and in the account popover. Head to your organization settings to upload something now!
Session replay
iOS SDK gets new `propertiesSanitizer` callback
Replay Team
As the song says, the mobile SDK improvements start coming and they don't stop coming. Which is to say that Manoel has improved the iOS SDK (3.7.0) to feature a new callback, called
propertiesSanitizer
.This new callback enables you to sanitize any properties that is set automatically but which may be sensitive or unnecessary, such as
$device_name
. It's especially useful if you want to be careful about not collecting identifying information from your users.Product analytics
Rolling retention added to retention insights
Product Analytics Team
We've added support for rolling, or unbounded, retention as an option in retention insights. Rolling retention basically includes any unbounded time period, instead of only the next period.
In other words, if a user comes back on Day 7, they can now be counted in all previous retention periods as if they never left - giving retention insights a new way to visualize churn.
Product analytics
Even more formatting options added to SQL insights
Data Warehouse Team
Tom just doesn't stop, does he? Last week he added a grab-bag of visualization options, and now he's added formatting options for columns in SQL insights.
You can now:
- Re-label columns
- Format them as numbers
- Add prefixes
- Avoid comma formatting
HogQL
Many visualization updates added for SQL insights
Data Warehouse Team
Ready for a grab-bag of assorted visualization updates? Tom has got you covered with the following tweaks for our SQL insights. Thanks to his hard work you can now...
- Add a trend line to each series
- Select either a left or right Y-axis for series
- Label your series without having to use SQL aliases
- Use a logarithmic scaling for the Y-axes
- Display multiple chart types on a single insight - e.g. add a line series to a bar chart!
The last one is especially spicy - both for finding correlations, and also creating truly baffling charts for the easily bamboozled. Try it out!
Product analytics
Multiple breakdowns now supported
Product Analytics Team
You can now add up to three breakdown criteria to your product analytics insights at once. You can now breakdown by person properties, group properties, and HogQL expressions - plus the existing option to breakdown by cohorts.
Adding multiple breakdowns enables you to more accurately focus on specific user groups and to get detailed data without fiddling with filters.
Uncategorized
We're now SOC 2 Type 2 compliant
People & Ops Team
There's only thing more dull and yet annoyingly important than SOC 2 Type 1 compliance, and that's SOC 2 Type 2 compliance. We know that because we've just been certified following an external, independent audit and it was exactly as thrilling as you'd imagine.
SOC 2 Type 2 compliance is useful for assuring larger organizations that we can handle their data safely and responsibly. It's also great for box-ticking exercises and inspiring some Fast and Furious artwork!
Jul
Surveys
Surveys now support 7-point Likert scale responses
Feature Success Team
Want to get a more detailed understanding of customer responses but don't want to overwhelm them with too many options? Now you can do that with 7-point Likert scale responses.
As the name suggests, it offers users more than just 5 options for their response, but less than 10 - so it's the perfect middle-ground!
Likert scale surveys are most useful for measuring a positive or negative response and are especially suited to collecting feedback in response to a trigger statement - don't you agree? (Please respond on a scale of 1 to 7.)
Product analytics
You can now make area charts with SQL
Product Analytics Team
As the title suggests, you can now make area charts in PostHog by creating insights from SQL. All you have to do is enable the area chart visualization when creating an SQL insight.
Area charts work by stacking line data similarly to a stacked bar chart, which makes them especially useful for spotting correlations between events. Try them out!
Data warehouse
Web analytics
Session attribution explorer beta
Web Analytics Team
As an extension of our ongoing web analytics beta, we've now added a new session attribution explorer tool in beta. That's right – even our betas have betas.
The session attribution explorer is useful for finding out how sessions are assigned to different attribution channels, and changing how things are grouped. We also hope you'll use it to share feedback with us if you see anything being attributed incorrectly!
Dashboards
Core Web Vitals tracking
Replay Team
We've not only added support for Core Web Vitals, but we've also added a new dashboard template to help you track them easily.
Web Vitals are a set of standardized metrics that measure the user experience in terms of loading performance, stability, and interactivity. Google uses them to measure the quality of the user experience on your web pages.
The template dashboard summarizes Google's view of the web vitals for you and comes with a free Anchorman GIF for some reason.
If you'd like to enable web vitals tracking, simply modify your JS config, or head to your project settings in PostHog.
Data warehouse
Azure blob storage added as a data warehouse source
Data Warehouse Team
The data warehouse only launched last week and it's already getting major updates, this time in the form of a new source: Azure blob storage.
Want to get data from Azure synced into PostHog, so you can analyze it with new tools and combine it with other data sources? Our docs have you covered.
Data warehouse
Data warehouse built-in logs
Data Warehouse Team
Another big feature added for the data warehouse this week: sync logs.
Sync logs are helpful for letting you see if there's been an issue with a warehouse sync, or if a message is returned when a sync runs. Obviously we hope your syncs always run without errors, but it's good to be prepared.
Data warehouse
MySQL source for data warehouse
Data Warehouse Team
We love community contributions, especially when they come very quickly and add brand new features onto our latest tools. So, you can imagine how much we appreciate Jacob Spizziri adding support for MySQL databases to our data warehouse.
We're always open to community contributions, as it's one of the best things about being open source. Head to our GitHub repo and dive in if you fancy helping us improve!
Pricing & billing
Session replays up to 50% cheaper
Replay Team
We're drastically cutting costs and making PostHog the cheapest session replay tool available. In some cases your overall bill will be more than 50% cheaper than it was before.
Data pipelines
Batch exports open beta
Pipeline Team
Another week, another new tool that's ready for public beta. This time it's a batch export system, which gives you a way to schedule data exports to specified locations, such as BigQuery, S3, Snowflake, Postgres, and Redshift. Think of it as the opposite of our data warehouse.
Batch exports are useful because it's far more efficient to process data in batches. The fact that you can schedule the exports also means there's less manual work and enables us to better support automatic retries if a destination is temporarily down.
There's a lot you can do with batch exports, including things like joining data with existing events exports if needed - check the docs for details.
Session replay
New session replay filters
Replay Team
David has been hard at work this week on improving the previously cluttered and clumsy system for filtering session replays. His new version, which is available now, simplifies filters down to a single '+ Add filter' button and uses a set of replay-specific filters for common use cases.
In addition to making it quicker and simpler to add filters, the new system also gives you much more flexibility around using AND / OR conditions. But, most importantly, it's also prettier.
Surveys
New surveys history view
Feature Success Team
Do you want to look back in time? Now you can, with a history tab for user surveys. It behaves identically to the historical view in other tools, like feature flags, enabling you to see what changes your teammates have made to your surveys.
It's worth noting however that we aren't capturing changes before this shipped - you'll only be able to see changes to your surveys made from today onwards.
This update was shipped by Dylan, who also provided a gif to help us demonstrate it in this announcement - but the gif was unfortunately too long to use so we swapped it for a screenshot instead. Sorry, Dylan!
Data warehouse
Data warehouse leaves beta
Data Warehouse Team
After a month-long public beta, our data warehouse has finally hit the primetime. We've released it into general availability with pre-built connectors for Stripe, Hubspot, Zendesk, and more, enabling you to get data from almost any platform into PostHog.
That means you can do things like analyze how sign-ups correlate to MRR, or use specific in-app actions to qualify leads. One beta tester we spoke to even uses PostHog as a tool for analyzing Google Adwords data!
Since the beta launched last month we've added new connectors, dashboard templates, and new documentation so that it's easy to get started. As with all PostHog tools the data warehouse comes with a generous free allowance - check the pricing page for details.
Product analytics
Traceloop integration for LLM insights
Marketing Team
We've teamed up with Traceloop to track metrics for LLM applications. Traceloop is an open source solution platform for logging, monitoring, and debugging LLMs.
Combining your Traceloop and PostHog data makes it easy to answer questions like:
- How often is my LLM hallucinating? Which users run into these issues the most?
- What are my LLM costs by customer, model, and in total?
- Which users run into the most generation latency spikes or errors?
To get started, view our docs on how to add the Traceloop integration.
Product analytics
Confidence values added to GeoIP data
Product Analytics Team
Capturing geographic data about a user based on their IP sounds simple, but there's actually a lot to it – and sometimes the results may be a little off, or misleading.
So, we've added two new properties to the GeoIP data we capture. The first,
$initial_geoip_city_confidence
gives you a confidence rating regarding where we think the user is. The second,$geoip_accuracy_radius
gives you a radius for where the user could actually be. Both are useful for validating your data, as well as making any changes or insights based on it.Dashboards
Refreshing for individual insights on dashboards
Product Analytics Team
Do you like dashboards with lots of insights on them? Us too. Do you hate that you weren't previously able to refresh individual insights on a page, and had to refresh all at once? Same.
So, we fixed it.
We also improved the general refresh behaviour for insights and the cache lifetimes for dashboards while we were at it.
Web analytics
Live user count added to web analytics
Web Analytics Team
In addition to a bunch of behind-the-scenes changes, such as tweaking the channel type attribution logic, Robbie has also added a live user count to the web analytics beta.
This works similarly to the live user count in the recently added real-time live events, but is much more conveniently located and a little simpler in implementation. Check it out!
Data pipelines
New data pipelines UI
Pipeline Team
Back in May we launched the beta for a new data pipelines UI, and today we've rolled that beta out to everyone and retired the old version.
As before, the new UI breaks the data pipeline down into destinations and transformations, filters for your active pipelines, and includes teeny, weeny graphs inside so you can get volumes at a glance.
Product analytics
Switching between a linear and logarithmic scale
Product Analytics Team
Thanks to a community contribution from Nikita Vorobev you can now switch between linear and logarithmic scales on Trend insights.
We love getting community contributions!
Surveys
Branching questions for surveys
Feature Success Team
We've enhanced surveys by adding the option for conditional questions. That means you can now add branching paths to your surveys, so that new questions are displayed or skipped depending on the answers users select.
Conditional questions are useful for a wide range of things, including building complex surveys and simple choose-your-own-adventure games.
HogQL
HogQL filter autocomplete and syntax highlights
CDP Team
HogQL, our take on SQL, continues to improve! This time Marius has added some autocomplete and highlighting features to help you create queries more quickly and easily.
Autocomplete and highlighting features are obviously useful for any queries you want to create, but it's worth nothing that they also work properties from our data warehouse. In other words, if you're syncing data from Stripe (or any source, really) then it's now even easier to create custom reports.
Jun
Surveys
Customizable delays for surveys
Feature Success Team
It's ironically the surveys improvement you've all been waiting for: the ability to add a custom delay before a survey appears on a page. This is useful if you want to add a short pause so that users can orient themselves before plunging in to a survey, or a longer delay to obfuscate the trigger that's enabling a survey in the first place.
Session replay
Mobile recording beta
Replay Team
We've now released our mobile recording features from alpha, into public beta. There's no need to opt-in, just follow the docs to get started.
Mobile recording is currently available for Android and iOS, and comes with a number of options. Namely, you can decide if you want to record in wireframe mode, screenshot mode, and whether to capture network requests. No matter what you choose, we default to a restrictive configuration with automatic masking.
HogQL
HogQL trailing comma support
CDP Team
That's right, HogQL now supports trailing commas - an update so monumental that it's been described by Marius as "the feature you never knew you needed".
Trailing commas now work in objects and arrays as you'd expect, as well as select columns and other places where we may have lists.
In reaction to the sheer disbelief from the rest of the team, Marius offers a sombre warning: Please try not to go mad with this newfound power.
Product analytics
Loading bar and longer runtimes for insights and dashboards
Product Analytics Team
Building on the work we did at our Mykonos hackathon, we've now added a new loading bar which reflects the query's process. For longer-running queries which take more than 20s to complete we'll also show the disk, memory, and CPU usage too.
Speaking of longer-running queries, we've also increased the limitations on how long queries can run for. It's not a common occurrence but if you're building a really complex insight and crunching a lot of data then your queries can now run for up to 10 minutes before they'll time out. The same is also true for dashboards!
Product analytics
Independent time comparisons for trend insights
Product Analytics Team
You've been able to create comparisons to previous time period in trend insights for a while, but those time periods were previously fixed based on the underlying insight. Now, that's no longer the case.
You now have the option to define the previous time period yourself, independent of the insights time range. This can be useful if, for example, you want to compare your performance this week to your launch week many moons ago. That's always good for morale.
Product analytics
Real-time live events view
Infrastructure Team
Thanks to the combined work of the product analytics team, infrastructure team, and the staff of the Royal Myconian hotel in Mykonos, we've added a new live events view to PostHog so you can see a constant, real-time stream of events trickling in. You can also see a live counter of how many users are active at any particular time.
Seriously, it doesn't get more live than this. Data appears in the live view within milliseconds of ingestion. Sometimes that means you'll need to hit the pause button because the page is updating unreadably fast - but we think that's a nice problem to have.
Session replay
In-app heatmaps alpha
Replay Team
Building on the work of our new heatmap options, you can now embed your site in PostHog view your heatmaps directly there.
This is handy if you want to tinker with the view options and navigate your site without opening new tabs. In the future, we plan to add more complex filtering options, as well as the ability to export screenshots automatically.
Ready to give it a go? Join the alpha and tell us what you think!
Product analytics
Helicone integration for LLM insights
Marketing Team
We've teamed up with Helicone to track metrics for LLM applications. Helicone is an open source solution platform for logging, monitoring, and debugging LLMs.
Combining your Langfuse and PostHog data makes it easy to answer questions like:
- What are my LLM costs by customer, model, and in total?
- Which users are consuming the most tokens?
- How do LLM features affect retention rates?
To get started, view our docs on how to add the Helicone PostHog integration.
Configuration
Managed reverse proxies
Infrastructure Team
You may think that we spent most of our company offsite lounging by the pool, and it's true, but we were also building new features while we did it. One of them was a managed reverse proxy, and it just launched.
Reverse proxies are helpful because they help stop your events getting intercepted by ad blockers, but they're also usually a bit of a pain to configure. So, we built our own directly into PostHog.
Available now as part of the Teams plan, you can enable the reverse proxy via your PostHog settings.
You can check the docs for more info, but it's remarkably easy to set up. Simply add in any domain you control and the system will spit out a CNAME that you then need to set in your DNS provider. Wait a few seconds for the update and, voila, the reverse proxy is live!
Data warehouse
Data warehouse open beta
Data Warehouse Team
For the past few months, we’ve been building an opt-in beta for our data warehouse. Now, we’re ready to support more users and have moved to an open beta.
Our data warehouse enables you to import your business data and analyze it alongside your product data. This is useful if, for example, you want to chart app sign-ups against Stripe revenue, or investigate how retention correlates with account sizes.
You can import data from object stores you control or using integrations we have for platforms such as Stripe, Hubspot, and Postgres.
Our data warehouse will be entirely free to use during the beta period, but we do plan to introduce pricing after it launches into general release. We’ll give anyone on the beta plan a two week warning before pricing rolls out, so they can switch to the free plan if needed.
We’re actively building out features to give you better control of the volume of rows synced and stored. Ready to give it a try? Start syncing or check out the docs.
May
HogQL
HogQL f-strings supports f-string
Product Analytics Team
HogQL now supports f-strings and, unlike in Python 3.1, you can nest them endlessly too. Check out the PR to see how we did it!
F-strings are great for inlining inlining properties if you have a lot of them, making HogQL breakdowns like this possible:
f'{properties.$browser} @ {properties.$browser_version}, {properties.$os}
This change also introduces an internal capability to parse HogQL snippets inside curly brackets in plain text. We're planning to use this for webhook messages, so we can do 'full HogQL', e.g.:
total: {1 + 2}, status: {properties.name = 'Tom' ? 'Great guy' : 'Do not sell'}
.Product analytics
Person profiles launched, PostHog now up to 80% cheaper
Growth Team
Today we're starting to roll out optional person profiles — a new event processing option that makes it substantially cheaper to track anonymous users by giving you control of when to create person profiles for your tracked users.
You may be wondering: 'Why would I not want to create person profiles?'
In the past we've created person profiles for all users, all the time. This gave you a detailed, filterable view of every user who ever visited your site - but that was overkill for a lot of use-cases. Now, you have the option to only create person profiles when the user takes an important action, which means you can save a lot of money on the less-important events.
For example, this is especially useful if you track both your marketing site and product usage in PostHog. You probably only need profiles for logged-in users, so you can skip profiles for anonymous visitors and track their general usage in web analytics. Then, when a user logs in you can then collect their properties, groups, and various distinct IDs in a single person profile for deeper investigation in product analytics. It's the best of both worlds!
Person profiles are available now for a portion of our users and will become available to everyone over the coming weeks - you’ll see the Person profiles billing details on your organization billing page when it’s ready for you. Not collecting person profiles can reduce your bill by up to 80%, depending on volumes and usage type.
If you're an existing user, you’ll see changes on your next bill - your product analytics price will have gone down, and that difference has moved to the new Person Profiles line item. You won’t pay any extra money even if you continue to use person profiles for all users; we’ve simply split the cost. If you choose to not collect person profiles for all users, it will only save you money.
Ready to give it a go? First, check your organization billing page - if you see information about Person profiles there under product analytics, you’re ready to start using it. Head to the docs to find out how to set up your person profiles config option.
Surveys
Shuffling added to surveys
Feature Success Team
While most of us were away at our annual offsite, Phani ended up staying home and working on an important improvement to surveys: shuffling.
Shuffling is important because it can help you remove bias in your survey results caused by users automatically selecting responses in particular positions, or by being led to answers by previous questions. So, we've added the ability to shuffle both questions and responses in the customization step of survey creation.
Uncategorized
Public discussions beta now available
Replay Team
OK, it's actually been available for a little while as an experimental feature but we kinda, sorta forgot to tell everyone about it. Maybe that was the experiment?
Regardless, you can now opt-in to the discussions beta through the feature previews menu. It gives you a way to add threaded comments to almost anything in PostHog, making it a great way to add feedback or share ideas alongside your data.
Discussions aren't yet fully supported across all features, but they do work in most places. For everything else, there's notebooks.
Give it a go and let us know what you think!
SDKs
Session-based analytics added to iOS SDK
Replay Team
The latest version of our iOS SDK, v3.1.0, will now automatically set
$session_id
, enabling the ability to do session-based analytics.With
$session_id
set automatically it's now possible to delve into metrics such as the time a user spends on a page, or their average session duration.Session replay
Session replay support added for Flutter Web
Replay Team
Supposedly we've had session replay on Flutter Web environments for a while, but it was actually a little broken due to a bug in RRWeb.
Well, now we've fixed the bug.
That means session replay is now back and working as you'd expect on Flutter Web environments. Enjoy!
People & properties
Exports side panel now in private beta
Product Analytics Team
We've launched a new closed beta which adds an export panel to the sidebar. This isn't available to most users as it's still in the early stages, but we wanted to give you a sneak peek.
Currently, when you start an export it can take a while to prepare. It's inconvenient to just wait on the same page, so moving this to the sidebar lets you continue with other work. When your export is ready the sidepanel will automatically open and show you all your available and historic exports. This is per-user, not per-team.
If you've got other ideas for how we can improve exports, let us know in the community!
Session replay
Window visibility support added for session replays
Replay Team
Are you someone who generally keeps a dozen different windows open at once and is constantly bouncing between them? You'd probably get on well with several of our engineers.
You'll also probably appreciate that we've added visibility support to session replay, meaning that replay logs will automatically capture when a window is hidden (e.g. minimized out of view) or visible (e.g. maximised into view).
Capturing window visibility is useful if you're interested in how often users may be referring from one window to another, or other aspects of site usability. Give it a go!
Uncategorized
PostHog becomes a DigitalOcean Hatch partner
Marketing Team
We've teamed up with DigitalOcean and joined their Hatch program for startups, meaning that eligible teams in the PostHog for Startups program can now claim an additional $25,000 of DigitalOcean infra credit in addition to the usual benefits.
As a reminder, those usual benefits include $50,000 of PostHog credit, some amazing gifts from our merch store, and an exclusive monthly newsletter with advice for founders.
Teams need to be less than two years old and have raised less than $5M in funding to qualify, but if that's you then you can sign up today!
Uncategorized
We've updated our terms and conditions (in a good way)
Website & Docs Team
Two things in life are true: Nobody ever reads the T&Cs, and nobody ever reads annoying updates about how those T&Cs have been updated either.
Still, we think it's important that you have an idea of our terms when you sign up to PostHog - so we redesigned them to be more fun to read, and easier to understand.
Uncategorized
Voting for new PostHog features now available
Website & Docs Team
Our Webs & Docs team has pushed a number of big changes to the site as we continue to invest in our community tooling. This week, they've updated our public roadmap so that you can now vote on upcoming features!
Votes won't be the only thing we consider when planning our future projects, obviously. But we will be keeping a close eye on what features you want to see.
Plus, we've created a new WIP page so you can see when we do start work on new features. You can subscribe to projects there for updates, as well as requesting early access to private betas.
Session replay
Network waterfall public beta launched
Replay Team
We've launched a new public beta for session replays, enabling you to view network data as a waterfall to help identify performance problems within a session.
The waterfall view is especially helpful for seeing which URLs take the longest to load at a glance, or which experience errors as you can see above.
The waterfall view is available now as an opt-in beta, so head to the feature previews menu to enable it for your team.
Uncategorized
Improvements to permissions and invites
Growth Team
Following some feedback from users and some discussions at our recent 2024 company offsite in Mykonos, we've made two improvements to how organization ownership and user invites work.
Firstly, an organization in PostHog can now have multiple owners instead of just one. This is useful in case an existing owner leaves a team and means you won't need to contact us to sort things out. It also means co-founders can stay on a equal footing!
Secondly, you can now invite team members to join you in PostHog at at user level -- owner, admin, or member. This helps speed things up so you can get team members into PostHog at the appropriate level without needing to bump up their permissions later on.
Events & actions
Action webhooks now support groups
CDP Team
As the title suggests, we've added support for groups to action webhooks. Now that you can send group information about a user along with an action you can get more data on the user and better understand their context.
Group information can now be accessed using the group key tracked against the event, but check the docs for more information.
People & properties
Session properties
Web Analytics Team
Session properties enable you to filter, breakdown, and analyze session-level data such as:
- Entry URL, UTMs, and click IDs
- Exit URLs
- Session pageview and autocapture count
- Bounce rate and session duration
All this is automatically captured when you use the JavaScript Web library with autocapture.
Uncategorized
Hedgehog mode 2.0 launched
Hedgehogs Team
Originally created during our 2023 hackathon, hedgehog mode is the closest thing we have to a defining feature: a tiny, customizable hedgehog called Max that walks around your app. Now, Max has had a major upgrade.
In addition to being able to don a variety of clothes, Max is now available in a multitude of colours and can seamless take over your in-app profile picture if you need a new avatar in a rush. You can also enable party mode to have multiple hedgehogs on screen at once!
Best of all, you can now stop Max wandering aimlessly by disabling his walk animation. That's perfect grumpy marketing types who recently shocked their colleagues by confessing they find Max too distracting to tolerate.
Ready to take Max for a spin? Enable him via the toolbar or your settings page.
Data pipelines
New data pipelines UI beta launched
Pipeline Team
We've only been back from our annual offsite for a few days and we've already got some big new features launching. First up: a new UI beta for data pipelines.
This beta is part of a series of big improvements coming to data pipelines in the future. Previously, data pipelines worked using all of our apps lumped together - but the new UI breaks things down much more sensibly into transformations and destinations.
The new UI even visualizes your weekly volumes directly the destinations view too!
The new UI for data pipelines is in public beta and available for all users. Take a look at the docs, and let us know what you think!
Apr
Toolbar
Mouse and scroll-depth tracking launched
Replay Team
For a while now you've been able to use the PostHog toolbar to view the number of clicks on each element of your site. Now, we've added two new options for visualizing user interactions - mouse moves and scroll depth tracking.
Mouse moves helps you visualize cursor movements as a literal heatmap in the browser, with 'hotter' areas indicating a greater volume of movements. It's especially helpful to use alongside click tracking as it can indicate if users are skipping over certain elements without clicking or if buttons are inappropriately sized.
Scroll depth, on the other hand, helps you see how far down a page a user has scrolled, with 'colder' colours indicating fewer users reached that point. It can be useful to enable it with click tracking to see if there are high-interest parts of your site which are getting missed because they're low down the page.
Both options come with some additional options to tweak the viewport accuracy, or two switch the default color palette to something more accessible. You can enable either option right now, via the toolbar.
Session replay
Event debugger added to the toolbar
Replay Team
The session replay team has now added an event debugger to the toolbar, enabling you to see what events are sent to PostHog within a page as you work.
This is especially useful for confirming that your event tracking is set up correctly, and that events trigger when you expect. It can also be helpful for finding missed opportunities, as you can interact with your product in real-time and then look back at all the events you hit -- or didn't!
Product analytics
Langfuse integration for LLM insights
Marketing Team
We've teamed up with Langfuse to track metrics for LLM applications. Langfuse is an open source solution for monitoring LLM applications. It tracks metrics such as model costs, latency, token usage, and more.
Combining your Langfuse and PostHog data makes it easy to answer questions like:
- What are my LLM costs by customer, model, and in total?
- How many of my users are interacting with my LLM features?
- Are there generation latency spikes?
To get started, view our docs on how to add the Langfuse PostHog integration.
HogQL
All insights rebuilt in editable HogQL
Product Analytics Team
We'd previously rebuilt our Trends insights to be powered by HogQL, but now we've gone a step further. All existing insight types have now been completely rebuilt too.
As well as bug fixes and speed improvements, this rebuild also means you can now directly edit the SQL behind any insight. Dig deeply into your data and build more complex queries than ever before!
HogQL
HogQL autocomplete added
Product Analytics Team
We've made HogQL a lot easier to use with the addition of autocomplete. You can now start building your query and we'll automatically chime in with elements we think will be helpful.
HogQL, for the uninitiated, is a wrapper around ClickHouse SQL. We've got a few unique tweaks in there for efficiency and efficacy, but it is very accessible to anyone with existing knowledge of SQL.
And now it's even more accessible!
Uncategorized
Enterprise Mode launches
Website & Docs Team
Enterprise mode focuses on features over benefits, uses big words that make us seem smart, drives enterprise value by capturing leads, and delivers an industry-leading whitepaper strategy to drive stakeholder alignment and capital growth.
Happy April fools!
Pricing & billing
Introducing the Teams plan: Get more features without having to “talk to sales”
Growth Team
We've introduced a new pricing option which makes some advanced features available to everyone. It’s called Teams, and it's ideal for orgs which need enterprise features but also want the flexibility of a self-serve monthly plan. As always, you can see a breakdown of all plans on your billing page.
We think the Teams plan will be especially useful for any organizations that need more teams-oriented features like project permissions and SSO or 2FA enforcement.
In addition to advanced security features, Teams also gives you collaboration to help teams work together more effectively, like dashboard tags. You’ll also get priority customer support through the app.
Some of these features were previously available on other plans, but we don’t want to take away features you were already. So, if you already use PostHog you’ll retain access to most features, including project permissions, dashboard tags and text cards. You’ll also keep 2FA enforcement if you’ve enabled it previously.
Audit logs have moved wholly to the Teams plan, however, as they’re a security and compliance feature — useful for businesses of a certain size, but not really needed for early-stage orgs.
We think Teams improves PostHog by making advanced features and an enterprise-level support experience more widely available and flexible, but as always we’d love to hear your feedback.
Session replay
Client-side capture rate limiting added
Replay Team
We've added some new rate limiting systems to help to protect our users, ourselves, and (more importantly) our users, from abnormal client behaviour. That could mean anything from an accidental loop in the code, to someone running some strange scripts in the browser, to a bug.
This new rate limiting -- the details of which we're being deliberately coy about -- is relaxed enough that it should only trigger in one of these infinite loop or DDOS scenarios, but as always let us know if you have any feedback.
People & properties
Cohort creation improved
Feature Success Team
Feature success has made two small, but mightily important quality-of-life improvements for when you create new cohorts.
The first is simply that we now tell you very clearly at the top of the page when your cohort was last calculated, so you can judge how accurate it is. Cohorts are still normally recalculated every 24 hours, so we added that information too.
The second update is that now, when you specify an event, you can also add filters and custom dates directly within the cohort creation. It's another small tweak which should hopefully greatly improve the speed at which you build cohorts.
A/B testing
A/B testing UI improved
Feature Success Team
We've just upgraded the UI for A/B testing significantly, making it easier to parse results and plan your experiments.
Improvements include a better layout for results and some more actionable tooltips to help you setup tests for the best possible results. We're planning further improvements to come too, and even have a survey running on the A/B test creation page to collect your ideas and feedback. Let us know what you think!
Session replay
Overrides for replay sampling added
Replay Team
We've added a new option which enables you to override any replay sampling rules you've set up, so you can have greater control of which sessions you record.
Why would you want to override a rule you've already set? So you can, for example, ensure that you always record sessions from certain users or groups!
Sampling overrides are especially useful if you want to use sampling to keep costs down but also want to make sure you have a close eye on particularly valuable users. Check the docs for more information on how to set it up.
React Native v3 and Node v4 are now GA
Replay Team
Manoel continues his slew of SDK updates, this time improving both our React Native v3 and Node v4 SDKs up to general availability.
This update actually includes a lot of smaller improvements, so we recommend checking the React Native or Node repo changelogs for detailed updates.
Product analytics
HogQL-powered insights
Product Analytics Team
We've rewritten all our insights in HogQL and are releasing them, starting with trends.
This makes insights faster, more reliable, and enables advanced customization.
Mar
Feature flags
Customizable feature flag timeouts added
Feature Success Team
Following an incident earlier this month which briefly took down feature flags, we've added a new customizable timeout option for our Go, Ruby, Python, JS, React, and Node SDKs.
By default, flags will now timeout after 3 seconds, except for React-native which timesout at 10 seconds.
You can check the docs for info on how to customize timeout configs if needed, but we think the defaults will suffice and help prevent future incidents.
Product analytics
Exports now available as .xlsx (Excel format)
Product Analytics Team
Sometimes a .csv isn't enough. Sometimes you need a .xlsx for Microsoft Excel. And now you can get it when exporting from PostHog!
Session replay
Improved session replay filters and ordering
Replay Team
We made it easier to apply common filters to session replays by adding the ability to select any person property to act as a quick filter. You can then toggle filters more easily and we'll persist your selections on a per user basis.
We think this change will be broadly useful for everyone, as there are common filters which teams tend to use a lot - such as country, email, or browser.
We've also introduced a new ordering option so that you can sort filtered recordings according to their duration or number of console errors. Very handy for finding problematic recordings quickly!
Events & actions
Autocapture now supports cut and copy events
Replay Team
We've seen a few feature requests which said it would be useful if we autocaptured when users cut or copy text on a page. So, we built it.
There were some nuances to how we approached this. Some users wanted to collect events whenever text was selected on a page, for example, but we found this to be far too noisy in testing.
Our hope is that capturing the cut and copy events directly solves the problem at its root without noticeably increasing your event volume.
Feb
Dashboards
Smarter tile sizing for dashboards
Product Analytics Team
We've updated many different tile types so that they now take up less space and are generally more flexible to resize on dashboards. Now you can have more aesthetically pleasing dashboards!
We'd like to thank Oliver for letting us know this was an issue.
People & properties
User agent detection improved
Replay Team
Following some reports that this wasn't working correctly for a user who had switched providers, we've improved user agent detection to give more reliable info about which users are on desktop vs. mobile.
In addition to improving the matching for OS and devices we've also added matching for WatchOS systems too.
A/B testing
Graphs and significance calculation added for secondary metrics
Feature Success Team
You've been able to add secondary metrics to A/B experiments in PostHog for a while, but we've now added much better reporting around them.
The new graphs and significance calculations will help you determine if there are knock-on effects to your experiments away from the primary metric.
For example, you may test a change to your sign-up flow to improve conversion as a primary metric, but you may also need to know about impact to activation as a secondary metric. Now you can understand both easily!
Uncategorized
PostHog site badges released
Website & Docs Team
All aboard the PostHog badgewagon!
We've released a series of new site badges you can add to the footer of your site, so everyone know you're using PostHog to build better products. It's like being in a secret club, except open source.
Events & actions
PostHog Cloud SQL access
Product Analytics Team
To fully support our users on PostHog Cloud, we're working on a feature to allow direct SQL access to PostHog data, so that users may query it directly.
Toolbar
Toolbar bundle size reduced by 61%
Replay Team
A few weeks ago Paul noticed that our toolbar was 2.2 MB of Javascript, approximately 500 kb of which was just syntax highlighting and formatting code the feature would never use. You can see what that looks above.
So, Paul rolled up his sleeves, and set out to fix the issue. And...voila!
The new and improved toolbar.js is -61% smaller than before, dropping 1.37 MB down to a little over 800 kb.
SDKs
Flutter gets support for multivariant flags and flag payloads
Replay Team
We've updated our Flutter SDK to v4.0.0, adding support for both multivariant flags and feature flag payloads.
Multivariate flags are helpful because they enable a flag to return a key instead of just
true
orfalse
- which makes them useful for testing or deploying complex changes where multiple variations are needed.Payloads, meanwhile, enable you to send additional information to your app when a flag is matched. This makes them useful for triggering simple changes, such as displaying a pop-up or notification.
Path cleaning added to web analytics
Web Analytics Team
The web analytics beta continues to improve with new features such as path cleaning rules, which alias URLs together to make results more digestible.
If you're in the beta you can customize your path cleaning rules within your product analytics settings. Each rule is composed of an alias and a regex pattern, so that any URL which matches the pattern is replaced with the alias.
Our experience is that path cleaning is incredibly useful for reducing complex common URLs in web analytics, but try the beta for yourself and let us know what you think!
Session replay
Recordings added to groups view
Replay Team
We've added a new Recordings tab to the Groups view within the People tool, so you can effortlessly see all available recordings from a particular group.
You can use group analytics in a number of ways, but it is typically most useful for B2B teams who want to collect multiple users into a single group that represents an organization. That's how we use it at PostHog, anyway!
Feature flags
Relative data operators added to feature flags
Feature Success Team
We've added relative data operators to PostHog feature flags, meaning we now default to the correct operator type when needed.
This means that if you start targeting a feature flag by
subscription_date
, for example, we'll automatically switch the operator type to a date format.Mobile analytics template added
Product Analytics Team
We've done a lot of work around mobile analytics recently, including updating our Android and iOS SDKs, so we felt it was about time we added a dedicated dashboard template for them too. You'll need to use either our React Native, iOS, Android, or Flutter SDKs to use this template.
The mobile analytics template contains a selection of mobile-focused metrics, including overviews of your most common OS, device, app version, and more. It's a great way to get an overview of your app adoption!
More
PostHog becomes HIPAA compliant
Sales & CS Team
We're happy to announce that PostHog is now HIPAA compliant and offering Business Associate Agreements (BAAs) for teams on a PostHog Enterprise plan.
Enterprise plans are an add-on for PostHog plan which cost $450 per month and include SAML and SSO enforcement, dedicated support, advanced permissioning, and other features for large orgs.
HIPAA - or the Health Insurance Portability and Accountability Act, if you want to be fancy - is a US legislation which applies mostly to healthcare providers. It isn't something most teams need to concern themselves with, but now those who do can get in touch with us to find out more!
Canvas capture added to session replays
Replay Team
We've now rolled canvas recording out as an opt-in feature available to all users. This enables you to capture canvas elements within your session replays.
It's important to note that there is currently no way to mask canvas elements, meaning you may unintentionally capture personal information or PII.
For this reason, canvas capture is disabled by default and must be enabled via your project options page.
Product analytics
More informative error messages added
Product Analytics Team
We hope you haven't ever seen the error message above, but if you have then we have good news: we've made it much more informative.
This error usually occurs either because a query was running for too long, or because a memory limit was hit. Both issues are generally caused by a query having an excessively large scope.
In either case, we'll now tell you exactly what the error was and give you some prompts on how to fix it. Of course, you can still raise a support request if needed!
SDKs
New Android and iOS SDKs released
Replay Team
After a short beta period, we've now released our Android and iOS SDKs into general availability, making them available for all users as version 3.0.0.
These SDKs are a complete rework of the old, legacy versions and are more efficient than they were previously. The Android SDK has been rewritten in Kotlin, while the iOS SDK is rewritten in Swift.
Both SDKs offer all the same features of the legacy versions, as well as some new functionality such as feature flag payload support. The iOS SDK also supports WatchOS and macOS for teams with products on those platforms.
React Native SDK now supports macOS target
Replay Team
Manoel continues to plug away at improving our React Native SDK and has now added support for the
macOS
target in addition to his previous work.There are still some things to be aware of when using the React Native SDK however, so be sure to check the docs for more information.
Jan
Session replay
Server timing reporting added to player inspector
Replay Team
We now report server timings in the session replay player inspector, enabling you to see information about the request-response cycle.
In the image above, for example, you can see that we spent 442ms waiting for the first byte, 350ms of which was spent on
gather_query_parts
.Server timings like this are helpful for going deep into performance issues and discovering where delays occur, so you know where to focus performance improvements.
Session replay
Browser network status reporting added to replays
Replay Team
We've increased the amount of information session replay is able to capture about the network status of a user. You can now see the browser's reported network status while watching a replay.
This is typically going to be helpful if you're trying to debug or investigate certain types of error which a user may report as a result of losing their connection. Previously we wouldn't explicitly identify their offline status, which could have caused confusion - but now we do!
PostHog Flutter SDK now supports macOS
Replay Team
We have updated our Flutter SDK to support the macOS target, which it didn't previously. This is important if you use Flutter to deploy across multiple platforms - previously it wouldn't install at all.
Thanks to Manoel for work on this, though he believes the SDK should speak for itself in place of a longer update.
Configuration
React Native SDK now supports web target
Replay Team
We have updated our React Native SDK to version 2.10.2, adding support for the React Native Web target. Previously if you used the React Native SDK to deploy to web, it wouldn't work and would throw errors. Now it works seamlessly!
Thanks to Manoel for work on this SDK, who (still) believes the SDK should speak for itself.
Uncategorized
Severity selector added to in-app support
Sales & CS Team
We're making a lot of improvements to the way we provide support at the moment. This includes publishing new FAQs to the forums, adding an automated CSAT email for closed tickets, and a new severity checker for the in-app support.
The severity checker will help us triage tickets by giving you the ability to self-select how critical the support enquiry is.
Is it a feature request or piece of feedback that isn't totally urgent? Or is it a critical security issue that we need to solve today? We hope it's not the latter.
Session replay
Network payload capture launched
Replay Team
Earlier this month we announced the first public beta of 2024, which enabled you to capture network requests and response payloads in session replay. Now, it's out of beta and available for everyone!
Network payload capture builds on top of the network calls and performance data we already capture using
PerformanceObserver
, making it easier for you to understand performance issues and debug errors. Enable it in your Project Settings!Capture network requests and responses in session replay
Replay Team
We already capture network calls that are made and their performance data using the browsers' built-in PerformanceObserver. Adding capture of requests, responses, and status codes would allow our users to more thoroughly understand the behaviour of their applications.
Feature flag scheduling released
Feature Success Team
We've added the ability to schedule feature flags properties in PostHog, meaning you can now enable, disable, or change the rollout conditions of a flag automatically.
Scheduled flag changes are especially useful if your release schedules fall outside of normal working hours, or if you work with remote teams in other timezones. They're also useful for coordinating product launches in line with marketing activities or announcements.
You can even add multiple scheduled changes to a single flag, which is handy if you want to organize staggered rollouts.
In-app status indicator added
Infrastructure Team
We try our best to make PostHog as stable and reliable as possible but, to quote our handbook, "Incidents are going to happen."
When they do, we want to be as transparent and communicative as possible - that's why we've added a in-app status indicator to the overflow menu in the sidebar. You can click it to go to our full status page for more information.
We hope you'll never need to check on the system status, and that the icon will never be anything other than green, but...well, the handbook is usually right.
Project-based routing added
Infrastructure Team
We have, after more than a year of planning and distractions, added project-based routing into both US and EU environments. Your project ID is now always stored in the URL.
This is a major benefit for teams who have multiple PostHog projects set up because it makes links properly shareable with colleagues. You'll no longer get lost if you click a link from one project while logged in to a different project.
Pricing & billing
Data pipeline add-on launched
Growth Team
In order to better reflect the growing scope of our export functionality, and to give you more control over your bill, we've split batch exports out into their own add-on product: data pipelines.
If you're an existing user then we've automatically enabled the add-on to avoid disruptions for your product. Your bill won't increase as a result because of the way we've balanced the pricing for both the add-on and product analytics.
If you're a new user you'll need to enable the add-on from your billing page. As always, pricing is based on usage.
We originally included export functionality as part of product analytics because it made it easier to get started with both features. However, that also meant we were more expensive for users who didn't use exports. Our hope is that splitting exports into an add-on will give you more control over how you use PostHog.
Session replay
Network payload capture beta launched
Replay Team
We've already released the first public beta of 2024, which is now accessible via the feature previews menu in PostHog.
Network payload capture is a beta for session replay which, as the title suggests, adds the ability to capture network request and response payload and headers. This is in addition to the network calls and performance data we already capture using
PerformanceObserver
.The idea is that capturing requests, responses, and status codes would help you understand application behaviour and performance more thoroughly.
As always we'd love to hear your feedback and thoughts on the GitHub issue!
Feature flags
Automated/scheduled rollouts of feature flags
Feature Success Team
With automated rollouts, you will be able to roll out a feature flag gradually based on a pre-defined schedule.