Move images to Cloudinary (#8024)

* featured images

* thumbnails

* remove hosthog

* images

* logos

* imports

* remove versions

* relative imports

* icons

* fix undefined vars

* fix import script

* kill images

* fix static images

* fix og creation

* remove quality option

* add absolutepath back

* wait for images

* date fixes

* remove scripts

* reduce network requests

* only generate OG images in prod

* simplify

* update docs

* add new images
This commit is contained in:
Eli Kinsey
2024-03-19 08:51:41 -07:00
committed by GitHub
parent 77f26b83a3
commit eef8c6407c
3532 changed files with 5819 additions and 4678 deletions

View File

@@ -1,10 +1,14 @@
---
title: Notification Bar
featuredImage:
featuredImage: null
documentation: /docs/apps/notification-bar
thumbnail: ../thumbnails/notification-bar.png
thumbnail: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/apps/thumbnails/notification-bar.png
description: Alert users to important news by adding a banner to your website
filters: { type: ['other'], maintainer: official }
filters:
type:
- other
maintainer: official
---
<Section

View File

@@ -1,12 +1,13 @@
---
title: Pineapple Mode
featuredImage:
featuredImage: null
documentation: /docs/apps/pineapple-mode
thumbnail: ../thumbnails/pineapple-mode.png
filters: {
type: ["other"],
maintainer: official
}
thumbnail: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/apps/thumbnails/pineapple-mode.png
filters:
type:
- other
maintainer: official
---
<Section

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -1,16 +1,17 @@
---
date: 2021-05-17
title: "Why we're giving away 100 times more cloud usage, free"
title: 'Why we''re giving away 100 times more cloud usage, free'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/100x/100x.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/100x/100x.png
featuredImageType: full
author:
- james-hawkins
category: PostHog news
tags:
tags:
- Product updates
---

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/series-b/series-b-baby.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/series-b/series-b-baby.png
author:
- joe-martin
category: PostHog news

View File

@@ -1,13 +1,15 @@
---
date: 2023-01-11
title: "CEO diary: The things I learned in 2022"
title: 'CEO diary: The things I learned in 2022'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
category: CEO diaries
author: ["james-hawkins"]
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
author:
- james-hawkins
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
---
@@ -17,7 +19,7 @@ It's always helpful to look back on the year just gone, and 2022 was an exceptio
### We grew very fast _and_ are much more durable
![Our 2022 revenue growth over time, which increases by 6 times](../images/revenue-end-2022.jpg)
![Our 2022 revenue growth over time, which increases by 6 times](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/revenue-end-2022.jpg)
- Revenue grew nearly 6x without any outbound sales team.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/blog-generic-4.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/blog-generic-4.png
featuredImageType: full
category: Product growth
tags:

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/migrating-hog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/migrating-hog.png
featuredImageType: full
category: Inside PostHog
---
@@ -27,7 +28,7 @@ If Id stuck to realistic limits, that would be the end of it. I cant buil
It turns out that I can. Late last year I made [a ShuffleHog prototype on Twitter](https://twitter.com/thehogbot), coded in [Tracery](https://www.tracery.io/). That lasted until [Marius added the ability to make front-end apps in PostHog](https://github.com/PostHog/posthog/issues/9654#issuecomment-1133222836) last week. 24 hours later, ShuffleHog now lives inside PostHog as a beta feature that can suggest random query ideas.
![ShuffleHog - AKA PostHog's Best Feature](../images/blog/non-coders-thoughts/shufflehog_app.png)
![ShuffleHog - AKA PostHog's Best Feature](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/non-coders-thoughts/shufflehog_app.png)
ShuffleHog still isnt quite ready for other users to try yet, but who knows? Maybe Ill keep following this dream.
@@ -41,7 +42,7 @@ Breaking things is a great way to learn about how to fix them. PostHog recently
### Take it offline
Something Ive loved about becoming more confident with code is that Ive been able to follow this passion outside of work. This creates a feedback loop where I get even more excited about what Im learning and what Im able to do, so I bring that energy back into work…where I _also_ learn and do more. Its very satisfying.
![Joe's Open Source Arcade](../images/blog/non-coders-thoughts/arcade_open_source.png)
![Joe's Open Source Arcade](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/non-coders-thoughts/arcade_open_source.png)
The experience Ive had with GitHub, for example, ended up being the catalyst for me to build my own arcade emulation machine at home because I now had the skills to fork and tweak certain repos. Likewise, spending time in the world of open-source software led to me playing around with a _lot_ of Raspberry Pi sensors at home.

View File

@@ -7,7 +7,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/non-coders-thoughts/non-coders-thoughts.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/non-coders-thoughts/non-coders-thoughts.jpg
featuredImageType: full
category: Inside PostHog
---

View File

@@ -29,13 +29,13 @@ We write down everything we learn internally on the same doc we started with in
The second thing we try to do well is to set up informal communication with the customer we often us Slack or WhatsApp groups. They let people feel safer just sending a couple of sentences because they lose the formality of email. And, they can just be quite good fun.
![](../images/02/Screenshot-2020-02-25-at-21.52.15.png)
![](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/02/Screenshot-2020-02-25-at-21.52.15.png)
Throughout YC, weve split our roles pretty clearly. As my former boss used to say “dont be like 5 year olds playing football”.
Even when there were just two of us, Tim and I quickly saw how important it was to write tickets for features and issues. This meant that Tim could code uninterrupted, with notifications disabled. I would do everything else. We tend to work with our headphones on almost all day to help stay focused. Occasionally we take them off, and one day we may treat ourselves to a new lightbulb for the office (updated - we never did):
![](../images/02/working.jpeg)
![](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/02/working.jpeg)
Since Aaron joined, he has focused on getting feedback from users, Tim has kept working on the product, and Ive focused on product, marketing and anything else. Aaron and I share the QA for features and we try to get them done immediately, so it doesnt cause Tim to have to multitask.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/green-blog-image.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/green-blog-image.jpg
featuredImageType: full
category: Using PostHog
tags:
@@ -19,7 +20,7 @@ While PostHog is obviously useful for product managers, engineers and analysts,
You can find out more about [how our customer success team works](/handbook/people/team-structure/customer-success) in the PostHog docs, but in the meantime here are five tips to help _your_ CS team get started with PostHog…
## 1. Use funnels to find out where customers get stuck
![Top to bottom funnels in PostHog](../images/blog/activation-checklist-images/top-down-funnel.png)
![Top to bottom funnels in PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/top-down-funnel.png)
Using a combination of [autocapture](/docs/data/autocapture) and [custom or calculated events](/tutorials/event-tracking-guide#using-custom-events-to-track-advanced-behaviors), PostHog makes it possible to track every part of your product experience. This makes it trivial to track where users are getting stuck by using [funnel insights](/manual/funnels) to visualize the user journey.
@@ -28,7 +29,7 @@ At PostHog, for example, new users have to go through several common steps to be
> 💡**PostHog Tip:** Want to delve deeper into the root causes behind a drop off? Use [breakdowns](/manual/funnels#identify-possible-causes-of-failure-and-success) to explore what groups of users have in common.
## 2. Use trends to find out which features are popular
![graph of an insight broken down by a property](../images/blog/activation-checklist-images/posthog-trend-insight.png)
![graph of an insight broken down by a property](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/posthog-trend-insight.png)
If you, like PostHog, charge based on usage then youll want to keep a close eye on your usage metrics. This will both help you spot trends in declining usage so that you can react early, and also proactively reach out to customers with increasing usage too.
@@ -37,7 +38,7 @@ The simplest way to monitor usage is via a [trends insight](/manual/trends). Jus
> 💡**PostHog Tip:** If youve only got a small number of users, your results may get swayed by internal users or test accounts. [Heres how to filter them out](/tutorials/filter-internal-users).
## 3. Use lifecycle charts to find users about to churn
![lifecycle chart in posthog](../images/blog/activation-checklist-images/lifecycle-chart-posthog.png)
![lifecycle chart in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/lifecycle-chart-posthog.png)
Regardless of whether or not your overall usage is growing, its a good idea to monitor your overall retention and identify which customers are falling dormant and are at risk of churning. The [lifecycle insight](/manual/lifecycle) exists exactly for this purpose.
@@ -46,14 +47,14 @@ Lifecycle insights categorize users based on whether they have completed any eve
> 💡**PostHog Tip:** Curious about the difference between returning and resurrecting users? Check [the lifecycle docs](/manual/lifecycle#interpreting-your-lifecycle) for a full explanation.
## 4. Install apps to integrate PostHog with your stack
![apps for cs teams](../images/blog/activation-checklist-images/apps-for-cs-teams.png)
![apps for cs teams](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/apps-for-cs-teams.png)
We like to think PostHog works brilliantly on its own, but to get the most out of the platform you may want to connect it with other software in your stack. We have a library of over 50 apps to help you do this, so you can connect PostHog with tools such as [Hubspot](/apps/hubspot-connector) or [Salesforce](/apps/salesforce-connector).
Best of all, because PostHog is entirely open source, you can build your own apps to enhance your data even further — all you need is a little Javascript or Typescript knowledge and youre good to go!
## 5. Build and share a customer success dashboard
![subscriptions in posthog](../images/blog/activation-checklist-images/subscribe-in-posthog.png)
![subscriptions in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/subscribe-in-posthog.png)
Once youve built the insights you need, an essential step is adding them all to a PostHog dashboard so that you dont need to check them one-by-one. Once youve pinned all your insights to a dashboard, you can easily check everything in one place and export it as an image if you need to include it in reports.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/posthog-marketing/marketing-hog.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-marketing/marketing-hog.jpg
featuredImageType: full
category: Using PostHog
tags:
@@ -19,7 +20,7 @@ One of the great things about PostHog is that it democratizes your product strat
Internally, [our marketing team](/handbook/people/team-structure/marketing) uses PostHog for [all their reporting](/blog/posthog-marketing), as well as for running ad-hoc analysis and testing new ideas. Here are some of the tips and tricks we recommend based on their experience...
## 1. Set up an AARRR pirate funnel
![AARRR pirate metrics](../images/blog/using-posthog/aarrr.png)
![AARRR pirate metrics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/using-posthog/aarrr.png)
AARRR funnels are a framework for understanding how users engage with your product at different stages of their journey — Acquisition, Activation, Retention, Revenue, and Referral. Its especially useful for marketers, growth teams and product marketers because it enables you to see where your biggest drop-offs are at a glance.
@@ -28,7 +29,7 @@ The AARRR framework needs to be adapted slightly for each product — acquisitio
> 💡**PostHog Tip:** Want to know more? Check our [complete guide to AARRR pirate funnels](/blog/aarrr-pirate-funnel)!
## 2. Track campaigns with trend insights
![how to track utms in posthog](../images/blog/activation-checklist-images/utm-tracking-in-posthog.png)
![how to track utms in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/utm-tracking-in-posthog.png)
UTMs are an indispensable tool in the modern marketing arsenal, enabling you to track clicks by adding a customizable parameter after a URL. The URL `posthog.com/?utm_campaign=opensource` could be used in social media posts to track visits to the PostHog website via an open source campaign, for example. But how do you track these campaigns in PostHog?
@@ -37,7 +38,7 @@ The simplest way is to use a [trends insight](/manual/trends) in PostHog that fi
> 💡**PostHog Tip:** Trends arent the only way to visualize UTM performance. You can also use [the funnels insight](/manual/funnels) to explore how users move between two events - such as viewing a landing page, and signing up.
## 3. Watch how users sign-up with session recordings
![session recordings in posthog](../images/blog/activation-checklist-images/session-recording-posthog.png)
![session recordings in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/session-recording-posthog.png)
You may think your sign-up flow is easy to navigate, but what really matters is what your users think. If only there was some way to watch how they use your site, so you can identify where theyre experiencing friction? Enter: [session recordings](/manual/recordings).
@@ -46,7 +47,7 @@ Session recordings are like a DVR of people using your product and enable you to
> 💡**PostHog Tip:** Watching lots of recordings can be time consuming. We recommend filtering recordings to focus on key events, such as new sign-ups, to make it easier to find valuable insights.
## 4. Understand how users explore your site with paths
![session recordings in posthog](../images/blog/activation-checklist-images/paths-in-posthog.png)
![session recordings in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/paths-in-posthog.png)
So, you know how to track performance of marketing campaigns and how to see how individual users engage with your content, but how can you get a view of the entire user journey? Thats where [path analysis](/manual/paths) comes in.
@@ -55,7 +56,7 @@ Paths enable you to see the route every user takes between two points, as well a
> 💡**PostHog Tip:** Path insights in PostHog dont have to specify both the start and endpoint. If youre curious how users get to a specific page, for example, you can just set an endpoint to see every path users took to reach that page.
## 5. Use dashboards subscriptions to keep up to date
![dashboard subscriptions in posthog](../images/blog/activation-checklist-images/subscribe-in-posthog.png)
![dashboard subscriptions in posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/subscribe-in-posthog.png)
Maybe you want to share PostHog reports with the whole company, or maybe youre just trying to cut down on time spent looking for credentials in 1Password. Either way, subscriptions are the solution.

View File

@@ -1,29 +1,31 @@
---
date: 2023-04-24
title: "What we built at our sun-kissed Aruba hackathon"
title: What we built at our sun-kissed Aruba hackathon
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/aruba/beach-hog.jpg
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/aruba/beach-hog.jpg
featuredImageType: full
category: Inside PostHog
tags:
tags:
- Offsites
---
Every year, Team PostHog congregates for our [annual all-company offsite](/handbook/company/offsites). In previous years we've been to Italy, Portugal and Iceland. This year, we went to Aruba a tiny, Caribbean island just off the north coast of Venezuela.
![posthog aruba](../images/blog/aruba/aruba-vibes.jpeg)
![posthog aruba](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/aruba-vibes.jpeg)
As a remote company, our offsites are a hugely important part of our culture. We encourage everyone to meet up when they can, be that through co-working, ad-hoc visits ([which we pay for](/handbook/people/spending-money#budget-for-socializing)), or [small team offsites](/handbook/company/offsites#small-team-offsites), but we only get the whole company together once a year.
![posthog aruba](../images/blog/aruba/people-shots.jpeg)
![posthog aruba](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/people-shots.jpeg)
When we do, we like to plan a mixture of fun social activities, strategic sessions and workshops, culture exercises, and (the most important bit) a 24-hour hackathon.
![posthog aruba](../images/blog/aruba/aruba-hackathon-photos.jpeg)
![posthog aruba](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/aruba-hackathon-photos.jpeg)
Here's what we built during our Aruba hackathon.
@@ -55,7 +57,7 @@ flowchart TD
On the whole, Max gives useful answers even when dealing with complex questions. Max is also dead handy for summarizing long support threads in Slack or GitHub issues.
![maxai](../images/blog/aruba/max-ai.jpeg)
![maxai](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/max-ai.jpeg)
That said, Max isn't immune to hallucinating solutions or even URLs for docs that don't exist  if it doesn't know the answer. It's a work in progress, but we've released Max on [our community page](/posts) as a beta. Drop him a DM!
@@ -67,11 +69,11 @@ Check out the [MaxAI repo](https://github.com/PostHog/max-ai) for more info.
The marketing team worked together to build (and ship) a [public library of pre-built dashboards](/templates), including an [AARRR pirate metrics dashboard](/templates/aarrr-dashboard), [templates for B2C](/templates/b2c-dashboard) and [B2B products](/templates/b2c-dashboard), and a [landing page report](/templates/landing-dashboard) for marketers transitioning from Google Analytics.
![dashboard templates](../images/blog/aruba/templates.png)
![dashboard templates](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/templates.png)
These dashboards are accessible from the 'New Dashboard' modal in PostHog. Some templates require custom events, which you'll be asked to configure before creating the dashboard you can also change the events you track later.
![dashboard templates](../images/blog/aruba/setup-events.png)
![dashboard templates](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/setup-events.png)
Got a request for a dashboard? DM the team on our community Slack!
@@ -91,7 +93,7 @@ The team name is a reference to a hackathon project Joe is especially passionate
Dubbed DataBeach because Frank and Harry started building the feature while sipping Piña Coladas by the beach, DataBeach is all about our long-term vision of [simplifying the modern data stack](/blog/modern-data-stack-sucks) for startups. Less time spent wrangling data = more time shipping products.
![databeach](../images/blog/aruba/data-beach.png)
![databeach](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/data-beach.png)
They teamed up with Marius to an build MVP consisting of custom tables that are created and queried through the PostHog UI and API. These tables provide a way to store and query data from sources such as Stripe, Hubspot (see above), Intercom, and more, along with data from PostHog.
@@ -109,17 +111,17 @@ Anecdotally, our direct-to-an-engineer support is a big reason why people love u
Enter team Arubug, who decided there had to be a better way.
![bug report](../images/blog/aruba/bug-report.gif)
![bug report](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/bug-report.gif)
The team started by [building a site app](/tutorials/build-site-app) for bug reports which sends a `$bug_report` event to PostHog.
These reports feed into a dashboard that tracks bug reports, helping us to identity trends. Bugs can be broken down as tables with relevant properties, and session replays, attached.
![bug table](../images/blog/aruba/arubug-table.png)
![bug table](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/arubug-table.png)
The team also built a communication tab into bug reports, so support can send emails and leave notes on tickets with additional context without leaving the app. Every email is a ClickHouse event tied to the initial UUID of the report event, with emails (for now) sent and received via Zapier.
![communication-tab](../images/blog/aruba/conversation-tab.png)
![communication-tab](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/conversation-tab.png)
After the hackathon, we reviewed the plan and realized:
@@ -137,11 +139,11 @@ Now, instead of our single support hero, each team will handle support requests
Hedgehog mode is one of PostHog's most powerful features who wouldn't want to play with our adorable mascot?
![hats](../images/blog/aruba/hats.gif)
![hats](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/hats.gif)
Currently, Max  accessible via the help menu in PostHog can jump around, spin, wave, dance, and wave. For their hackathon, the team worked on accessories for Max, such as hats, glasses, and costumes, that PostHog users could unlock by completing certain tasks e.g. watching a certain number of replays.
![toolbar](../images/blog/aruba/toolbar.gif)
![toolbar](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/toolbar.gif)
They also set about revamping the PostHog Toolbar, replacing the dull but functional PostHog icon with an animated Max whose status changes when you select different toolbar features.
@@ -151,7 +153,7 @@ They also set about revamping the PostHog Toolbar, replacing the dull but functi
We're constantly building new features, but we have to invite users personally to try them out. It's inefficient and not cool. James, Michael and Annika thought it would be better if PostHog users could join PostHog betas themselves. So, they built it. That is cool.
![feature previews](../images/blog/aruba/feature-previews.png)
![feature previews](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/feature-previews.png)
<Caption>Interface for creating feature preview entries, including screenshots and docs options</Caption>
Feature previews is pretty simple. It's a list of features we're testing, including screenshots and basic information, that users can simply enable or disable whenever they like. When they do, they're either automatically added to, or removed from, the relevant feature flag.
@@ -172,7 +174,7 @@ In June they've planned a virtual engraving workshop, in July a virtual escape r
Luke, Thomas, Ben and Cory built an MVP for automations in PostHog. In the MVP, automations have a source (event, action or cron job), logic (pause for / pause until), and sources (e.g. send a Slack message, create a GitHub Issue, add to cohort, add to feature flag, send an in-app message etc.).
![automations](../images/blog/aruba/automation-posthog.png)
![automations](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/automation-posthog.png)
Even this basic functionality has numerous helpful use cases, but long-term we expect to add more sources and destinations, and the ability to create automations based on event thresholds.
@@ -182,7 +184,7 @@ Even this basic functionality has numerous helpful use cases, but long-term we e
PostHog uses ClickHouse as our main event database, but we end up using a huge range of tools (Grafana, Metabase, pganalyze etc.) to monitor and manage it. Team HouseWatch built a centralized dashboard, so we can eliminate all this bloat and have everything in one place.
![housewatch](../images/blog/aruba/housewatch.png)
![housewatch](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/aruba/housewatch.png)
The homepage enables us to monitor things like execution count (queries per hour), and memory usage. There's also a slow queries view, which will allow the team to proactively identify problematic queries and reach out to customers to help.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- yakko-majuri
featuredImage: ../images/blog/migrating-hog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/migrating-hog.png
featuredImageType: full
category: Engineering
tags:
@@ -81,7 +82,7 @@ We needed something better.
## Enter async migrations
![Async migrations UI](../images/blog/async-migrations-ui.png)
![Async migrations UI](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/async-migrations-ui.png)
The solution we came up with for the problem mentioned above is a system for running so-called async migrations.
@@ -157,7 +158,7 @@ Async migrations are triggered from the UI and create a Celery task that handles
Metadata about the migration is stored in Postgres, including things such as status (completed, errored, rolled back, etc), progress, start and finish times, and other useful information.
![Async migrations Architecture](../images/blog/async-migrations-architecture.png)
![Async migrations Architecture](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/async-migrations-architecture.png)
### Structure

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- michael-matloka
featuredImage: ../images/blog/simpler-self-deployments.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/simpler-self-deployments.png
featuredImageType: full
category: Engineering
tags:
@@ -162,7 +163,7 @@ jobs:
> One thing we've not covered yet is what running jobs on every PR gives us in practice.
> It's two things:
> 1. Such jobs become **PR checks**, and they are shown on the PR's page, along with their statuses.
> ![Bump labels](../images/blog/github-actions/pr.png)
> ![Bump labels](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/github-actions/pr.png)
> 2. Select PR checks can be made required, in which case merging is prevented until all required checks turn green.
### Keeping stale PRs in check
@@ -345,7 +346,7 @@ Something particularly tedious we eliminated is incrementing package versions. A
What gives? Well, these days the only thing an engineer has to do is give their PR the right label:
![Bump labels](../images/blog/github-actions/bump-labels.png)
![Bump labels](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/github-actions/bump-labels.png)
Right after that PR gets merged, the package version gets incremented in `master`:
@@ -416,7 +417,7 @@ jobs:
Here's what this looks like in GitHub's workflow visualization feature:
![Visualization 1. Autobump](../images/blog/github-actions/1-autobump.png)
![Visualization 1. Autobump](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/github-actions/1-autobump.png)
But this is just the starting point, because on every commit to `master` we check whether the version has been incremented - and if it has, all the aforementioned release tasks run automatically.
@@ -424,7 +425,7 @@ In fact, there are too many steps to show them all in this post but I encour
GitHub can also _visualize_ workflows extremely boring if there's only one job, but here the graph is quite informative. Do keep in mind that this CD process is really an extension of the previous autobump workflow.
![Visualization 2. Autorelease](../images/blog/github-actions/2-autorelease.png)
![Visualization 2. Autorelease](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/github-actions/2-autorelease.png)
### Fixing typos

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: PostHog news
tags:

View File

@@ -9,14 +9,14 @@ author:
- james-hawkins
category: CEO diaries
tags:
- Y Combinator
- Y Combinator
---
I'm [James](https://twitter.com/james406), and I work with [Tim](https://twitter.com/timgl). We are the co-founders of PostHog - a current batch YC company.
This is us (I'm on the right), just after we got now-redundant, pre-pivot swag:
![James and Tim](../images/02/IMG_4294-scaled.jpg)
![James and Tim](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/02/IMG_4294-scaled.jpg)
We quit our jobs around August 2019, and put the last $8K of salary into a business bank account. We had both saved enough money to live on for at least 12 months without any income.
@@ -26,7 +26,7 @@ Our product was 'a sales territory management platform, that uses predictive ana
Tim built the product and I started doing customer calls from the cheapest Airbnbs I could find around Lake Geneva, cafés in Venice and a hut in an olive grove in Tuscany:
![Olive groves in Tuscany](../images/02/IMG_3338-scaled.jpg)
![Olive groves in Tuscany](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/02/IMG_3338-scaled.jpg)
Not only did I have slow wifi, but the idea was complicated and people didn't get it. We had just two customers start using it, and that's only because they were already our friends. One of those two was happy paying $200 MRR for it, but then his company pivoted. We ended up bringing Aaron on board as our first employee the following January.

View File

@@ -1,9 +1,11 @@
---
title: The most popular Amplitude alternatives & competitors, compared
title: 'The most popular Amplitude alternatives & competitors, compared'
date: 2023-11-29
author: ["ian-vanagas"]
author:
- ian-vanagas
rootpage: /blog
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers, product, and growth teams
- **Typical customers:** Mid-size product-focused B2Bs and startups
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
### What is PostHog?
@@ -85,7 +87,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Product managers, designers, and marketing teams
- **Typical customers:** Mid to large B2C and B2B companies
![Mixpanel](../images/blog/best-amplitude-alternatives/mixpanel.png)
![Mixpanel](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/mixpanel.png)
### What is Mixpanel?
@@ -144,7 +146,7 @@ Looking at G2 reviews, companies choose Mixpanel to:
- **Typical users:** Product managers and customer success teams
- **Typical customers:** Product-focused small and mid-market B2C apps
![Pendo](../images/blog/best-amplitude-alternatives/pendo.png)
![Pendo](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/pendo.png)
### What is Pendo?
@@ -203,7 +205,7 @@ According to G2 reviews, customers use Pendo for:
- **Typical users:** Product and marketing teams
- **Typical customers:** B2C SaaS and ecommerce companies with a user experience focus.
![Heap](../images/blog/best-amplitude-alternatives/heap.png)
![Heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/heap.png)
### What is Heap?
@@ -266,7 +268,7 @@ According to G2 reviews, companies enjoy these three areas of Heap:
- **Typical users:** Business analysts, product support, marketers
- **Typical customers:** Enterprise B2C companies, retail, and financial services
![Glassbox](../images/blog/best-amplitude-alternatives/glassbox.png)
![Glassbox](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/glassbox.png)
### What is Glassbox?
@@ -309,7 +311,7 @@ As of January 2024, just 386 of the top 1 million websites deploy Glassbox. This
[Google Trends](https://trends.google.com/trends/explore?date=today%203-m&q=%2Fg%2F11h028w90p,%2Fg%2F11fy1sr2q5) shows Amplitude being slightly more popular than Glassbox over the last 90 days.
![Google Trends](../images/blog/best-amplitude-alternatives/trends.png)
![Google Trends](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/trends.png)
### Why do companies use Glassbox?
@@ -333,7 +335,7 @@ According to G2 reviews, customers use Glassbox for:
- **Typical users:** Product managers, engineers, support teams
- **Typical customers:** B2B SaaS, B2C retail companies.
![LogRocket](../images/blog/best-amplitude-alternatives/logrocket.webp)
![LogRocket](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/logrocket.webp)
### What is LogRocket?
@@ -394,7 +396,7 @@ The reviewers of G2 use LogRocket for these reasons:
- **Typical users:** Engineers, business analysts, product managers
- **Typical customers:** Enterprise retail and ecommerce websites and apps
![Smartlook](../images/blog/best-amplitude-alternatives/smartlook.png)
![Smartlook](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/smartlook.png)
### What is Smartlook?
@@ -455,7 +457,7 @@ According to G2 reviewers, Smartlook users benefit from:
- **Typical users:** Engineering and DevOps teams
- **Typical customers:** Engineering-focused B2B companies
![Statsig](../images/blog/best-amplitude-alternatives/statsig.png)
![Statsig](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/statsig.png)
### What is Statsig?
@@ -518,4 +520,4 @@ We're biased, obviously, but we think PostHog is the perfect Amplitude replaceme
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,9 +1,11 @@
---
title: The best FullStory alternatives & competitors, compared
title: 'The best FullStory alternatives & competitors, compared'
date: 2023-11-21
author: ["ian-vanagas"]
author:
- ian-vanagas
rootpage: /blog
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2Bs and startups
![posthog](../images/screenshots/session-replay.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/session-replay.png)
### What is PostHog?
@@ -87,7 +89,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Engineers, business analysts, product managers
- **Typical customers:** Enterprise retail and ecommerce websites and apps
![Smartlook](../images/blog/best-fullstory-alternatives/smartlook.png)
![Smartlook](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/smartlook.png)
### What is Smartlook?
@@ -150,7 +152,7 @@ According to G2 reviewers, Smartlook users benefit from:
- **Typical users:** Product managers, data analysts, marketing teams
- **Typical customers:** Mid-size and large enterprises
![Amplitude](../images/blog/best-fullstory-alternatives/amplitude.png)
![Amplitude](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/amplitude.png)
### What is Amplitude?
@@ -211,7 +213,7 @@ According to G2 reviews, Amplitude users appreciate three key aspects:
- **Typical users:** Product and marketing teams
- **Typical customers:** B2C SaaS and ecommerce companies wanting to monitor and improve user experience.
![Heap](../images/blog/best-fullstory-alternatives/heap.png)
![Heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/heap.png)
### What is Heap?
@@ -276,7 +278,7 @@ According to G2 reviews, companies enjoy these three areas of Heap:
- **Typical users:** Business analysts, product support, marketers
- **Typical customers:** Enterprise B2C companies, retail, and financial services
![Glassbox](../images/blog/best-fullstory-alternatives/glassbox.png)
![Glassbox](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/glassbox.png)
### What is Glassbox?
@@ -341,7 +343,7 @@ According to G2 reviews, customers use Glassbox for:
- **Typical users:** Product managers, engineers, support teams
- **Typical customers:** B2B SaaS, B2C retail companies.
![LogRocket](../images/blog/best-fullstory-alternatives/logrocket.webp)
![LogRocket](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/logrocket.webp)
### What is LogRocket?
@@ -404,7 +406,7 @@ The reviewers of G2 use LogRocket for these reasons:
- **Typical users:** Product managers and customer success teams
- **Typical customers:** Small and mid-market B2C apps
![Pendo](../images/blog/best-fullstory-alternatives/pendo.png)
![Pendo](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/pendo.png)
### What is Pendo?

View File

@@ -8,9 +8,10 @@ hideAnchor: true
author:
- joe-martin
- andy-vandervell
featuredImage: ../images/blog/posthog-blog-at-desk.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-blog-at-desk.png
featuredImageType: full
featuredVideo: https://www.youtube-nocookie.com/embed/o_1AmP_-HPs
featuredVideo: 'https://www.youtube-nocookie.com/embed/o_1AmP_-HPs'
category: General
tags:
- Privacy
@@ -45,7 +46,7 @@ All the tools in this list offer one or more of these methods. We've also chosen
### 1. PostHog
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
[PostHog](https://posthog.com) is an all-in-one, [open-source analytics platform](/blog/best-open-source-analytics-tools) that combines product analytics, session recording, feature flags, and experimentation into a single platform. Think [Amplitude](/blog/best-amplitude-alternatives) + Hotjar + [LaunchDarkly](/blog/best-launchdarkly-alternatives) in one.
@@ -81,7 +82,7 @@ PostHog Cloud is [free to use up to 1 million events per month](/pricing) and 5,
### 2. Plausible
![Plausible Analytics - open source analytics tools](../images/blog/open-source-analytics-tools/plausible-screenshot.png)
![Plausible Analytics - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/plausible-screenshot.png)
[Plausible](https://plausible.io/) is a lightweight alternative to tools such as Google Analytics. It offers an effective way to track simple web metrics, such as page views and the number of unique visitors, but lacks the depth of a full product analytics platform.
@@ -113,7 +114,7 @@ Plausible charges by pageview with 1 million pageviews costing €69 per month
### 3. Umami
![umami analytics](../images/blog/open-source-analytics-tools/umami.png)
![umami analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/umami.png)
[Umami](https://umami.is/) is an increasingly popular open-source analytics tool designed for privacy. Like Plausible, it's easy to self-host and collects no personal information (such as IP addresses) making GDPR compliance easy. The downside, as usual with privacy-first analytics tools, is it only collects basic analytics data, so it's best used for website analytics where you're less concerned with understanding user behavior.
@@ -140,7 +141,7 @@ Prices start at $9 for 100k monthly events. 1 million events is $49 per month; 1
### 4. Fathom
![Fathom - GDPR compliant analytics](../images/blog/gdpr-compliant-analytics/fathom.png)
![Fathom - GDPR compliant analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/gdpr-compliant-analytics/fathom.png)
[Fathom](https://usefathom.com/) is a popular, privacy-friendly alternative to Google Analytics that's built with user privacy at its core. It tracks common web statistics like unique visitors, page views, time on site, bounce rate, and referral data. It also has a basic event tracking system for measuring things like downloads, mailing list signups, and purchases.
@@ -173,7 +174,7 @@ Like Plausible, Fathom charges by pageview, though it's a bit cheaper than Plaus
### 5. Matomo
![Matomo - open source analytics tools](../images/blog/open-source-analytics-tools/matomo-screenshot.png)
![Matomo - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/matomo-screenshot.png)
[Matomo](https://matomo.org/) is one of the most popular Google Analytics alternatives because it enables teams to collect a comparable level of information, but can be deployed on-premises so that you dont need to share information with third-parties. Like PostHog, its also open source.
@@ -208,7 +209,7 @@ Matomo's core open source analytics is free to self-host. More advanced features
### 6. Vercel Web Analytics
![vercel analytics](../images/blog/ga4-alternatives/vercel.png)
![vercel analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/vercel.png)
Vercel includes a lightweight, privacy-compliant analytics tool in all its front-end-as-a-service plans. Like most privacy-first tools, it tracks basic website metrics like pageviews, unique users, time on page, and referrers. You can also set up custom events you want to track (e.g. clicking a call to action). It records no personally identifiable information, so you can use it without cookie permission banners. It also includes a useful Speed Insights tool for keeping track of your website's Core Web Vitals.
@@ -238,7 +239,7 @@ Free hobby deployments are limited to just 2,500 events and 10,000 speed insight
### 7. Countly
![Countly - open source analytics tools](../images/blog/open-source-analytics-tools/countly-screenshot.png)
![Countly - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/countly-screenshot.png)
Like PostHog, [Countly](https://count.ly/) is an extendable product analytics platform that offers self-hosted open source and enterprise editions, or cloud deployments, for organizations that want to understand product performance and user journeys in greater detail.
@@ -270,7 +271,7 @@ Countly doesn't publish pricing on its website. You have to contact sales. Its o
### 8. TelemetryDeck
![telemetrydeck](../images/blog/ga4-alternatives/telemetrydeck.png)
![telemetrydeck](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/telemetrydeck.png)
[TelemetryDeck](https://telemetrydeck.com/) is to app analytics what Plausible and Fathom are to website analytics a lightweight tool that collects minimal personal information. Consequently, TelemetryDeck says developers can use it without tracking permission banners.
@@ -302,7 +303,7 @@ TelemetryDeck's free plan gives you up to 100,000 signals per month signals
### 9. GoAccess
![GoAccess - open source analytics tools](../images/blog/gdpr-compliant-analytics/goaccess-gdpr-compliant.png)
![GoAccess - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/gdpr-compliant-analytics/goaccess-gdpr-compliant.png)
[GoAccess](https://goaccess.io/) is a completely open source web log analyzer and viewer which runs in a browser-based terminal to give you an overview of the most common website metrics. This means it can act as a replacement for tools such as Google Analytics, though it falls short of a product analytics platform in capabilities.
@@ -332,4 +333,4 @@ You can configure GoAccess to either not collect IP addresses or anonymize them,
GoAccess is open source and has no paid tiers.
<GDPRForm />
<GDPRForm />

View File

@@ -1,12 +1,14 @@
---
title: "The best Heap alternatives & competitors, compared"
title: 'The best Heap alternatives & competitors, compared'
date: 2023-11-01
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
@@ -23,7 +25,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2Bs and startups
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
### What is PostHog?
@@ -95,7 +97,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Product managers, customer success, and support
- **Typical customers:** Online retailers and SaaS companies
![fullstory](../images/blog/heap-alternatives/fullstory.png)
![fullstory](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/heap-alternatives/fullstory.png)
### What is FullStory?
@@ -156,7 +158,7 @@ According to reviews on G2, companies use FullStory for:
- **Typical users:** Business analysts, product support
- **Typical customers:** Retail and financial services
![glassbox](../images/blog/heap-alternatives/glassbox.png)
![glassbox](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/heap-alternatives/glassbox.png)
### What is Glassbox?
@@ -223,7 +225,7 @@ According to G2 reviews, customers use Glassbox for:
- **Typical users:** Product managers and customer success teams
- **Typical customers:** Small and mid-market B2C companies
![pendo](../images/blog/heap-alternatives/pendo.png)
![pendo](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/heap-alternatives/pendo.png)
### What is Pendo?
@@ -282,7 +284,7 @@ According to G2 reviews, customers use Pendo for:
- **Typical users:** Product managers, desginers and marketing teams
- **Typical customers:** Mid-size B2C and B2B companies
![mixpanel](../images/blog/heap-alternatives/mixpanel.png)
![mixpanel](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/heap-alternatives/mixpanel.png)
### What is Mixpanel?
@@ -396,7 +398,7 @@ As of July 2023, Amplitude is deployed by 6,973 of the top 1 million websites in
- **Typical users:** Marketing and content teams
- **Typical customers:** Commerce websites and large enterprises
![GA4](../images/blog/mixpanel-alternatives/GA4.png)
![GA4](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/GA4.png)
### What is Google Analytics 4?

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/open-source-testing-tools/testinghog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/open-source-testing-tools/testinghog.png
featuredImageType: full
category: General
tags:
@@ -39,7 +40,7 @@ These are the broad principles, but **please consult an expert** before making a
### 1. PostHog
![PostHog](../images/screenshots/ab-testing.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/ab-testing.png)
#### Features
@@ -60,7 +61,7 @@ PostHog offers a BAA on its Teams plan, which starts at $450 and includes [gener
### 2. Kameleoon
![kameleoon](../images/blog/hipaa-compliant-ab-testing/kameleoon.png)
![kameleoon](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hipaa-compliant-ab-testing/kameleoon.png)
#### Features
@@ -81,7 +82,7 @@ Kameleoon doesn't publish pricing publicly, but conversion optimization consulta
### 3. VWO
![vwo testing](../images/blog/hipaa-compliant-ab-testing/vwo-testing.png)
![vwo testing](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hipaa-compliant-ab-testing/vwo-testing.png)
#### Features
@@ -102,7 +103,7 @@ Unlike most tools in this list, VWO charges separately for website and mobile ap
### 4. LaunchDarkly
![LaunchDarkly mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/launch-darkly.png)
![LaunchDarkly mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/launch-darkly.png)
#### Features

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hipaa-compliant-ab-testing/hipaa.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hipaa-compliant-ab-testing/hipaa.jpeg
featuredImageType: full
category: General
tags:
@@ -41,7 +42,7 @@ Some analytics tools, such as Google Analytics, don't offer BAAs and are therefo
### 1. PostHog
![PostHog](../images/screenshots/hogflix-dashboard.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
#### Overview
@@ -69,7 +70,7 @@ A BAA is available on PostHog's [Teams plan](/pricing), which also includes prio
### 2. Mixpanel
![Mixpanel - hipaa analytics tools](../images/blog/open-source-analytics-tools/mixpanel.png)
![Mixpanel - hipaa analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/mixpanel.png)
#### Overview
@@ -94,7 +95,7 @@ A BAA is available on Mixpanel's Growth plan, which starts at $20 per month for
### 3. Countly
![Countly - open source analytics tools](../images/blog/open-source-analytics-tools/countly-screenshot.png)
![Countly - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/countly-screenshot.png)
#### Overview
@@ -122,7 +123,7 @@ This makes Countly a good option if you'd prefer to self-host your analytics.
### 4. Freshpaint
![freshpaint](../images/blog/hipaa-compliant-ab-testing/freshpaint.png)
![freshpaint](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hipaa-compliant-ab-testing/freshpaint.png)
- **Product analytics:** <span className="text-red text-lg"></span>
- **Web analytics:** <span className="text-red text-lg"></span>
@@ -147,7 +148,7 @@ Freshpaint is a cloud-only product specifically designed for healthcare companie
### 5. Piwik PRO
![piwik pro](../images/blog/ga4-alternatives/piwik-pro.png)
![piwik pro](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/piwik-pro.png)
- **Product analytics:** <span className="text-red text-lg"></span>
- **Web analytics:** <span className="text-green text-lg"></span>
@@ -170,7 +171,7 @@ PiwikPRO offers HIPAA compliance as part of its PRO Enterprise plan, either by s
### 6. Amplitude
![amplitude](../images/blog/posthog-vs-amplitude/amplitude-screenshot.png)
![amplitude](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/posthog-vs-amplitude/amplitude-screenshot.png)
#### Overview
@@ -195,7 +196,7 @@ Amplitude offers a BAA, but doesn't stipulate the minimum terms for signing one
### 7. Heap
![heap](../images/blog/best-amplitude-alternatives/heap.png)
![heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-amplitude-alternatives/heap.png)
- **Product analytics:** <span className="text-green text-lg"></span>
- **Web analytics:** <span className="text-red text-lg"></span>

View File

@@ -1,13 +1,15 @@
---
title: The best Hotjar alternatives & competitors, compared
title: 'The best Hotjar alternatives & competitors, compared'
date: 2024-03-04
author: ["andy-vandervell"]
author:
- andy-vandervell
rootpage: /blog
featuredImage: ../images/blog/hotjar-alternatives/hotjar-alternatives.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hotjar-alternatives/hotjar-alternatives.png
featuredImageType: full
category: General
tags:
- Comparisons
- Comparisons
---
import { ComparisonTable } from 'components/ComparisonTable'
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2B/B2C companies and startups
![posthog](../images/screenshots/session-replay.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/session-replay.png)
### What is PostHog?
@@ -82,7 +84,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Marketing and UX teams
- **Typical customers:** SMB and enterprises in retail
![mouseflow](../images/blog/clarity-alternatives/mouseflow.png)
![mouseflow](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clarity-alternatives/mouseflow.png)
### What is Mouseflow?
@@ -140,7 +142,7 @@ Based on reviews from G2.com, customers use Mouseflow because:
- **Typical users:** Product teams and UX researchers
- **Typical customers:** Medium and large B2C and B2B products
![sprig](../images/blog/hotjar-alternatives/sprig.png)
![sprig](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hotjar-alternatives/sprig.png)
### What is Sprig?
@@ -196,7 +198,7 @@ According to [reviews on G2](https://www.g2.com/products/sprig/reviews), custome
- **Typical users:** Marketers and consultants
- **Typical customers:** Small e-commerce businesses and agencies
![luckyorange](../images/blog/clarity-alternatives/luckyorange.png)
![luckyorange](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clarity-alternatives/luckyorange.png)
### What is Lucky Orange?
@@ -254,7 +256,7 @@ According to [reviews on G2](https://www.g2.com/products/lucky-orange/reviews.ht
- **Typical users:** Marketers and UX designers
- **Typical customers:** Small and medium size businesses and agencies
![crazy egg](../images/blog/hotjar-alternatives/crazy-egg.png)
![crazy egg](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hotjar-alternatives/crazy-egg.png)
### What is Crazy Egg?
@@ -309,7 +311,7 @@ According to reviews on G2, people use Crazy Egg because:
- **Typical users:** Product managers and customer success teams
- **Typical customers:** Small and mid-market B2C apps
![Pendo](../images/blog/best-fullstory-alternatives/pendo.png)
![Pendo](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/pendo.png)
### What is Pendo?
@@ -366,7 +368,7 @@ According to G2 reviews, customers use Pendo for:
- **Typical users:** Marketing and content teams
- **Typical customers:** Small businesses
![clarity](../images/blog/hotjar-alternatives/microsoft-clarity.png)
![clarity](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hotjar-alternatives/microsoft-clarity.png)
### What is Microsoft Clarity?
@@ -428,4 +430,4 @@ We're biased, obviously, but we think PostHog is the perfect Hotjar replacement
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,13 +1,15 @@
---
title: The best LaunchDarkly alternatives & competitors, compared
title: 'The best LaunchDarkly alternatives & competitors, compared'
date: 2023-11-27
author: ["ian-vanagas"]
author:
- ian-vanagas
rootpage: /blog
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
- Comparisons
- Comparisons
---
import { ComparisonTable } from 'components/ComparisonTable'
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2Bs and startups
![PostHog](../images/screenshots/feature-flags.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/feature-flags.png)
### What is PostHog?
@@ -90,7 +92,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Engineering and DevOps teams
- **Typical customers:** Engineering-focused B2B companies
![Statsig](../images/blog/best-launchdarkly-alternatives/statsig.png)
![Statsig](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/statsig.png)
### What is Statsig?
@@ -154,7 +156,7 @@ According to G2, users are big fans of Statsig because:
- **Typical users:** Enterprise marketing, frontend teams
- **Typical customers:** Large retail, travel, and other B2C companies
![Optimizely](../images/blog/best-launchdarkly-alternatives/optimizely.png)
![Optimizely](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/optimizely.png)
### What is Optimizely?
@@ -218,7 +220,7 @@ According to G2 reviews, people are fans of Optimizely because:
- **Typical users:** Engineering teams
- **Typical customers:** Enterprise reliability-focused teams
![Split](../images/blog/best-launchdarkly-alternatives/split.png)
![Split](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/split.png)
### What is Split?
@@ -280,7 +282,7 @@ According to G2, reviewers are big fans of Split because:
- **Typical users:** Product managers, engineers, UX designers
- **Typical customers:** Enterprise B2B and B2C companies optimizing customer experiences
![VWO](../images/blog/best-launchdarkly-alternatives/vwo.png)
![VWO](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/vwo.png)
### What is VWO?
@@ -346,7 +348,7 @@ Reviewers on G2 are big fans of VWO for these reasons:
- **Typical users:** Marketing and product teams
- **Typical customers:** Large retail and entertainment companies
![AB Tasty](../images/blog/best-launchdarkly-alternatives/ab-tasty.png)
![AB Tasty](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/ab-tasty.png)
### What is AB Tasty?
@@ -410,7 +412,7 @@ According to G2 reviews, users choose AB Tasty for the following reasons:
- **Typical users:** Development teams
- **Typical customers:** All stages of B2B software companies
![DevCycle](../images/blog/best-launchdarkly-alternatives/devcycle.png)
![DevCycle](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/devcycle.png)
### What is DevCycle?
@@ -450,7 +452,7 @@ DevCycle has many of the core A/B testing and feature flagging features but miss
BuiltWith doesn't have data on DevCycle's usage, but we can use [Google Trends](https://trends.google.com/trends/explore?q=devcycle,launchdarkly) as a proxy. According to them, LaunchDarkly is 10-20x more popular than DevCycle.
![DevCycle vs LaunchDarkly](../images/blog/best-launchdarkly-alternatives/devcycle-compare.png)
![DevCycle vs LaunchDarkly](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-launchdarkly-alternatives/devcycle-compare.png)
### Why do companies use DevCycle?
@@ -479,4 +481,4 @@ We're biased, obviously, but we think PostHog is the perfect LaunchDarkly replac
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,13 +1,15 @@
---
title: The best LogRocket alternatives & competitors, compared
title: 'The best LogRocket alternatives & competitors, compared'
date: 2023-11-14
author: ["ian-vanagas"]
author:
- ian-vanagas
rootpage: /blog
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
- Comparisons
- Comparisons
---
import { ComparisonTable } from 'components/ComparisonTable'
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2Bs and startups
![posthog](../images/screenshots/session-replay.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/session-replay.png)
### What is PostHog?
@@ -88,7 +90,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Business analysts, product support, marketers
- **Typical customers:** Enterprise B2C companies, retail, and financial services
![Glassbox](../images/blog/best-logrocket-alternatives/glassbox.png)
![Glassbox](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/glassbox.png)
### What is Glassbox?
@@ -156,7 +158,7 @@ According to G2 reviews, customers use Glassbox for:
- **Typical users:** Developers, infrastructure teams
- **Typical customers:** B2C and B2B SaaS software with complicated products.
![Sentry](../images/blog/best-logrocket-alternatives/sentry.png)
![Sentry](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/sentry.png)
### What is Sentry?
@@ -220,7 +222,7 @@ G2 reviews are big fans of these three benefits of Sentry:
- **Typical users:** Engineers, business analysts, product managers
- **Typical customers:** Enterprise retail and ecommerce websites and apps
![Smartlook](../images/blog/best-logrocket-alternatives/smartlook.png)
![Smartlook](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/smartlook.png)
### What is Smartlook?
@@ -284,7 +286,7 @@ According to G2 reviewers, Smartlook users benefit from:
- **Typical users:** Product managers, customer success, and support
- **Typical customers:** Online retailers and SaaS companies
![FullStory](../images/blog/best-logrocket-alternatives/fullstory.png)
![FullStory](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/fullstory.png)
### What is FullStory?
@@ -348,7 +350,7 @@ According to reviews on G2, companies use FullStory for:
- **Typical users:** Product managers and customer success teams
- **Typical customers:** Small and mid-market B2C apps
![Pendo](../images/blog/best-logrocket-alternatives/pendo.png)
![Pendo](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/pendo.png)
### What is Pendo?
@@ -410,7 +412,7 @@ According to G2 reviews, customers use Pendo for:
- **Typical users:** Product designers, researchers, and marketers
- **Typical customers:** Ecommerce and content-driven sites
![Hotjar](../images/blog/best-logrocket-alternatives/hotjar.png)
![Hotjar](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/hotjar.png)
### What is Hotjar?
@@ -479,4 +481,4 @@ We're biased, obviously, but we think PostHog is the perfect LogRocket replaceme
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,13 +1,15 @@
---
title: The best Microsoft Clarity alternatives & competitors, compared
title: 'The best Microsoft Clarity alternatives & competitors, compared'
date: 2024-02-29
author: ["andy-vandervell"]
author:
- andy-vandervell
rootpage: /blog
featuredImage: ../images/blog/clarity-alternatives/clarity-alternatives.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/clarity-alternatives/clarity-alternatives.png
featuredImageType: full
category: General
tags:
- Comparisons
- Comparisons
---
import { ComparisonTable } from 'components/ComparisonTable'
@@ -20,7 +22,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers and product teams
- **Typical customers:** Mid-size B2B/B2C companies and startups
![posthog](../images/screenshots/session-replay.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/session-replay.png)
### What is PostHog?
@@ -83,7 +85,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Product managers, engineers, support teams
- **Typical customers:** B2B SaaS, B2C retail companies.
![LogRocket](../images/blog/best-fullstory-alternatives/logrocket.webp)
![LogRocket](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-fullstory-alternatives/logrocket.webp)
### What is LogRocket?
@@ -141,7 +143,7 @@ Reviews on G2.com suggest companies use LogRocket because it:
- **Typical users:** Product managers, customer success, and support
- **Typical customers:** Online retailers and SaaS companies
![FullStory](../images/blog/best-logrocket-alternatives/fullstory.png)
![FullStory](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/fullstory.png)
### What is FullStory?
@@ -200,7 +202,7 @@ According to reviews on G2, companies use FullStory for:
- **Typical users:** UX designers, marketers and product managers
- **Typical customers:** Mid-size companies, delivery, retail and marketplace apps
![uxcam](../images/blog/clarity-alternatives/uxcam.png)
![uxcam](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clarity-alternatives/uxcam.png)
### What is UXCam?
@@ -257,7 +259,7 @@ According to G2 reviews, UXCam helps companies:
- **Typical users:** Marketers and consultants
- **Typical customers:** Small e-commerce businesses and agencies
![luckyorange](../images/blog/clarity-alternatives/luckyorange.png)
![luckyorange](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clarity-alternatives/luckyorange.png)
### What is Lucky Orange?
@@ -318,7 +320,7 @@ According to [reviews on G2](https://www.g2.com/products/lucky-orange/reviews.ht
- **Typical users:** Product designers, researchers, and marketers
- **Typical customers:** E-commerce and content-driven sites
![Hotjar](../images/blog/best-logrocket-alternatives/hotjar.png)
![Hotjar](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-logrocket-alternatives/hotjar.png)
### What is Hotjar?
@@ -377,7 +379,7 @@ According to G2 reviews, users are fans of Hotjar because:
- **Typical users:** Marketing and UX teams
- **Typical customers:** SMB and enterprises in retail
![mouseflow](../images/blog/clarity-alternatives/mouseflow.png)
![mouseflow](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clarity-alternatives/mouseflow.png)
### What is Mouseflow?
@@ -441,4 +443,4 @@ We're biased, obviously, but we think PostHog is the perfect Clarity replacement
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,12 +1,14 @@
---
title: "The most popular Mixpanel alternatives & competitors, compared"
title: 'The most popular Mixpanel alternatives & competitors, compared'
date: 2023-10-04
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
category: General
tags:
@@ -18,7 +20,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
## 1. PostHog
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
### What is PostHog?
@@ -71,7 +73,7 @@ According to [data compiled by Jason Packer](https://www.linkedin.com/posts/jhpa
As of July 2023, **PostHog** is deployed by 2,365 (0.2%) of the top 1 million websites in 2023, up +327% from 554 the previous year. **Mixpanel** is deployed by 5,218 (0.5%), down -17% from 6,295 the previous year.
![posthog](../images/blog/mixpanel-alternatives/posthog.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/posthog.png)
### Why do companies use PostHog?
@@ -90,7 +92,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
## 2. Google Analytics 4 (GA4)
![GA4](../images/blog/mixpanel-alternatives/google-website.png)
![GA4](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/google-website.png)
### What is Google Analytics 4?
@@ -140,7 +142,7 @@ Google Analytics remains the most-used analytics tool in the world by a large ma
As of July 2023, [30.5% of the top 1 million websites](https://www.linkedin.com/posts/jhpacker_just-updated-the-popularity-numbers-on-my-activity-7112462135120601088-YLdh/) run GA4 another 35.7% were still running GA3.
![GA4](../images/blog/mixpanel-alternatives/GA4.png)
![GA4](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/GA4.png)
### Why do companies use GA4?
@@ -157,7 +159,7 @@ As of July 2023, [30.5% of the top 1 million websites](https://www.linkedin.com/
## 3. Amplitude
![amplitude](../images/blog/mixpanel-alternatives/amplitude-website.png)
![amplitude](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/amplitude-website.png)
### What is Amplitude?
@@ -203,7 +205,7 @@ Amplitude is slightly more popular than Mixpanel, according to [data compiled by
As of July 2023, Amplitude is deployed by 6,973 (0.7%) of the top 1 million websites in 2023. Mixpanel is deployed by 5,218 (0.5%).
![amplitude](../images/blog/mixpanel-alternatives/ammplitude.png)
![amplitude](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/ammplitude.png)
### Why do companies use Amplitude?
@@ -220,7 +222,7 @@ As of July 2023, Amplitude is deployed by 6,973 (0.7%) of the top 1 million webs
## 4. Heap
![heap](../images/blog/mixpanel-alternatives/heap-website.png)
![heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/heap-website.png)
### What is Heap?
@@ -268,7 +270,7 @@ Mixpanel also offers a more generous free tier of up to 20 million events; Heap
Heap is less popular than Mixpanel. According to BuiltWith, Heap is deployed on 4,221 (0.4%) of the top 1 million websites, while Mixpanel is used by 6,300.
![heap](../images/blog/mixpanel-alternatives/heap.png)
![heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/mixpanel-alternatives/heap.png)
### Why do companies use Heap?
@@ -295,4 +297,4 @@ This guide focuses on the most popular Mixpanel alternatives, but these aren't t
- **[June](https://www.june.so/)**, a lightweight take on product analytics that focuses on auto generated reports. It's popular among seed stage and Series A B2B SaaS startups, though its free tier includes only 1,000 active monthly users.
<ArrayCTA />
<ArrayCTA />

View File

@@ -2,7 +2,8 @@
date: 2023-12-04
title: The 9 best mobile app A/B testing tools
rootPage: /blog
featuredImage: ../images/blog/open-source-testing-tools/testinghog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/open-source-testing-tools/testinghog.png
featuredImageType: full
author:
- lior-neu-ner
@@ -26,7 +27,7 @@ A/B tests are a great way to confirm that your product changes have the intended
- **Get started without talking to sales:** <span className="text-green text-lg">✔</span>
- **Best for:** Engineering and product teams
![posthog](../images/screenshots/ab-testing.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/ab-testing.png)
### What is PostHog?
@@ -60,7 +61,7 @@ While PostHog is open source, its A/B testing features aren't included in the op
- **Get started without talking to sales:** <span className="text-green text-lg">✔</span>
- **Best for:** Non-technical teams
![VWO mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/vwo-testing.png)
![VWO mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/vwo-testing.png)
### What is VWO?
@@ -92,7 +93,7 @@ Lastly, if you also want to run server-side tests, you also need to purchases a
- **Get started without talking to sales:** <span className="text-red text-lg">✖</span>
- **Best for:** Marketing teams
![Optimizely mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/optimizely-testing.png)
![Optimizely mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/optimizely-testing.png)
### What is Optimizely?
@@ -122,7 +123,7 @@ Optimizely's pricing is sales-driven and completely opaque, so it's not clear ho
- **Get started without talking to sales:** <span className="text-green text-lg">✔</span>
- **Best for:** Apps already using Firebase's other features
![Firebase mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/firebase.png)
![Firebase mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/firebase.png)
### What is Firebase A/B testing?
@@ -152,7 +153,7 @@ A/B testing with Firebase is completely free.
- **Get started without talking to sales:** <span className="text-red text-lg">✖</span>
- **Best for:** E-commerce and healthcare companies
![Kameleoon mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/kameleoon.png)
![Kameleoon mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/kameleoon.png)
### What is Kameleoon?
@@ -182,7 +183,7 @@ Kameleoon doesn't publish pricing publicly, but conversion optimization consulta
- **Get started without talking to sales:** <span className="text-green text-lg">✔</span>
- **Best for:** Product teams in high-growth startups
![Statsig mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/statsig.png)
![Statsig mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/statsig.png)
### What is Statsig?
@@ -212,7 +213,7 @@ Statsig has a free tier with an allowance of 1 million events. After that, you'l
- **Get started without talking to sales:** <span className="text-red text-lg">✖</span>
- **Best for:** Engineering and product teams
![LaunchDarkly mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/launch-darkly.png)
![LaunchDarkly mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/launch-darkly.png)
### What is LaunchDarkly?
@@ -244,7 +245,7 @@ Experimentation is available on LaunchDarkly's Pro plan, which costs $20 per sea
- **Get started without talking to sales:** <span className="text-red text-lg">✖</span>
- **Best for:** Product and marketing teams
![Taplytics mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/taplytics.jpeg)
![Taplytics mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/taplytics.jpeg)
### What is Taplytics?
@@ -272,7 +273,7 @@ Taplytics don't share their pricing publicly, so it's not clear how much it cost
- **Get started without talking to sales:** <span className="text-red text-lg">✖</span>
- **Best for:** Product teams in large enterprisess
![Apptimize mobile app A/B tests](../images/blog/best-mobile-app-ab-testing-tools/apptimize.png)
![Apptimize mobile app A/B tests](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-mobile-app-ab-testing-tools/apptimize.png)
### What is Apptimize?
@@ -309,4 +310,4 @@ Apptimize don't share their pricing publicly. You need to ask sales for a custom
- [The 6 best free and open-source A/B testing tools](/blog/best-open-source-ab-testing-tools)
- [The 7 best free and open-source feature flag tools](/blog/best-open-source-feature-flag-tools)
- [The 9 best GDPR-compliant analytics tools](/blog/best-gdpr-compliant-analytics-tools)
- [The 9 best GDPR-compliant analytics tools](/blog/best-gdpr-compliant-analytics-tools)

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/open-source-testing-tools/testinghog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/open-source-testing-tools/testinghog.png
featuredImageType: full
author:
- hanna-crombie
@@ -28,7 +29,7 @@ In this guide, we're looking at the best free and open-source A/B testing tools.
## 1. PostHog
![posthog](../images/screenshots/ab-testing.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/ab-testing.png)
[PostHog](https://posthog.com) is an [open-source analytics platform](/blog/best-open-source-analytics-tools) that integrates a comprehensive A/B testing suite with numerous other tools, such as product analytics, feature flags, and session recording. It's designed for product-minded engineers, growth teams, and product managers who need to move fast and iterate based on reliable, actionable insights.
@@ -56,7 +57,7 @@ Experimentation is free-to-use on PostHog's Scale plan, which is also [free up t
## 2. GrowthBook
![GrowthBook - best open source ab testing tools](../images/blog/open-source-testing-tools/growthbook.png)
![GrowthBook - best open source ab testing tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/growthbook.png)
[GrowthBook](https://www.growthbook.io/) is an [open-source platform for feature flags](/blog/best-open-source-feature-flag-tools) and A/B tests that helps teams to deploy code efficiently and analyze experiments. Built by engineers who wanted better insights on new releases, it is a modular solution that promotes feature flagging as an essential step in the development process and can be used as a full-stack platform, a plugin feature flagging tool, or an analysis engine.
@@ -77,7 +78,7 @@ GrowthBook open source (MIT license) is free and includes unlimited experiments.
## 3. Unleash
![Unleash - best open source ab testing tools](../images/blog/open-source-testing-tools/img2_Unleash.png)
![Unleash - best open source ab testing tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/img2_Unleash.png)
[Unleash](https://www.getunleash.io/) is a feature management platform that provides an overview of all features across your applications and services. The platform empowers engineering teams to implement A/B tests via feature toggles and offers accurate user targeting.
@@ -100,7 +101,7 @@ Unleashs basic open source self-hosted plan includes A/B experimentation and
## 4. Mojito
![Unleash - best open source ab testing tools](../images/blog/open-source-testing-tools/img3_Mojito.png)
![Unleash - best open source ab testing tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/img3_Mojito.png)
[Mojito](https://mojito.mx/) is an open split testing stack that lets you build, launch and analyze experiments via Git/CI. The stripped-down tool consists of three modular components a front-end library for bucketing users and tracking them, data models and events for fast reporting, and reporting templates and functions, so you can build your own visualizations for experiment analysis.
@@ -121,7 +122,7 @@ Mojito is completely free and open source, and you dont need an account to ge
## 5. Flagsmith
![Flagsmith - best open source ab testing tools](../images/blog/open-source-testing-tools/img4_Flagsmith.png)
![Flagsmith - best open source ab testing tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/img4_Flagsmith.png)
[Flagsmith](https://flagsmith.com) is an open-source feature flag and remote configuration service that lets you manage features across mobile, web and server-side applications. You can use Flagsmiths multivariate flags as a bucketing engine to place users into testing buckets and control the specific user experience that is being tested. Flagsmith doesnt provide analytics for multivariate tests, however, so youll need to use a third-party provider to receive the stream of event data derived from the behavior of the user.
@@ -142,7 +143,7 @@ Flagsmith is open source and available on a BSD 3-clause license. For teams look
## 6. VWO
![google optimize alternatives](../images/blog/google-optimize-alternatives/vwo-testing.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/vwo-testing.png)
[VWO](https://vwo.com/)'s testing platform caters mainly to large enterprises, but it recently introduced a free tier to entice companies leaving the [soon-to-be-closed Google Optimize](/blog/google-optimize-alternatives). Its experimentation platform offers A/B and multivariate tests, as well as a visual editor. However, many useful features are only available in its paid tiers the free tier only supports A/B tests using split URLs and doesn't support multiple variations or geo-targeting.
@@ -152,4 +153,4 @@ VWO's free tier is useful for non-technical users who need an easy-to-use (and f
### How much does VWO cost?
VWO's Starter plan is free up to 50k visitors per month, and $199 per month up to 100k visitors per month.
VWO's Starter plan is free up to 50k visitors per month, and $199 per month up to 100k visitors per month.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/posthog-company-culture-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-company-culture-blog.png
featuredImageType: full
category: General
tags:
@@ -42,7 +43,7 @@ We maintain separate guides on [open-source feature flag tools](/blog/best-open-
### 1. PostHog
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
- **GitHub Stars:** 14.4k
- **Category:** Product and website analytics
@@ -80,7 +81,7 @@ PostHog is useful for engineering, data science, and product teams. As an all-in
Subscribing to PostHog Cloud removes the project limit and adds numerous paid-only features, including experimentation, correlation analysis, group analytics for tracking organizations, and advanced cohorts. PostHog Cloud is [free up to 1 million events per month](/pricing).
### 2. Matomo
![Matomo - open source analytics tools](../images/blog/open-source-analytics-tools/matomo-screenshot.png)
![Matomo - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/matomo-screenshot.png)
- **GitHub Stars:** 18.4k
- **Category:** Website analytics
@@ -108,7 +109,7 @@ Matomo on-premise is available under a AGPLv3 license. It includes Matomo's core
**Related:** [In-depth PostHog vs Matomo comparison](/blog/posthog-vs-matomo)
### 3. Metabase
![Metabase - open source analytics tools](../images/blog/open-source-analytics-tools/metabase-screenshot.png)
![Metabase - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/metabase-screenshot.png)
- **GitHub Stars:** 34.9k
- **Category:** Dashboarding and business intelligence
@@ -134,7 +135,7 @@ Metabase's drag-and-drop interface makes it accessible for technical and non-tec
Metabase is available under a AGPL license. A limited version of the product is available for free, while an Enterprise license is available for a cost. Check [the Metabase repo](https://github.com/metabase/metabase) for more information.
### 4. Plausible Analytics
![Plausible Analytics - open source analytics tools](../images/blog/open-source-analytics-tools/plausible-screenshot.png)
![Plausible Analytics - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/plausible-screenshot.png)
- **GitHub Stars:** 16.8k
- **Category:** Website analytics
@@ -162,7 +163,7 @@ Plausible Analytics is available under a AGPLv3 license and can be self-hosted v
> **Also consider:** Plausible is one of a large subset of privacy-first analytics products that have proven popular in the wake of GDPR and less permissive attitudes to user tracking. [Umami](https://umami.is/) is another popular, open-source product in this space. Read our [GDPR analytics guide](/blog/best-gdpr-compliant-analytics-tools) for more options.
### 5. Grafana
![Grafana - open source analytics tools](../images/blog/open-source-analytics-tools/grafana-screenshot.png)
![Grafana - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/grafana-screenshot.png)
- **GitHub Stars:** 58k
- **Category:** Dashboarding and data observability
@@ -191,7 +192,7 @@ Grafana is available to self-host under an AGPLv3 license. Grafana Cloud also ha
### 6. Umami
![umami analytics](../images/blog/open-source-analytics-tools/umami.png)
![umami analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/umami.png)
- **GitHub Stars:** 16.9k
- **Category:** Website analytics
@@ -219,7 +220,7 @@ Umami is available via an MIT license. The cloud hosted option is free up to 10k
### 7. OpenReplay
![openreplay - open source analytics tools](../images/blog/open-source-analytics-tools/openreplay.png)
![openreplay - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/openreplay.png)
- **GitHub Stars:** 8.2k
- **Category:** Session replay and funnel analysis
@@ -246,7 +247,7 @@ OpenReplay is available under the ELv2 license. An Enterprise version adds addit
### 8. GrowthBook
![GrowthBook - best open source analytics tools](../images/blog/open-source-testing-tools/growthbook.png)
![GrowthBook - best open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/growthbook.png)
- **GitHub Stars:** 5.1k
- **Category:** Experimentation
@@ -277,7 +278,7 @@ GrowthBook is ideal for engineering teams who want flexible, instant control ove
GrowthBook is distributed under an MIT license and self-hosted is supported at no cost. The cloud version is free for up to three users, and $20 per user per month thereafter.
### 9. Redash
![Redash - open source analytics tools](../images/blog/open-source-analytics-tools/redash.png)
![Redash - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/redash.png)
- **GitHub Stars:** 24.1k
- **Category:** Dashboarding and business intelligence
@@ -305,7 +306,7 @@ Redash is ideal for engineering and data teams who want lots of flexibility for
Redash is distributed via a BSD-2-Clause license. It currently has no paid tiers or limitations.
### 10. Apache Superset
![superset - open source analytics tools](../images/blog/open-source-analytics-tools/superset.png)
![superset - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/superset.png)
- **GitHub Stars:** 55.3k
- **Category:** Dashboarding and business intelligence
@@ -334,7 +335,7 @@ Superset is ideal for enterprises with experienced in-house data teams. It can h
Apache Superset is distributed under an Apache-2.0 license. There are no paid features or tiers.
### 11. Countly
![Countly - open source analytics tools](../images/blog/open-source-analytics-tools/countly-screenshot.png)
![Countly - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/countly-screenshot.png)
- **GitHub Stars:** 5.3k
- **Category:** Product analytics
@@ -362,7 +363,7 @@ Countly's Community Edition is available under a AGPLv3 license, but it's somewh
### 12. Open Web Analytics
![open web analytics](../images/blog/open-source-analytics-tools/owa.png)
![open web analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/owa.png)
- **GitHub Stars:** 2.2k
- **Category:** Website analytics
@@ -388,4 +389,4 @@ OWA suits developers who want self-hosted analytics, but desire more tracking ca
- Basic campaign and e-commerce tracking
#### Open source license and monetization
Open Web Analytics is distributed under the GPL-2.0 license. There are no paid features.
Open Web Analytics is distributed under the GPL-2.0 license. There are no paid features.

View File

@@ -5,12 +5,13 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/posthog-company-culture-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-company-culture-blog.png
featuredImageType: full
author:
- andy-vandervell
category: General
tags:
tags:
- Open source
---
@@ -31,7 +32,7 @@ While it's tempting to [build your own tools](/blog/feature-flags-as-a-service),
- **GitHub stars:** 14.8k
- [PostHog on GitHub](https://github.com/PostHog/posthog)
![PostHog](../images/screenshots/feature-flags.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/feature-flags.png)
#### What is PostHog?
@@ -61,7 +62,7 @@ There are no limits on feature flag usage in the open-source edition, though A/B
- **GitHub stars:** 9k
- [Flagsmith on GitHub](https://github.com/Unleash/unleash)
![unleash](../images/blog/open-source-feature-flags/unleash.png)
![unleash](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/unleash.png)
#### What is Unleash?
@@ -85,7 +86,7 @@ Unleash is free for two environments when you self-host. A managed version is al
- **GitHub stars:** 5.2k
- [GrowthBook on GitHub](https://github.com/growthbook/growthbook/)
![GrowthBook](../images/blog/open-source-feature-flags/growthbook.png)
![GrowthBook](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/growthbook.png)
#### What is GrowthBook?
@@ -109,7 +110,7 @@ Growthbooks open source self-hosted plan is free forever, with unlimited flag
- **GitHub stars:** 3.4k
- [Flagsmith on GitHub](https://github.com/Flagsmith/flagsmith)
![Flagsmith](../images/blog/open-source-feature-flags/flagsmith.png)
![Flagsmith](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/flagsmith.png)
#### What is Flagsmith?
@@ -135,7 +136,7 @@ Flagsmith is free up to 50,000 requests per month when you choose the cloud feat
- **GitHub stars:** 3k
- [Flipt on GitHub](https://github.com/flipt-io/flipt)
![flipt](../images/blog/open-source-feature-flags/flipt.png)
![flipt](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/flipt.png)
#### What is Flipt?
@@ -153,7 +154,7 @@ Nothing. There is no paid version of Flipt. It's distributed under a GPL-3.0 lic
### 6. Flipper
![flipper](../images/blog/open-source-feature-flags/flipper.png)
![flipper](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/flipper.png)
- **License:** MIT
- **GitHub stars:** 3.4k
@@ -175,7 +176,7 @@ In addition to the free open-source edition, Flipper also offers a cloud-hosted
- **GitHub stars:** 1.1k
- [FeatBit on GitHub](https://github.com/featbit/featbit)
![featbit](../images/blog/open-source-feature-flags/featbit.png)
![featbit](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/featbit.png)
#### What is FeatBit?
@@ -197,7 +198,7 @@ All features are completely free. FeatBit monetizes its platform by offering pre
- **GitHub Stars:** 276
- [Feature Hub on GitHub](https://github.com/featurehub-io)
![featurehub](../images/blog/open-source-feature-flags/feature-hub.png)
![featurehub](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-feature-flags/feature-hub.png)
#### What is FeatureHub?

View File

@@ -5,9 +5,10 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/open-source-hotjar-alternatives/replayhog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/open-source-hotjar-alternatives/replayhog.png
featuredImageType: full
featuredVideo: https://www.youtube-nocookie.com/embed/mWW3lJw81LE
featuredVideo: 'https://www.youtube-nocookie.com/embed/mWW3lJw81LE'
author:
- hanna-crombie
- andy-vandervell
@@ -33,7 +34,7 @@ Hotjar and [Fullstory](/blog/best-fullstory-alternatives) are popular session re
> - **Mar 16, 2023:** Removed SessionStack, added Highlight.io. Updated copy and screenshots.
## 1. PostHog
![PostHog](../images/screenshots/session-replay.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/session-replay.png)
[PostHog](https://posthog.com/) is an all-in-one, Product OS that offers all the tools required to build better products, including but not limited to [session replay](/product/session-recording).
@@ -63,7 +64,7 @@ PostHog Cloud is free up to 1 million captured events and 5,000 recordings per m
You can also self-host PostHog Open Source (available under an MIT license) using Docker Compose, though PostHog Cloud is recommended for event volumes exceeding 100k per month.
## 2. OpenReplay
![OpenReplay - open source session replay](../images/blog/open-source-hotjar-alternatives/img2_OpenReplay.png)
![OpenReplay - open source session replay](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-hotjar-alternatives/img2_OpenReplay.png)
[OpenReplay](https://openreplay.com/) is an open-source [alternative to Microsoft Clarity](/blog/best-microsoft-clarity-alternatives) that offers more advanced, technical features for engineers on top of basic session replay. Its tooling is particularly effective for application state and customer support. It has some basic analytics features, such as funnel analysis, though it falls some way short of feature-complete product analytics tools.
@@ -85,7 +86,7 @@ OpenReplays self-hosted plan is available for free. It also offers a cloud op
## 3. Highlight.io
![higlightio](../images/blog/open-source-hotjar-alternatives/highlightio.png)
![higlightio](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-hotjar-alternatives/highlightio.png)
[Highlight.io](https://www.highlight.io/) is a popular open-source monitoring platform that's similar, in some ways, to OpenReplay. Core features include session replay with console logs and network monitoring, error monitoring, and customizable log alerts. It lacks some of OpenReplay's additional features, such as click maps and customer support features.
@@ -105,7 +106,7 @@ Highlight.io is a developer focused tool with a particular focus on debugging us
You can self-host for free Highlight.io recommends an upper limit of 10k sessions and 50k errors per month for hobby deployments. The managed cloud service is free up to 500 monthly sessions and 1,000 errors. Costs thereafter vary depending on usage and retention requirements.
## 4. UXWizz
![UXWizz - self hosted session replay](../images/blog/open-source-hotjar-alternatives/img3_UXWizz.png)
![UXWizz - self hosted session replay](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-hotjar-alternatives/img3_UXWizz.png)
[UXWizz](https://www.uxwizz.com/) is a simplified, self-hosted product analytics tool offering features like visitor insights, session recording, segments and A/B testing.
@@ -128,7 +129,7 @@ UXWizz is a good choice for individuals and small businesses who want quick, qua
UXWizz is available as a self-hosted solution only and with prices starting at £129 for a lifetime license, including 1-year support. Additional updates and support are priced as add-on subscriptions.
## 5. UXlens
![UXlens - self hosted session replay](../images/blog/open-source-hotjar-alternatives/img4_UXlens.png)
![UXlens - self hosted session replay](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-hotjar-alternatives/img4_UXlens.png)
[UXlens](https://uxlens.com/) is a developer-first session recording tool that provides insight into user interface and conversion issues. It does not include any additional analytics tools, but does have useful segment filtering features that help businesses locate blocks in their funnel.
@@ -147,7 +148,7 @@ UXlens is a good choice for UX designers and product teams who want to study the
The cloud version starts at just $6 per month for 6,000 recordings. Lifetime self-host licenses start at $200.
## 6. [Matomo](https://matomo.org/)
![Matomo - open source GA alternative](../images/blog/open-source-hotjar-alternatives/Matomo-session-recording.png)
![Matomo - open source GA alternative](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-hotjar-alternatives/Matomo-session-recording.png)
Matomo is an open web analytics platform. Touted as an alternative to Google Analytics, Matomo is largely focused on understanding marketing website analytics. Session recording is available as an add-on via the [on-premise marketplace](https://plugins.matomo.org/HeatmapSessionRecording).

View File

@@ -1,12 +1,14 @@
---
title: The best Pendo alternatives & competitors, compared
title: 'The best Pendo alternatives & competitors, compared'
date: 2024-01-26
author: ["ian-vanagas"]
author:
- ian-vanagas
rootpage: /blog
featuredImage: ../images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-alternatives/posthog-alternatives.jpeg
featuredImageType: full
tags:
- Comparisons
- Comparisons
---
import { ComparisonTable } from 'components/ComparisonTable'
@@ -19,7 +21,7 @@ import { ComparisonRow } from 'components/ComparisonTable/row'
- **Typical users:** Engineers, product, and growth teams
- **Typical customers:** Mid-size product-focused B2Bs and startups
![PostHog](../images/blog/best-pendo-alternatives/posthog.png)
![PostHog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/posthog.png)
### What is PostHog?
@@ -84,7 +86,7 @@ According to [reviews on G2](https://www.g2.com/products/posthog/reviews), compa
- **Typical users:** Enterprise healthcare, financial services, and HR companies
- **Typical customers:** Education and training teams, HR
![Whatfix](../images/blog/best-pendo-alternatives/whatfix.png)
![Whatfix](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/whatfix.png)
### What is Whatfix?
@@ -147,7 +149,7 @@ Looking at G2 reviews, users are fans of the following features of Whatfix:
- **Typical users:** Product designers, researchers, and marketers
- **Typical customers:** Ecommerce and content-driven sites
![Hotjar](../images/blog/best-pendo-alternatives/hotjar.png)
![Hotjar](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/hotjar.png)
### What is Hotjar?
@@ -208,7 +210,7 @@ According to G2 reviews, users are fans of Hotjar because:
- **Typical users:** HR, IT, and training teams.
- **Typical customers:** Enterprises with large staffs like consultancies, healthcare, and sales.
![WalkMe](../images/blog/best-pendo-alternatives/walkme.png)
![WalkMe](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/walkme.png)
### What is WalkMe?
@@ -267,7 +269,7 @@ Looking at G2 reviews, users like WalkMe the most for:
- **Typical users:** Product and marketing teams
- **Typical customers:** B2C SaaS and ecommerce companies with a user experience focus.
![Heap](../images/blog/best-pendo-alternatives/heap.png)
![Heap](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/heap.png)
### What is Heap?
@@ -330,7 +332,7 @@ According to G2 reviews, companies like these three areas of Heap:
- **Typical users:** Product marketing and growth teams, product managers
- **Typical customers:** Product-led B2B SaaS companies
![Appcues](../images/blog/best-pendo-alternatives/appcues.png)
![Appcues](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/appcues.png)
### What is Appcues?
@@ -391,7 +393,7 @@ Looking at G2 reviews, they appreciate the following about Appcues:
- **Typical users:** Engineers, business analysts, product managers
- **Typical customers:** Enterprise retail and ecommerce websites and apps
![Smartlook](../images/blog/best-pendo-alternatives/smartlook.png)
![Smartlook](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/best-pendo-alternatives/smartlook.png)
### What is Smartlook?
@@ -457,4 +459,4 @@ We're biased, obviously, but we think PostHog is the perfect Pendo replacement i
Check out [our product pages](/product-analytics) and [read our docs](/docs) to learn more.
<ArrayCTA />
<ArrayCTA />

View File

@@ -1,12 +1,16 @@
---
date: 2021-09-21
title: Building the future of game analytics - An interview with PureSkill.gg CTO, Evan Sosenko
title: >-
Building the future of game analytics - An interview with PureSkill.gg CTO,
Evan Sosenko
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ['joe-martin']
featuredImage: ../images/blog/posthog-game-analytics-pureskill.png
author:
- joe-martin
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-game-analytics-pureskill.png
featuredImageType: full
---

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/data-management-feature/posthog-data-management.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/data-management-feature/posthog-data-management.png
featuredImageType: full
author:
- simon-fisher

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/wren.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/wren.png
featuredImageType: full
category: Inside PostHog
---

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- james-hawkins
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
category: CEO diaries
---
@@ -18,7 +19,7 @@ _We are open source_ is [literally our top value](../handbook/company/values)...
Product analytics is a busy space. It reminds me of the _front_ entrance to Liverpool Street station in London:
![Liverpool Street Front Entrance - lots of people](../images/blog/CEO-diary-1/liverpool-st-station.jpg)
![Liverpool Street Front Entrance - lots of people](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/CEO-diary-1/liverpool-st-station.jpg)
PostHog Fact: Tim (my co-founder) incorrectly believes this is the side entrance - it's one of our greatest disagreements.
@@ -42,7 +43,7 @@ A winning strategy for us involves:
PostHog started off as an open source project. We started getting emails like this one, which is from a 30k employee corporate that you'll have heard of:
![An email from a potential customer saying they have extreme interest](../images/blog/CEO-diary-1/extreme-interest.jpg)
![An email from a potential customer saying they have extreme interest](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/CEO-diary-1/extreme-interest.jpg)
Weirdly enough, at the time, we felt we provided a _worse_ experience to paying customers like this than to free users.
@@ -62,7 +63,7 @@ They appeared to be from a wide range of industries, so we thought about the _Ne
This is what we're seeing:
![Customer problems they have in common](../images/blog/CEO-diary-1/customer-dna.jpg)
![Customer problems they have in common](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/CEO-diary-1/customer-dna.jpg)
## What's next

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- james-hawkins
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
category: CEO diaries
---

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- james-hawkins
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
category: CEO diaries
---
@@ -45,7 +46,7 @@ We did this:
* Reference = paying list price, genuinely delighted, using the product a lot
* Wrote out what they had in common along the way. We created a spreadsheet that looked a little like this:
![A spreadsheet showing company names listed alongside what they need and what they have](../images/5-reference-customers.png)
![A spreadsheet showing company names listed alongside what they need and what they have](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/5-reference-customers.png)
Note - we had to sell more than 5 deals, to get 5 reference customers. We also looked for antipatterns - when a customer wasn't having a great experience, what did they look like.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- james-hawkins
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
category: CEO diaries
---

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mo-shehu
featuredImage: ../images/blog/clickhouse-announcement.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/clickhouse-announcement.png
featuredImageType: full
category: PostHog news
tags:

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- karl-aksel-puulmann
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mathew-pregasen
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:
@@ -51,11 +52,11 @@ One of the reasons that BigQuery touts a feature-rich and friendly user-interfac
BigQuerys serverless architecture was novel at the time of its 2010 debut. Every BigQuery instance has variable storage units (distributed replicas) connected to variable compute units (calling slots); as an instances demands grow, so does its utilization of the storage and compute slots. Even today, this approach stands out — most databases parallelize compute, but not storage.
![BigQuery Architecture.png](../images/blog/clickhouse-vs-bigquery/bigquery-architecture.png)
![BigQuery Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/bigquery-architecture.png)
BigQuery extends many Google projects to make this happen. Specifically, BigQuery uses Colossus, Googles file storage system; Borg, Googles job scheduler; Dremel, a multi-tenant cluster that executes the queries; and Jupiter, Googles pentabit network. BigQuery works because Google has a massive general-purpose infrastructure designed for isolated storage and compute.
![Google Infra.png](../images/blog/clickhouse-vs-bigquery/google-infra.png)
![Google Infra.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/google-infra.png)
Amid being built on titanic infrastructure, BigQuery usually returns results in the order of _seconds_, not _milliseconds_, because it focuses on scalability, not per-query performance.
@@ -63,11 +64,11 @@ Amid being built on titanic infrastructure, BigQuery usually returns results in
ClickHouse utilizes a shared-nothing architecture where CPU, Storage, and Memory are stored in a single, beefy machine. While ClickHouse *does* support sharding databases across many physical instances managed under Apache Zookeeper, its fundamental design is monolithic. When you use ClickHouse (traditionally), everything is happening in the same place.
![Shared Nothing Architecture.png](../images/blog/clickhouse-vs-bigquery/shared-nothing-architecture.png)
![Shared Nothing Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/shared-nothing-architecture.png)
Accordingly, ClickHouse can scale in all three dimensions (storage, memory, and compute) by simply upgrading the machine. However, scaling isn't as straightforward compared to BigQuery — compute cannot be added on a whim to the same instance, though you can add additional disks to an instance to scale capacity.
![Clickhouse_ 3 Dimensions.png](../images/blog/clickhouse-vs-bigquery/clickhouse-3-dimensions.png)
![Clickhouse_ 3 Dimensions.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/clickhouse-3-dimensions.png)
ClickHouses magic happens in the way it compresses data, pre-aggregates data, and uses specialized engines accessing a devices full compute potential. If BigQuery is a commercial airliner, then ClickHouse is a fighter jet.
@@ -75,7 +76,7 @@ ClickHouses magic happens in the way it compresses data, pre-aggregates data,
ClickHouse Cloud flips ClickHouses monolithic architecture on its head. ClickHouse Cloud is ClickHouse Inc.s paid offering that helps bridge the gap between ClickHouse and BigQuery. Not only does ClickHouse Cloud provide a UI for interfacing with ClickHouse like BigQuery, it deploys ClickHouse on decoupled storage and compute on AWS.
![ClickHouse Cloud Architecture.png](../images/blog/clickhouse-vs-bigquery/clickhouse-cloud-architecture.png)
![ClickHouse Cloud Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/clickhouse-cloud-architecture.png)
ClickHouse Cloud is unquestionably modeled after BigQuery and GCP. It offers similar features, such as out-of-the-box integrations with ELT providers, an interactive SQL console, automated backups, caching, and automatic replication.
@@ -102,7 +103,7 @@ Most databases store data indexed via primary keys. When searching for that data
ClickHouse achieves a magnificent speed boost by using granulated storage. Each ClickHouse table has a primary key defined as a tuple of multiple columns. Data is then sorted by those columns, first by the first entry, then by the second, and onwards. Afterwards, sorted entries are broken into granules, which are fixed length mini-tables, by default 8192 entries long. ClickHouses big advancement is that it exclusively saves just the **first** entry to each granule.
![Granulated Storage.png](../images/blog/clickhouse-vs-bigquery/granulated-storage.png)
![Granulated Storage.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/granulated-storage.png)
Because data is sorted by primary key columns — and those columns are typically chosen based on whats used to index data — ClickHouse needs to scan ***significantly*** less data for most queries.
@@ -133,7 +134,7 @@ However, a tuned ClickHouse instance is faster. If analytical queries need to be
With this arrangement, BigQuery can act as a businesss core data warehouse with ClickHouse operating as a tuned execution runtime.
![Data FLow.png](../images/blog/clickhouse-vs-bigquery/data-flow.png)
![Data FLow.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-bigquery/data-flow.png)
In order to effectively connect ClickHouse and BigQuery, data needs to be streamed from BigQuery to ClickHouse. This can happen through Google Cloud Storage, or using Google DataFlow + Apache Beam. This does take some serious setup work (the ClickHouse + BigQuery connection is hardly “one-click”), but ClickHouse has a well-documented [process](https://clickhouse.com/blog/clickhouse-bigquery-migrating-data-for-realtime-queries) on it.

View File

@@ -1,12 +1,14 @@
---
date: 2023-01-13
title: "In-depth: ClickHouse vs Druid"
title: 'In-depth: ClickHouse vs Druid'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["mathew-pregasen"]
featuredImage: ../images/blog/posthog-engineering-blog.png
author:
- mathew-pregasen
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:
@@ -18,7 +20,7 @@ Contrary to what the names might suggest, ClickHouse isnt an TikTok influence
OLAP databases store data in a columnar format that is primed for aggregations, unlike online _transaction_ processing (OLTP) ones like mySQL (see below). But, while ClickHouse and Druid solve a fundamentally similar problem, they do so via dramatically different approaches.
![OLAP vs OLTP](../images/blog/clickhouse-vs-postgres/rows-vs-columns.png)
![OLAP vs OLTP](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/rows-vs-columns.png)
Products with massive volumes of data, like business intelligence tools, stock market trading books, and apps with lots of charts and graphs, can benefit from using OLAP databases.
@@ -48,7 +50,7 @@ ClickHouse's cornerstone principle is that ClickHouse should do the work for you
Here's what that looks like in practice:
![ClickHouse architecture diagram](../images/blog/clickhouse-vs-druid/clickhouse-architecture.png)
![ClickHouse architecture diagram](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-druid/clickhouse-architecture.png)
What is a materialized view? A materialized view, unlike a normal view, is a separate table of data generated at a specific time from the base tables. This makes running queries on data in materialized views more efficient (if set up correctly). Materialized views don't need to be re-queried before being queried from, unlike normal views.
@@ -69,7 +71,7 @@ Druid is all about modularity. Druid separates the query, data, and storage node
Lets take a look at a Druid setup:
![Druid architecture diagram](../images/blog/clickhouse-vs-druid/druid-architecture.png)
![Druid architecture diagram](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-druid/druid-architecture.png)
Druid is built for massive applications with unique data streaming needs. For instance, imagine an application that needs to take the last stock trade into account before returning a value.

View File

@@ -1,12 +1,14 @@
---
date: 2023-03-20
title: "In-depth: ClickHouse vs Elasticsearch"
title: 'In-depth: ClickHouse vs Elasticsearch'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["mathew-pregasen"]
featuredImage: ../images/blog/posthog-engineering-blog.png
author:
- mathew-pregasen
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:
@@ -18,11 +20,11 @@ Elasticsearch and ClickHouse are both open-source frameworks with advantages ove
Elasticsearch, as the name implies, was designed to power better search. It can efficiently return search results, such as grocery items on a grocers website, accounting for things such as spelling mistakes. It's the bedrock product for Elastic, which sells Elastic Cloud a managed solution that bundles Elasticsearch with other data products.
![Elasticsearch Development.png](../images/blog/clickhouse-vs-elastic/elasticsearch-development.png)
![Elasticsearch Development.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/elasticsearch-development.png)
ClickHouse, meanwhile, excels at aggregating data for uses like business analytics or financial statistics. While the database, ClickHouse, remains open source, it is managed by the for-profit ClickHouse Inc. ClickHouse Inc.s main offering is ClickHouse Cloud, a managed service similar to Elastic Cloud, just for deploying ClickHouse instead. However, ClickHouse also merges notable contributions by Altinity, a separate company that sells Altinity.Cloud, a managed service for deploying ClickHouse in Kubernetes.
![ClickHouse Development.png](../images/blog/clickhouse-vs-elastic/clickhouse-development.png)
![ClickHouse Development.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/clickhouse-development.png)
Elasticsearch and ClickHouse are interesting to compare because of their vastly different architecture, optimized for each of their respective goals. Comparing them is a good meditation on how physical and virtual layouts can improve efficiency toward a specific efficiency goal.
@@ -97,14 +99,14 @@ The three major core components of Elasticsearchs infrastructure are **indice
3. A **shard**, meanwhile, is the intersection of a specific *node* and a specific **index**. A **shard** is also a single instance of Apache Lucene. It is a collection of documents, such as two hundred user profiles of a total set of forty thousand.
![Elasticsearch effectively creates a cartesian layout of physical and virtual coordinates. ](../images/blog/clickhouse-vs-elastic/elasticsearch-structure.png)
![Elasticsearch effectively creates a cartesian layout of physical and virtual coordinates. ](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/elasticsearch-structure.png)
<Caption>Elasticsearch effectively creates a cartesian layout of physical and virtual coordinates.</Caption>
#### Inverted index
In each shard (or Apache Lucene instance) is an inverted index. An inverted index is like a glossary it stores a map of string components (such as words, numbers, or prefixes) for all the documents they are located in.
![Inverted indexes dramatically improve search time.](../images/blog/clickhouse-vs-elastic/inverted-index.png)
![Inverted indexes dramatically improve search time.](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/inverted-index.png)
<Caption>Inverted indexes dramatically improve search time.</Caption>
Inverted indexes dramatically speed up most queries. If a user queries for all the `Reviews` that use the word “outstanding”, Elasticsearch can return that collection extraordinarily fast because each shard in the `Reviews` index leverages an inverted index to find relevant `Reviews`, and Elasticsearch bundles `Reviews` into a single collection for the end user.
@@ -131,7 +133,7 @@ Elasticsearch nodes and shards arent just used to distribute data, but also r
Elasticsearch has two types of shards **primary shards** and **replica shards**. Replica shards are an **exact** copy of a primary shard should a primary shard become unavailable. A primary shard and a respective replica shard reference the same set of data. Therefore, they should never be located on the same node.
![Elasticsearch can replicate data at scale without having to replicate the entire database.](../images/blog/clickhouse-vs-elastic/elasticsearch-structure.png)
![Elasticsearch can replicate data at scale without having to replicate the entire database.](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/elasticsearch-structure.png)
<Caption>Elasticsearch can replicate data at scale without having to replicate the entire database.</Caption>
Replica shards help database operations in two distinct ways:
@@ -154,7 +156,7 @@ There are three major components that enable ClickHouse to return aggregations,
ClickHouses columnar layout which flips rows and columns in storage relative to a MySQL database makes aggregations efficient.
![ClickHouses biggest magic trick really comes down to swapping rows and columns ](../images/blog/clickhouse-vs-elastic/row-vs-column-database.png)
![ClickHouses biggest magic trick really comes down to swapping rows and columns ](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/row-vs-column-database.png)
<Caption>ClickHouses biggest magic trick really comes down to swapping rows and columns</Caption>
When databases physically access data, they scan data row-by-row. By extension, if an analyst is trying to calculate the average value of bank account balances in a PostgreSQL database, they would need to access **every** bank account row. Alone, that would probably blow out memory. But in ClickHouse, the same analyst would only need to access **one** (physical) row of data the bank balance one and collapse it into an average.
@@ -165,7 +167,7 @@ Again, this is a **physical** row of data. As far as ClickHouses interface go
ClickHouses second superpower is **dynamic** materialized views.
![Visualizing Materialized Views.png](../images/blog/clickhouse-vs-elastic/visualizing-materialized-views.png)
![Visualizing Materialized Views.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/visualizing-materialized-views.png)
Materialized views are not a new concept in MySQL or PostgreSQL, a materialized view is a new table that can be queried from, rendered by a SQL query accessing other tables. However, once new data is added to the core tables, that materialized view goes out-of-date. Because creating materialized views is often expensive in traditional databases given their non-columnar layout, refreshing materialized views can only happen occasionally.
@@ -207,7 +209,7 @@ Elasticsearch, meanwhile, can accomplish similar performance over certain querie
While both Elasticsearch and ClickHouse are fundamentally backend products, we can compare their respective GUI products Kibana for Elasticsearch and ClickHouse Cloud for ClickHouse. ClickHouse Cloud is a *much* younger product; Kibana, conversely, has been around for nearly a decade and has an extensive UI.
![Comparinson.png](../images/blog/clickhouse-vs-elastic/comparison.png)
![Comparinson.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-elastic/comparison.png)
In a nutshell, comparing the analytics efficiency of ClickHouse and Elasticsearch has the same sort-of, not-really awkwardness of other comparisons they both excel in their respective categories using radically different methods to cater to a different type of need. However, Elastics Kibana product is more mature than ClickHouse Clouds competitive offering.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mathew-pregasen
featuredImage: ../images/blog/clickhouse-vs-postgres/postgres-vs-clickhouse.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/clickhouse-vs-postgres/postgres-vs-clickhouse.png
featuredImageType: full
category: Engineering
tags:
@@ -25,7 +26,7 @@ At first, the team tried a ton of hack-y and wacky solutions in attempts to get
This is what that felt like...
![thanos meme](../images/blog/clickhouse-vs-postgres/thanos-meme.png)
![thanos meme](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/thanos-meme.png)
Suddenly, all those data problems were solved, Thanos-snapped from existence. Here, were diving deep into how and why ClickHouse saved the day.
@@ -39,11 +40,11 @@ In contrast, ClickHouse is a *columnar* database. ClickHouse tables in memory ar
Here's what that looks like...
![clickhouse vs postgres rows and columns](../images/blog/clickhouse-vs-postgres/rows-vs-columns.png)
![clickhouse vs postgres rows and columns](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/rows-vs-columns.png)
The difference to be clear is how the data is *stored*; to the user, no mental-inversion is needed. You still deal with tables with entries. You continue to utilize SQL to interface with ClickHouse. The big difference is that those queries perform differently from the analog queries in Postgres or other row-based relational database.
![clickhouse vs postgres rows and columns](../images/blog/clickhouse-vs-postgres/rows-vs-columns-user.png)
![clickhouse vs postgres rows and columns](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/rows-vs-columns-user.png)
ClickHouse was designed for products that require fetched aggregate data, such as analytics, financial real-time products, ad-bidding technology, content delivery networks, or log management. Basically, its for data that doesnt need to be *changed*; ClickHouse is downright terrible at mutations.
@@ -63,7 +64,7 @@ Postgres would do this seamlessly: access John Does row (including his other
Lets analyze Postgres vs ClickHouse with a (very simplified) hedgehog database. Crudely, we can visualize why Postgres crushes ClickHouse when fetching a single hogs data:
![clickhouse vs postgres fetching data](../images/blog/clickhouse-vs-postgres/rows-vs-columns-fetching-data.png)
![clickhouse vs postgres fetching data](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/rows-vs-columns-fetching-data.png)
**A Simple Case where ClickHouse crushes Postgres:** *You operate a financial transaction startup and need to calculate the average transaction price across billions of entries.*
@@ -71,7 +72,7 @@ Postgres would need to incrementally retrieve every entry, grab the transaction
If we were to extend the previous hedgehog database, this query looks a little like this:
![clickhouse vs postgres fetching data](../images/blog/clickhouse-vs-postgres/rows-vs-columns-summing-data.png)
![clickhouse vs postgres fetching data](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/rows-vs-columns-summing-data.png)
This is, again, a crude comparison. It ignores caches on both ends, and more interestingly, PostHogs optimizations under-the-hood, such as:
@@ -113,7 +114,7 @@ ClickHouses documentation is a tad confusing to readers unfamiliar with OLAP
Lets take a look at ClickHouses self-stated key properties:
![clickhouse vs postgres rows and columns](../images/blog/clickhouse-vs-postgres/clickhouse-guidelines.png)
![clickhouse vs postgres rows and columns](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/clickhouse-guidelines.png)
ClickHouse states that a vast majority of requests should be for read access, but this is a bit misleading — its more that read-heavy requests should greatly outnumber update/mutation requests, not inserts.
@@ -125,11 +126,11 @@ When evaluating infrastructure resources, we typically think about CPUs, RAM, an
For Postgres, RAM and Attached Storage obviously matter, but the CPU count has limited benefits. Since 2016, Postgres can parallelize certain computations ([rather inconsistently](https://swarm64.com/post/increase-postgresql-parallelism/)), but is primarily a single-process product, as the below shows:
![postgres resource use](../images/blog/clickhouse-vs-postgres/postgres-scaling.png)
![postgres resource use](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/postgres-scaling.png)
ClickHouse, meanwhile, is all about silently optimizing data and optimizing data in parallel. You can scale the power of your ClickHouse instances performance by improving any three of those dimensions, including CPU.
![clickhouse resource use](../images/blog/clickhouse-vs-postgres/clickhouse-scaling.png)
![clickhouse resource use](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/clickhouse-scaling.png)
An optimized ClickHouse instance can function so fast that a bulk of a querys wait-time from a frontend perspective is a function of network speed, not data retrieval.
@@ -143,7 +144,7 @@ Imagine youve abandoned your dating app and banking businesses; now, you run
Heres a version using our previous simple hedgehog database:
![clickhouse resource use](../images/blog/clickhouse-vs-postgres/visualizing-materialized-views.png)
![clickhouse resource use](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/visualizing-materialized-views.png)
#### Materialized View averaging age
@@ -161,7 +162,7 @@ Here are some strategies on how Postgres can emulate automatic Materialized View
- **Triggers.** You could set a Postgres trigger to refresh a Materialized View on page load. This solution will rarely work unless you have seldom write operations; refreshing the Materialized View completely wipes the original result and will likely bludgeon the CPU.
![hacking postgres](../images/blog/clickhouse-vs-postgres/hacking-postgres-meme.png)
![hacking postgres](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-postgres/hacking-postgres-meme.png)
In a nutshell, Postgres can be bandaged up to achieve some efficiency that ClickHouse boasts around Materialized Views, but fundamentally, ClickHouse treats Materialized Views as an out-of-the-box benefit with efficiency *and* simplicity as cornerstone value props.

View File

@@ -1,12 +1,14 @@
---
date: 2023-06-30
title: "In-depth: ClickHouse vs Redshift"
title: 'In-depth: ClickHouse vs Redshift'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["mathew-pregasen"]
featuredImage: ../images/blog/posthog-engineering-blog.png
author:
- mathew-pregasen
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:
@@ -60,13 +62,13 @@ On paper, these are standard premises behind an OLAP database. Redshift uses a l
Compute nodes, through some complexity discussed below, transact with storage that is often built on AWS S3, though support for other storage solutions, like RDS, has been added recently.
![Redshift Simplfiied.png](../images/blog/clickhouse-vs-redshift/Redshift_Simplfiied.png)
![Redshift Simplfiied.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/Redshift_Simplfiied.png)
Redshift becomes a bit more complex once we dive into its multiple layers of computation optimizations, both organizational and with bare-metal hardware.
The first is Redshift Spectrum, which refers to an army of EC2 machines that compute nodes can recruit to split a single query into parallel computations. More accurately, Redshift Spectrum is a layer between compute nodes and storage while compute nodes divvy up queries via the leader node, Spectrum splits a single querys computation between many machines.
![Amazon Redshift Spectrum.png](../images/blog/clickhouse-vs-redshift/Amazon_Redshift_Spectrum.png)
![Amazon Redshift Spectrum.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/Amazon_Redshift_Spectrum.png)
The easiest way to describe this setup is to walk through a single query. Imagine a business intelligence (BI) tool that wants to learn the total sum of sales across a companys history. In order:
@@ -83,7 +85,7 @@ AQUA is a hardware optimization that enables storage units to run computations w
According to AWS, AQUA boosts performance by 10x on average by precomputing queries.
![AQUA.png](../images/blog/clickhouse-vs-redshift/AQUA.png)
![AQUA.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/AQUA.png)
AQUA shifts Amazons shared-nothing model to something similar to a shared storage model. Because AQUA precomputes data, it encourages developers to use a single Redshift managed storage layer that multiple Redshift clusters can interact with.
@@ -93,11 +95,11 @@ ClickHouses traditional architecture differ for some managed instances, but i
ClickHouse extends a shared-nothing architecture, combining CPU, storage, and memory into a single, beefy machine. But while ClickHouses design is fundamentally monolithic, it also supports sharding a database across multiple instances using Apache ZooKeeper.
![Shared Nothing Architecture.png](../images/blog/clickhouse-vs-redshift/Shared_Nothing_Architecture.png)
![Shared Nothing Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/Shared_Nothing_Architecture.png)
Because ClickHouse bundles everything into the same instance, it can scale that instance into three discrete dimensions storage, memory, and compute. Although, scaling an already provisioned instance isnt trivial; a new instance needs to be spun up and the data needs to be manually migrated.
![Clickhouse_ 3 Dimensions.png](../images/blog/clickhouse-vs-redshift/Clickhouse__3_Dimensions.png)
![Clickhouse_ 3 Dimensions.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/Clickhouse__3_Dimensions.png)
Like Redshift, ClickHouse employs techniques for pre-aggregating data to return faster queries. Redshift accomplishes this by specialized in-memory hardware that precomputes queries. ClickHouse, by contrast, uses materialized views with custom settings that dynamically and efficiently precompute data once new data is ingested.
@@ -107,7 +109,7 @@ In layman's terms ClickHouse is a speedboat whereas Amazon Redshift is an aircra
A common point of confusion is the distinction between ClickHouse and ClickHouse Cloud, particularly in regard to architecture. While ClickHouse is a monolithic titan, ClickHouse Cloud decouples storage and compute. It is deployed on AWS and, as of very recently, GCP.
![ClickHouse Cloud Architecture.png](../images/blog/clickhouse-vs-redshift/ClickHouse_Cloud_Architecture.png)
![ClickHouse Cloud Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-redshift/ClickHouse_Cloud_Architecture.png)
ClickHouse Cloud was modeled after Google BigQuery, offering out-of-the-box integrations with ELT providers, an interactive SQL console, automated backups, caching, and automatic replication.
@@ -147,4 +149,4 @@ Consider the following resources if you want to learn more about the differences
- [ClickHouse guide to migrating data from Redshift to ClickHouse](https://clickhouse.com/docs/en/integrations/redshift)
- [Optimizing Analytical Workloads: Comparing Redshift vs ClickHouse](https://clickhouse.com/blog/redshift-vs-clickhouse-comparison)
- [Altinity's ClickHouse vs Redshift benchmarking](https://altinity.com/blog/2017/6/20/clickhouse-vs-redshift)
- [Altinity's ClickHouse vs Redshift benchmarking](https://altinity.com/blog/2017/6/20/clickhouse-vs-redshift)

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mathew-pregasen
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
tags:
@@ -19,7 +20,7 @@ Two years ago, Snowflake versus ClickHouse was a straightforward comparison. Bac
If I was to compare the databases to boats, ClickHouse is a jet ski ultra-fast, but limited. Snowflake, meanwhile, is a shipyard a slew of (expensive) tools spanning various functions.
![Clickhouse vs Snowflake.png](../images/blog/clickhouse-vs-snowflake/clickhouse-vs-snowflake.png)
![Clickhouse vs Snowflake.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-snowflake/clickhouse-vs-snowflake.png)
But, as I said, that was *two years ago*. Today, Clickhouse has broken ground on features that compete with Snowflakes managed solution. Likewise, Snowflake released features that are beginning to tackle ClickHouses speed. However, the overlap between ClickHouse and Snowflake remains nascent. Today, they are both still *pretty* different, though the gaps are closing.
@@ -77,17 +78,17 @@ Overall, ClickHouse Cloud or Altinity Cloud are excellent options for companies
When Snowflake was released in 2012, there were two major paradigms **Shared-Disk Architecture** and **Shared-Nothing Architecture**.
![Shared Disk Architecture.png](../images/blog/clickhouse-vs-snowflake/shared-disk-architecture.png)
![Shared Disk Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-snowflake/shared-disk-architecture.png)
Under Shared-Disk Architecture, CPU and memory were split into nodes, but each connected to a single storage unit usually a blob store like S3 or GCS these days. The benefit of Shared-Disk Architecture is that you can scale Disk and Compute separately. This is huge when you are thinking about a data warehouse, where your workloads may be very spiky and periodic but your data has to be stored all the time. The cost here is that typically reading from disk is a bit slower, at least in terms of latency, when compared to reading from local storage.
![Shared Nothing Architecture.png](../images/blog/clickhouse-vs-snowflake/shared-nothing-architecture.png)
![Shared Nothing Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-snowflake/shared-nothing-architecture.png)
Meanwhile, CPU, memory, and storage are encapsulated under Shared-Nothing Architecture in separate, parallel instances, only syncing via background jobs. The benefit of Shared-Nothing Architecture is speed. There is a risk that storage could go out of sync since usually replication here is eventually consistent, but that was the case with blob stores up until recently too. The easiest way to think about this is consider Postgres. When you install Postgres everything is boxed up nice and neat on a single instance. At smaller scale this is a much simpler setup and enables you to run the architecture pretty much anywhere.
Part of Snowflakes initial appeal is its hybrid solution that combines the advantages of Shared-Disk Architecture and Shared-Nothing Architecture. Snowflake achieved this by adding another layer of storage to each node that stored partial data, similar to the cache but more complete.
![Snowflake Architecture.png](../images/blog/clickhouse-vs-snowflake/snowflake-architecture.png)
![Snowflake Architecture.png](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/clickhouse-vs-snowflake/snowflake-architecture.png)
More importantly, Snowflakes middle layer virtual warehouses can be scaled easily, coming in T-shirt sizes (S/M/L/XL). Snowflake makes it easy to add parallel nodes or re-size existing nodes, made possible by Snowflake's virtualized architecture.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- paolodamico
featuredImage: ../images/blog/Collaboration.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/Collaboration.png
featuredImageType: full
category: PostHog news
tags:
@@ -27,7 +28,7 @@ The most basic collaborative action for an analytics product is sharing insights
To address the above we introduced robust permalinks to insights that can easily be shared across multiple mediums. These links can now be used to send a specific insight (with all configurations) to a colleague, even if you are working across multiple projects.
![Concept of how insight links changed to permalinks today](../images/blog/collaborating-on-posthog_1.png)
![Concept of how insight links changed to permalinks today](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/collaborating-on-posthog_1.png)
You can share dashboards easily too. Even if you share a link to a dashboard in a different project, recipients will be automatically switched to the correct project if they have access
@@ -43,7 +44,7 @@ To aid serendipitous discoveries, we've created a project homepage to surface he
In addition, if your team uses the [Session Recording](/product/session-recording) feature, we'll also surface the most recent recordings here. We've found that users who return to Session Recordings make 3x more discoveries than other users (more context [here](https://github.com/PostHog/posthog/issues/8595#issuecomment-1056916848)). This should also help drive qualitative discoveries about your product.
![Concept of project home page](../images/blog/collaborating-on-posthog_4.png)
![Concept of project home page](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/collaborating-on-posthog_4.png)
## Leveraging the work of your colleagues
@@ -54,11 +55,11 @@ We find there are two general profiles for PostHog users:
For people who create insights, we've introduced one-click saving and automatic insight naming. This means people who create lots of insights don't have spend time documenting their work, while their colleagues can easily understand what they're looking at.
![Screenshot of automatic insight naming](../images/blog/collaborating-on-posthog_3.png)
![Screenshot of automatic insight naming](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/collaborating-on-posthog_3.png)
And for people who love discovering insights that others made, we've made it easier to search and find saved insights.
![Screenshot of saved insights](../images/blog/collaborating-on-posthog_2.png)
![Screenshot of saved insights](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/collaborating-on-posthog_2.png)
To support this work, we also introduced the new [Data Management](/blog/data-management-feature) feature, which brings together all the context on how your product is instrumented. Now there's no need to ask an Engineer or Product Manager which event you should use to answer a question, which both parties will appreciate!

View File

@@ -9,7 +9,8 @@ showTitle: true
hideAnchor: true
author:
- marcus-hyett
featuredImage: ../images/blog/cookieless-analytics.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/cookieless-analytics.png
featuredImageType: full
category: General
tags:

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mo-shehu
featuredImage: ../images/blog/customer-support-at-posthog/customer-support-at-posthog.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/customer-support-at-posthog/customer-support-at-posthog.jpg
category: Inside PostHog
tags:
- Open source

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/data-management-feature/posthog-data-management.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/data-management-feature/posthog-data-management.png
featuredImageType: full
author:
- alex-kim
@@ -33,7 +34,7 @@ We set out to solve these pain points and the result is the new Data Management
The Data Management page (pictured below) is the new hub for viewing, editing and managing all the data coming into your instance.
![PostHog - data management tab](../images/blog/data-management-feature/data_management_tab.png)
![PostHog - data management tab](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/data-management-feature/data_management_tab.png)
Data Management introduces more ways to organize and categorize your events. Event definitions can now be organized using tags and we've created the 'Verified' marker, which tells collaborators that an event should be favored over other similar events.
@@ -41,7 +42,7 @@ Verified events are prioritized within filters and other selection components, a
As part of this overhaul, we've made a few important changes to how data is organized, too. 'Event Stats' and 'Property Stats' have been renamed 'Events' and 'Event properties', and we've moved them into the Data Management tab alongside 'Actions'. The 'Events & Actions' tab has been renamed 'Activity', where you can debug incoming event data by streaming it in near real time.
![PostHog - live events tab](../images/blog/data-management-feature/live_events.png)
![PostHog - live events tab](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/data-management-feature/live_events.png)
## Making it easy to define events 'on the fly'
@@ -51,15 +52,15 @@ Building an insight and see an Event or Event property that could be more descri
Just hover over the Event property in the dropdown...
![PostHog - read definition hover card](../images/blog/data-management-feature/read_definition_card.png)
![PostHog - read definition hover card](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/data-management-feature/read_definition_card.png)
And when you click 'Edit' you can add a description, add tags or mark it as a Verified Event.
![PostHog - write definition hover card](../images/blog/data-management-feature/write_definition_card.png)
![PostHog - write definition hover card](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/data-management-feature/write_definition_card.png)
Alternatively, click on 'View' in the definition hover card and you'll be redirected to the new Data Management page, where you can explore all the Events and Event properties you've created.
![PostHog - view definition context](../images/blog/data-management-feature/data_management_view.gif)
![PostHog - view definition context](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/data-management-feature/data_management_view.gif)
And if you want a gold star in best practice, you can also opt to create definitions with our API. Check out our documentation on how to use the [`event_definitions`](/docs/api/event-definitions) and [`property_definitions`](/docs/api/property-definitions) API endpoints.

View File

@@ -9,12 +9,12 @@ showTitle: true
hideAnchor: true
author:
- marcus-hyett
featuredImage: ../images/blog/dogfooding.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/dogfooding.png
featuredImageType: full
category: Product growth
tags:
- Guides
---
Product testing is essential, but your testing wont always pick up the small sources of friction which build up over time and frustrate your users. This is where dogfooding comes in - regularly using your product to get the full picture and build empathy with your users.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- lottie-coxon
featuredImage: ../images/blog/blog-hedgehog-design.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/blog-hedgehog-design.png
featuredImageType: full
category: Inside PostHog
tags:
@@ -19,7 +20,7 @@ Creating mascots goes beyond just putting iPencil to iPad. Its a long, confus
A successful mascot should go beyond representing what a company does. It should build and strengthen a brand's identity by representing its tone of voice and overall vibe. Think about GitHub's octocat mascot, which is now a familiar figure in memes, merch, and even statues.
![GitHub - Octocat](../images/blog/drawing-hedgehogs/github-octocat.jpeg)
![GitHub - Octocat](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/github-octocat.jpeg)
## Think before you ink
@@ -60,35 +61,35 @@ Using a tablet also lets me share unfinished ideas quickly, so I can expand on t
What really sets digital drawing apart from traditional design practice is that it comes with _layers_. Layers change lives. Long gone are the days of linear painting - now I can select a layer and work in isolation on that, or cut out a small section and reuse it later (because I love to recycle). It has sped up my work while giving me so much freedom to work with my creations. Would 10/10 recommend to a friend.
![PostHog - Hairy Thumb](../images/blog/drawing-hedgehogs/hairy-thumb-logo.jpeg)
![PostHog - Hairy Thumb](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/hairy-thumb-logo.jpeg)
This was our initial logo, made by our CEO James. Since this humble beginning the hedgehog has had many faces, some of which were better than others.
![PostHog - Square Hedgehog](../images/blog/drawing-hedgehogs/square-hedgehog-logo.jpeg)
![PostHog - Square Hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/square-hedgehog-logo.jpeg)
Take this square, dead-eyed creature, for example. To be honest I quite liked him and felt he gave off a quirky vibe. But he lacked character, and he had a cold, hard stare, which when looking back onto the brief it wasnt what we wanted.
![PostHog - Sun Hedgehog](../images/blog/drawing-hedgehogs/sun-hedgehog.jpeg)
![PostHog - Sun Hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/sun-hedgehog.jpeg)
Injecting a bit more character into the mix, I created this fella. He gave off a happier, friendlier vibe - maybe because he cant see and wears glasses. This was progress. But something didnt quite feel right. He felt old and out of touch - once again I found myself not quite sending the right message. It was time for something different.
![PostHog - 3D Hedgehog](../images/blog/drawing-hedgehogs/3d-hedgehog.jpeg)
![PostHog - 3D Hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/3d-hedgehog.jpeg)
Next, I dabbled in 3D. I created a hedgehog in Blender to break the mould of what a mascot could look like - but this backfired and the little guy just felt cold and robotic. I was chasing something warmer, with character, something friendly. Something like...
![PostHog - Final Hedghehog](../images/blog/drawing-hedgehogs/pastel-hedgehog.jpeg)
![PostHog - Final Hedghehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/pastel-hedgehog.jpeg)
This guy, with his texture and silly, frumpy round body, just makes me happy. He reminds me of the kawaii character Gudetama, except this hog doesn't have his bum out.
![PostHog - Working Hedgehog](../images/blog/drawing-hedgehogs/work-hedgehog.png)
![PostHog - Working Hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/work-hedgehog.png)
I liked the idea of this hedgehog as a relatable character, who sits at his desk tapping away at keys just like us. I think that is key for a successful mascot,; something the team can get behind.
![PostHog - Police Hedgehog](../images/blog/drawing-hedgehogs/police-hedgehog.jpeg)
![PostHog - Police Hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/police-hedgehog.jpeg)
From here the character grew and grew, taking up new hobbies and professions, such as the police hog, who stops our users making mistakes when filling in forms. Helpful, yet stern.
![PostHog - Hedgehog Evolution](../images/blog/drawing-hedgehogs/hedgehog-evolution.gif)
![PostHog - Hedgehog Evolution](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/drawing-hedgehogs/hedgehog-evolution.gif)
As you can see, the hedgehog went through about 18 different variations before I knew which one suited the brand best - including large, small, angry, 3D and even square versions.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- cory-watilo
featuredImage: ../images/blog/actual-post-open-graph-image.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/actual-post-open-graph-image.png
featuredImageType: full
excerpt: >-
The image preview you see when sharing a link is a great opportunity to get
@@ -28,14 +29,14 @@ But most sites (including ours, up until recently) just opt to display a logo an
This is what ours used to look like. Theres a lot of untapped potential here.
![Our previous site-wide Open Graph image](../images/blog/open-graph-images/og-0.png)
![Our previous site-wide Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-0.png)
<figcaption class="text-center text-primary text-opacity-70 font-semibold !text-sm -mt-4 mb-4 hover:text-primary dark:text-white dark:hover:text-white">Our previous site-wide Open Graph image</figcaption>
### After
We decided to make better use of the space that Open Graph provides by creating custom layouts and images for most individual pages of our website. Some dynamically generated every time we update [posthog.com](http://posthog.com) (like [this Docs article](/docs)).
![Dynamically-generated Open Graph image with live data from our website](../images/blog/open-graph-images/og-12.png)
![Dynamically-generated Open Graph image with live data from our website](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-12.png)
<figcaption class="text-center text-primary text-opacity-70 font-semibold !text-sm -mt-4 mb-4 hover:text-primary dark:text-white dark:hover:text-white">Dynamically-generated Open Graph image with live data from our website</figcaption>
This project is now generating hundreds of Open Graph image previews daily and appearing in Twitter and LinkedIn timelines, and in Slack channels everywhere.
@@ -54,29 +55,29 @@ Its a great way for websites to make links more visually enticing and website
**Stripe** uses a gradient background that is synonymous with anyone whos ever seen Stripes website (its on brand).
![Stripe's Open Graph image](../images/blog/open-graph-images/og-2.png)
![Stripe's Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-2.png)
**Squarespace** uses the space to feature some lifestyle imagery, and an example of the product they offer.
![Squarespace's Open Graph image](../images/blog/open-graph-images/og-3.png)
![Squarespace's Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-3.png)
**Webflow** displays some cool interface elements and product examples within their image.
![Webflow's Open Graph image](../images/blog/open-graph-images/og-4.png)
![Webflow's Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-4.png)
There are also a lot of major brands who have seemingly put zero effort into link previews.
**Apple**
![Apple's Open Graph image](../images/blog/open-graph-images/og-5.png)
![Apple's Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-5.png)
**Shopify**
![Shopify's Open Graph Image](../images/blog/open-graph-images/og-6.png)
![Shopify's Open Graph Image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-6.png)
**Microsoft**
![Microsoft's Open Graph Image](../images/blog/open-graph-images/og-7.png)
![Microsoft's Open Graph Image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-7.png)
Theres a lot of missed opportunity - our customers are essentially giving us free ad space in front of their friends, followers, and colleagues. Whatever their connections see here needs to encourage them to want to see more.
@@ -87,7 +88,7 @@ We frequently post content [on our blog](/blog), and we frequently create custom
Last year [for a product update](/blog/the-posthog-array-1-26-0), we used artwork manually created in Figma that contained a summary of what was in the update. This was our first step in starting to think of better ways to use this space.
![The first unique Open Graph image we used for a product update](../images/blog/open-graph-images/array-custom-art.png)
![The first unique Open Graph image we used for a product update](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/array-custom-art.png)
<figcaption class="text-center text-primary text-opacity-70 font-semibold !text-sm -mt-4 mb-4 hover:text-primary dark:text-white dark:hover:text-white">The first unique Open Graph image we used for a product update</figcaption>
### Just days before, GitHub made Open Graph images 10x better!
@@ -98,7 +99,7 @@ Now when sharing links to repositories or pull requests, you can see more contex
**For example, heres what sharing a link to [a pull request](https://github.com/PostHog/posthog/pull/8142) looks like.**
![GitHub's new Open Graph image example](../images/blog/open-graph-images/og-8.png)
![GitHub's new Open Graph image example](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-8.png)
Aside from being more visually interesting than a static image, it also serves to prepare the reader on what theyre about to click. Even this brief context is valuable - and definitely more valuable than a single static site-wide image.
@@ -106,7 +107,7 @@ I should point out that GitHub also allows repos to upload a custom Open Graph i
This served as inspiration for PostHog: *How could we take this concept but 10x what GitHub did?*
![Our GitHub repo's Open Graph image](../images/blog/open-graph-images/og-9.png)
![Our GitHub repo's Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-9.png)
<figcaption class="text-center text-primary text-opacity-70 font-semibold !text-sm -mt-4 mb-4 hover:text-primary dark:text-white dark:hover:text-white">Finally, an Open Graph image (for our GitHub repo) that was really designed to be looked at.</figcaption>
## Making Open Graph images 100x better
@@ -151,11 +152,11 @@ We posed some questions about what would make these Open Graph images useful:
Heres what youll see when sharing [posthog.com/product/session-recording](/product/session-recording):
![PostHog's Session Recording Open Graph image](../images/blog/open-graph-images/og-10.png)
![PostHog's Session Recording Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-10.png)
We also build custom artwork for pages we know are likely to be shared, like for an event well be hosting soon.
![Personalized Open Graph image for an event](../images/blog/open-graph-images/og-11.png)
![Personalized Open Graph image for an event](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-11.png)
## **Dynamic Open Graph images**
@@ -169,13 +170,13 @@ Similar to GitHubs approach, we automatically generate some Open Graph images
We shared a single static image across all Docs articles
![Open Graph image](../images/blog/open-graph-images/og-0.png)
![Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-0.png)
**After**
Now we show a preview from the article, along with some relevant information about it that you might like to know.
![Open Graph image](../images/blog/open-graph-images/og-12.png)
![Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-12.png)
This gives us the chance to draw a user into the content on the page before they decide to click. Our bet was this could increase clickthroughs by reducing the uncertainty about what was on the other side of the link.
@@ -199,19 +200,19 @@ There are a considerations for our blog posts:
- Some posts have multiple authors, so that needs to be factored in.
- In some cases, post images have text [inside the image](https://posthog.com/blog/yc-top-companies) that would be obscured with auto-generated Open Graph images. We have a parameter in our blog posts front matter to skip this image generation.
![Blog Open Graph image](../images/blog/open-graph-images/og-13.png)
![Blog Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-13.png)
**Customer stories**
Since each customer story involves two logos, we placed them at the top along with a heart in between.
![Example of Open Graph image in a customer story](../images/blog/open-graph-images/og-14.png)
![Example of Open Graph image in a customer story](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-14.png)
**Careers**
Especially useful for the PostHog team when posting roles on LinkedIn, this image is always up to date with the latest roles were hiring.
![Careers Open Graph image](../images/blog/open-graph-images/og-1.png)
![Careers Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-1.png)
## How it works
@@ -285,11 +286,11 @@ We still consider this a v1 approach, as there are plenty of edge cases to work
In a future update, we plan to [make our Tutorials Open Graph images transparent](https://github.com/PostHog/posthog.com/issues/2720) so they naturally work in both light and dark modes.
![Opaque tutorial Open Graph images](../images/blog/open-graph-images/opaque-tutorials.png)
![Opaque tutorial Open Graph images](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/opaque-tutorials.png)
We've also designed (and plan to implement) dynamic images for personalized landing pages (to be shared with prospective customers) so PostHog feels a little more personalized when our link is shared around a companys Slack.
![Next Steps Open Graph image](../images/blog/open-graph-images/og-15.png)
![Next Steps Open Graph image](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-graph-images/og-15.png)
But this first step is light years more interesting to look at than a simple PostHog logo on a white background. (If you see opportunity for improvement, we invite you to submit a pull request [on our websites repo](http://github.com/posthog/posthog.com)!)

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/posthog-array-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-array-blog.png
featuredImageType: full
category: Using PostHog
tags:
@@ -23,7 +24,7 @@ Want to insert the word `hedgehog` into your personIDs randomly? There... well,
Not sure where to get started with apps? One easy tip is to look for connectors which enable you to sync PostHog with other tools in your stack — but otherwise here are some essential apps we recommend new PostHog users consider.
## 1. [GeoIP enricher](/apps/geoip-enrichment)
![PostHog geoip enricher](../images/blog/activation-checklist-images/geo-ip.png)
![PostHog geoip enricher](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/geo-ip.png)
The GeoIP enrichment app is so useful we actually enable it by default for all new PostHog instances, meaning you wont even need to set it up if you like the sound of it.
@@ -40,7 +41,7 @@ Zapier enables you to easily and codelessly connect PostHog to over 4,000 other
> 💡**PostHog Tip:** Looking for inspiration on what to do with Zapier? Check out these tutorials on how to use Zapier to [connect PostHog with Discord](/tutorials/how-to-connect-discord-to-posthog-with-zapier) or [Notion](/tutorials/how-to-connect-posthog-and-notion-with-zapier)!
## 3. [URL normalizer](/apps/url-normalizer)
![PostHog url normalizer](../images/blog/activation-checklist-images/url-normalizer.png)
![PostHog url normalizer](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/url-normalizer.png)
OK, so this app isnt truly essential for all teams — but if youre fussy about trailing slashes (or if other tools in your stack are case sensitive), the URL normalizer is a lifesaver. It enables you to customize how URLs are formatted, converting them all to lower case and stripping all trailing slashes by default.
@@ -49,7 +50,7 @@ Another reason to love the URL normalizer is that it wasnt built by the PostH
> 💡**PostHog Tip:** Interested in seeing how this app was made? Check [the source code](https://github.com/PostHog/posthog-url-normalizer-plugin) to get ideas about building your own apps!
## 4. [BigQuery](/apps/bigquery-export)
![PostHog bigquery export](../images/blog/activation-checklist-images/bigquery-export.png)
![PostHog bigquery export](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/activation-checklist-images/bigquery-export.png)
Exporting information from PostHog into your data warehouse (or data lake) is a common use-case for apps, which is why we have a small library of data-out apps for such platforms. Of these, BigQuery is the most popular.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Using PostHog
tags:

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- neil-kakkar
featuredImage: ../images/blog/experiments.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/experiments.jpeg
featuredImageType: full
category: Product growth
tags:
@@ -22,11 +23,11 @@ It was a no brainer product decision: Since you're already analysing your data i
Experiments allow you to choose a target metric, choose specific people to run this experiment on, and set how long the experiment runs for.
![PostHog - Experiment Creation](../images/blog/experimentation/experiment-creation.png)
![PostHog - Experiment Creation](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/experimentation/experiment-creation.png)
Thanks to Feature Flags, you can then easily validate whether each variant looks good, launch your experiment, and wait for data to come in. We then run a Bayesian analysis on the data to give a probability for each variant being the best, a graph of how things are looking for each variant, and whether the results are statistically significant or not.
![PostHog - Experiment Results](../images/blog/experimentation/experiment-results.png)
![PostHog - Experiment Results](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/experimentation/experiment-results.png)
It's a powerful tool for building great products, but that's enough about how experiments work for now. If you're interested in the technical details, check out the [Experimentation user guide](/docs/user-guides/experimentation).

View File

@@ -1,17 +1,19 @@
---
title: "Feature flags as a service: Should you build or buy?"
title: 'Feature flags as a service: Should you build or buy?'
date: 2023-09-12
author: ["ian-vanagas"]
author:
- ian-vanagas
showTitle: true
rootpage: /blog
sidebar: Blog
hideAnchor: true
featuredImage: ../images/blog/green-blog-image.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/green-blog-image.jpg
featuredImageType: full
category: Engineering
tags:
- Feature flags
- Explainers
- Feature flags
- Explainers
---
Feature flags are a tool to conditionally turn on or off code and components. They enable you to safely deploy or roll back new features, which helps you follow the [best practice of disconnecting deployment from release](/blog/github-gitlab-feature-flags#why-do-github-and-gitlab-use-feature-flags).
@@ -103,7 +105,7 @@ With feature flags as a service, you gain more confidence in:
In fewer words, you pass your potential problems off to them.
![Problems](../images/blog/feature-flags-as-a-service/problems.jpg)
![Problems](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/feature-flags-as-a-service/problems.jpg)
## Deciding whether to build or buy

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- neil-kakkar
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
---

View File

@@ -9,7 +9,8 @@ showTitle: true
hideAnchor: true
author:
- mo-shehu
featuredImage: ../images/blog/first-10-customers.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/first-10-customers.png
featuredImageType: full
category: Product growth
tags:

View File

@@ -7,12 +7,13 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/posthog-company-culture-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-company-culture-blog.png
featuredImageType: full
featuredVideo: https://www.youtube-nocookie.com/embed/ImcNUnqDoUQ
featuredVideo: 'https://www.youtube-nocookie.com/embed/ImcNUnqDoUQ'
category: General
tags:
- Guides
- Guides
---
In July 2023, Google closed Universal Analytics (UA), forcing users to switch to Google Analytics 4 (GA4) or another provider.
@@ -56,7 +57,7 @@ The following GA4 alternatives all solve one or more of these issues. Some provi
### PostHog
![posthog](../images/screenshots/hogflix-dashboard.png)
![posthog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/screenshots/hogflix-dashboard.png)
- **Best for:** Mobile and web apps
- **Tracking method:** Event-based
@@ -153,7 +154,7 @@ Read our [PostHog and Google Analytics comparison](/blog/posthog-vs-ga4) for an
### Matomo
![Matomo - open source analytics tools](../images/blog/open-source-analytics-tools/matomo-screenshot.png)
![Matomo - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/matomo-screenshot.png)
- **Best for:** Content, marketing and e-commerce websites
- **Tracking method:** Session-based
@@ -241,7 +242,7 @@ It also shares some weaknesses inherent in Universal Analytics. While Matomo has
### Kissmetrics
![kissmetrics](../images/blog/ga4-alternatives/kissmetrics.png)
![kissmetrics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/kissmetrics.png)
- **Best for:** Marketing and e-commerce websites
- **Tracking method:** Event-based
@@ -334,7 +335,7 @@ One of its key features is the Populations report, which groups users into key c
### TelemetryDeck
![telemetrydeck](../images/blog/ga4-alternatives/telemetrydeck.png)
![telemetrydeck](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/telemetrydeck.png)
- **Best for:** Mobile apps
- **Tracking method:** Event-based
@@ -422,7 +423,7 @@ TelemetryDeck makes it easy for app developers to track things like active users
### Plausible
![Plausible Analytics - open source analytics tools](../images/blog/open-source-analytics-tools/plausible-screenshot.png)
![Plausible Analytics - open source analytics tools](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-analytics-tools/plausible-screenshot.png)
- **Best for:** Content and marketing websites
- **Tracking method:** Session-based
@@ -512,7 +513,7 @@ But, if you just want basic website analytics, it gets the job done, and won't a
### Vercel Web Analytics
![vercel analytics](../images/blog/ga4-alternatives/vercel.png)
![vercel analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/vercel.png)
- **Best for:** Content and marketing websites
- **Tracking method:** Event-based
@@ -602,7 +603,7 @@ Vercel acquired another popular analytics tool, Splitbee, in 2022. Splitbee's te
### Piwik PRO
![piwik pro](../images/blog/ga4-alternatives/piwik-pro.png)
![piwik pro](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/piwik-pro.png)
- **Best for:** Content, marketing and e-commerce websites
- **Tracking method:** Session-based
@@ -690,7 +691,7 @@ Piwik PRO's main differentiators are enterprise level support and the integratio
### Fathom
![Fathom - GDPR compliant analytics](../images/blog/gdpr-compliant-analytics/fathom.png)
![Fathom - GDPR compliant analytics](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/gdpr-compliant-analytics/fathom.png)
- **Best for:** Content and marketing websites
- **Tracking method:** Session-based
@@ -776,7 +777,7 @@ Piwik PRO's main differentiators are enterprise level support and the integratio
### Counter
![counter](../images/blog/ga4-alternatives/counter.png)
![counter](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/ga4-alternatives/counter.png)
- **Best for:** Content and personal websites
- **Tracking method:** Session-based
@@ -860,4 +861,4 @@ Counter's creators can offer it for free because it only collects aggregated dat
> #### Verdict
>
> Counter is a great choice if you have basic needs. It does most of the things the popular privacy-first analytics tools offer, but does so for free. The simple interface is easy to understand, though it doesn't allow you to drill down deeply into individual page performance like Fathom or Plausible.
> Counter is a great choice if you have basic needs. It does most of the things the popular privacy-first analytics tools offer, but does so for free. The simple interface is easy to understand, though it doesn't allow you to drill down deeply into individual page performance like Fathom or Plausible.

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/google-analytics-gdpr.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/google-analytics-gdpr.png
featuredImageType: full
author:
- andy-vandervell
@@ -33,7 +34,7 @@ As confirmed by [guidance](https://tweakers.net/nieuws/192020/autoriteit-persoon
### 3. This is just the beginning
This complaint was but one of 100 similar complaints lodged by the same non-profit group. The founder, Max Schrems, [told WIRED](https://www.wired.co.uk/article/google-analytics-europe-austria-privacy-shield): "It's not specific to Google Analytics. It's basically about outsourcing to US providers in general". Other complaints include the use of Google Analytics and Facebook Connect by the likes of Airbnb and Ikea, so expect to hear about more rulings in the coming months.
![Is Google Analytics illegal website](../images/blog/gdpr-privacy-shield/is-ga-legal-website.png)
![Is Google Analytics illegal website](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/gdpr-privacy-shield/is-ga-legal-website.png)
<figcaption className="text-center">
The Austrian ruling <a href="https://isgoogleanalyticsillegal.com/">questions the legality</a> of using Google in the EU
</figcaption>

View File

@@ -1,14 +1,16 @@
---
title: Why we use GitHub as our CMS
date: 2023-03-23
author: ["ian-vanagas"]
author:
- ian-vanagas
showTitle: true
rootpage: /blog
sidebar: Blog
hideAnchor: true
featuredImage: ../images/blog/posthog-blog-image.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-blog-image.png
featuredImageType: full
featuredVideo: https://www.youtube-nocookie.com/embed/Z2-dSM2i2_Y
featuredVideo: 'https://www.youtube-nocookie.com/embed/Z2-dSM2i2_Y'
category: Inside PostHog
---
@@ -61,7 +63,7 @@ Developers dont want to spend time in a CMS. They want to use tools they alre
It also encourages our marketing team to be more technical. They must understand how the code and content interact. For example, when missing metadata causes an error in the web app. The marketing team can figure out and solve this themselves, rather than asking the development team to do it.
![VSCode screenshot of this blog](../images/blog/github-cms/blog.png)
![VSCode screenshot of this blog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/github-cms/blog.png)
By using GitHub as a CMS, we stay engineering-focused. Everyone works like an engineer, and that enables us to understand and build a better product for them. This helps PostHog succeed in the long run.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/give-back-friday.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/give-back-friday.png
featuredImageType: full
category: PostHog news
tags:

View File

@@ -1,16 +1,19 @@
---
title: "An intro to PostHog for Google Analytics users"
title: An intro to PostHog for Google Analytics users
date: 2023-07-04
author: ["ian-vanagas", "andy-vandervell"]
author:
- ian-vanagas
- andy-vandervell
showTitle: true
rootpage: /blog
sidebar: Blog
hideAnchor: true
featuredImage: ../images/blog/posthog-vs-ga4/posthog-vs-ga4.jpeg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-vs-ga4/posthog-vs-ga4.jpeg
featuredImageType: full
category: Using PostHog
tags:
- Guides
- Guides
---
With the sunsetting of the Google Analytics Universal Analytics platform and unhappiness with its replacement, Google Analytics 4 (GA4), many are [looking for alternatives](/blog/ga4-alternatives).
@@ -114,7 +117,7 @@ PostHog has the same functionality as Google Analytics reports and views. For us
When you first get into your PostHog instance, you see the default dashboard with a collection of insights like daily active users, growth accounting, and retention. If these insights dont seem relevant to you, like if you are focusing on web traffic, you can customize your dashboards and insights to your needs.
![Home dashboard video](../images/blog/google-analytics-to-posthog/home.mp4)
![Home dashboard video](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/google-analytics-to-posthog/home.mp4)
Tailoring PostHog to your needs is done by creating a new dashboard with new insights. To help you with this, we built [dashboard templates](/templates) similar to the default views Google Analytics provides:
@@ -141,7 +144,7 @@ To create one, you:
5. Customize the visualization with types and breakdowns, like using the total value bar graph broken down by the current URL.
6. Save and add it to a dashboard.
![Insight video](../images/blog/google-analytics-to-posthog/insight.mp4)
![Insight video](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/google-analytics-to-posthog/insight.mp4)
Each type has unique functionality such as direct SQL aggregations in trends, attribution type in funnels, return windows in retention, wild card groups in paths, and more.
@@ -154,7 +157,7 @@ Although PostHog is event-based, it still gathers details about users. To do an
- You can use the [identify](/docs/data/identify) function to connect a person with a distinct ID like email or username.
- You can use the [group](/docs/product-analytics/group-analytics) function to connect a person with a group like an organization or company.
![Event structure](../images/blog/google-analytics-to-posthog/event.png)
![Event structure](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-analytics-to-posthog/event.png)
You can then use all of this data in your insights. For example, you can aggregate an event series by unique users, monthly active users, unique groups, and more.
@@ -182,13 +185,13 @@ Beyond actions, PostHog also can run A/B tests, which compare "test" and "contro
### 1. Try using filters on dashboards
![dashboard filters](../images/blog/dashboard-templates.mp4)
![dashboard filters](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/dashboard-templates.mp4)
Filters work the same way on insights and dashboards. Want to see the same metrics for your whole website and a specific URL? Just create one dashboard, and then filter the dashboard by `Current URL` to view those same metrics for a single URL, or a collection of similar pages. Want to see those metrics for a specific cohort? You can do that too, among many other things.
### 2. You can use formulas to create custom insights
![formulas](../images/blog/formula-mode.mp4)
![formulas](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/formula-mode.mp4)
Trends support simple mathematical formulas, which makes it easy to create custom insights to track specific conversion events and percentage trends. Simply setup two or more variables (e.g. unique users and unique users from Germany) then input a formula the same way you would in Google Sheets or Excel like `B/A`. This is useful for tracking metrics like sessions per user or pages per user.
@@ -200,19 +203,19 @@ Session replay is incredibly powerful. Knowing how many people reach your pricin
### 4. Use the `Pageview` event to track unique users
![unique users](../images/blog/unique-users.mp4)
![unique users](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/unique-users.mp4)
Unique users isn't a default metric in PostHog because it's event-based, but it's still easy to track. To do so, select the `pageview` event when building insights, then select `unique users` from the adjacent dropdown. This will show you the number of unique users who triggered the `pageview` event i.e. the number of unique users you visited your website. You can also track `unique sessions` this way.
### 5. Use breakdowns to view your top pages
![breakdowns](../images/blog/breakdown.mp4)
![breakdowns](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/breakdown.mp4)
Just want to see the top pages on your website? Create a Trends insight, click `Add breakdown`, and add the event property `Current URL`. To view these in a bar chart or table, go to `Chart type` and select either from the `Total value` options. Alternatively, you can use our [Landing pages dashboard template](/templates/landing-dashboard).
### 6. Use the lifecycle insight to track new and returning users
![lifecycle](../images/blog/lifecycle.mp4)
![lifecycle](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/lifecycle.mp4)
The Lifecycle insight breaks down unique users who complete your desired event by:
@@ -242,4 +245,4 @@ This makes it an easy way to track new and returning visitors to your website, a
- [What to do after installing PostHog in 5 steps](/tutorials/next-steps-after-installing)
- [Complete guide to event tracking](/tutorials/event-tracking-guide)
- [A non-technical guide to understanding data in PostHog](/tutorials/non-technical-guide-to-data)
- [A non-technical guide to understanding data in PostHog](/tutorials/non-technical-guide-to-data)

View File

@@ -7,9 +7,10 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/posthog-company-culture-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-company-culture-blog.png
featuredImageType: full
featuredVideo: https://www.youtube-nocookie.com/embed/rooOi7rxi8Y
featuredVideo: 'https://www.youtube-nocookie.com/embed/rooOi7rxi8Y'
category: General
tags:
- Guides
@@ -27,7 +28,7 @@ If this sounds like bad news to you, consider one of following six Google Optimi
## 1. PostHog
![google optimize alternatives](../images/blog/google-optimize-alternatives/posthog.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/posthog.png)
- **Free tier:** <span className="text-green text-lg"></span>
- **Transparent pricing:** <span className="text-green text-lg"></span>
@@ -55,7 +56,7 @@ PostHog offers **unlimited experiments** on PostHog Cloud, which includes 1 mill
## 2. Unbounce
![google optimize alternatives](../images/blog/google-optimize-alternatives/unbounce.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/unbounce.png)
- **Free tier:** <span className="text-red text-lg"></span>
- **Transparent pricing:** <span className="text-green text-lg"></span>
@@ -80,7 +81,7 @@ Unbounce offers a pleasing range of transparently-priced plans. Its entry-level
## 3. GrowthBook
![google optimize alternatives](../images/blog/open-source-testing-tools/growthbook.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/open-source-testing-tools/growthbook.png)
- **Free tier:** <span className="text-green text-lg"></span>
- **Transparent pricing:** <span className="text-green text-lg"></span>
@@ -103,7 +104,7 @@ GrowthBook offers unlimited traffic (subject to a fair use policy), feature flag
## 4. Instapage
![google optimize alternatives](../images/blog/google-optimize-alternatives/instapage.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/instapage.png)
- **Free tier:** <span className="text-red text-lg"></span>
- **Transparent pricing:** Partial
@@ -124,7 +125,7 @@ Instapage's self-serve plan costs $299 per month ($199 if billed annually) and i
## 5. VWO Testing
![google optimize alternatives](../images/blog/google-optimize-alternatives/vwo-testing.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/vwo-testing.png)
- **Free tier:** <span className="text-green text-lg"></span>
- **Transparent pricing:** <span className="text-red text-lg"></span>
@@ -145,7 +146,7 @@ Outside of its new Starter plan, VWO is largely a 'price on application' product
## 6. LaunchDarkly
![google optimize alternatives](../images/blog/google-optimize-alternatives/launch-darkly-experiment.png)
![google optimize alternatives](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/google-optimize-alternatives/launch-darkly-experiment.png)
- **Free tier:** <span className="text-green text-lg"></span>
- **Transparent pricing:** Partial

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/posthog-company-culture-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-company-culture-blog.png
featuredImageType: full
category: PostHog news
tags:
@@ -39,7 +40,7 @@ As a result, Group Analytics is especially useful for certain types of product,
Groups work perfectly with all other PostHog tools, enabling you to analyze group data with [funnels](/docs/user-guides/funnels), [trends](/docs/user-guides/trends), [paths](/docs/user-guides/paths) and [retention charts](/docs/user-guides/retention). This opens up the potential for entirely new insights, such as using groups within a funnel analysis to see how a company moves through a sign-up funnel in the same way that you would do for an individual user.
![View Groups](../images/blog/array/funnels-group-aggregation.png)
![View Groups](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/array/funnels-group-aggregation.png)
You can even use groups with [feature flags](/docs/user-guides/feature-flags) to roll out or test new features with all users within an organization. This makes feature flags a lot more practical for B2B focused products, as organizations such as [Tapico](https://tapico.io/), the open finance engine, have found out.

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/hacktoberfest/hacktoberfest.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hacktoberfest/hacktoberfest.png
category: Engineering
tags:
- Open source
@@ -22,7 +23,7 @@ As a company that's extensively dedicated to the open source ecosystem as a whol
As a result, we have now [tagged some good first issues](https://github.com/PostHog/posthog/labels/Hacktoberfest) on our [main repo](https://github.com/PostHog/posthog/) with the <code class="hacktoberfest">Hacktoberfest</code> tag, as these should be suitable issues for first-time contributors. We have also made an effort to document those issues better, so that their scope is clearly defined.
![Hacktoberfest Banner](../images/blog/hacktoberfest/tagged-issues.png)
![Hacktoberfest Banner](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hacktoberfest/tagged-issues.png)
From the perspective of the Hacktoberfest rules, you are able to contribute to any issue, be it tagged or not. We welcome all contributions and would be happy to help you with your pull request. We nevertheless recommend you try to find an issue tagged with <code class="hacktoberfest">Hacktoberfest</code> or <code class="good-first-issue">good first issue</code> if this is your first time contributing to PostHog.

View File

@@ -1,13 +1,15 @@
---
date: 2023-02-17
title: "Our simpler goal: Help engineers to be better at product"
title: 'Our simpler goal: Help engineers to be better at product'
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
category: CEO diaries
author: ["james-hawkins"]
featuredImage: ../images/blog/posthog-ceo-diary-blog.png
author:
- james-hawkins
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-ceo-diary-blog.png
featuredImageType: full
---

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/posthog-array-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-array-blog.png
featuredImageType: full
author:
- andy-vandervell

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hogmail.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hogmail.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -68,4 +69,4 @@ category: General
* [How Do You Prove a Secret?](https://www.quantamagazine.org/how-to-prove-you-know-a-secret-without-giving-it-away-20221011/)
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hogmail.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -77,4 +78,4 @@ All the ways you can use filters to find useful session recordings.
- [How Discord supercharges network disks for extreme low latency](https://discord.com/blog/how-discord-supercharges-network-disks-for-extreme-low-latency)
- [Exploring massive, real-world data sets: 100+ Years of Weather Records in ClickHouse](https://clickhouse.com/blog/real-world-data-noaa-climate-data)
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hogmail.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -81,4 +82,4 @@ Charles shares his practical guide to how we run finance without a dedicated fin
- [Marie Kondo your software stack with open source](https://github.com/readme/featured/open-source-minimalism) (17 min read)
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- andy-vandervell
featuredImage: ../images/blog/hogmail.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -75,4 +76,4 @@ Mental note: y'all love articles with 'how' in the title, eh? Thanks for your su
- [How The New York Times Uses Machine Learning To Make Its Paywall Smarter](https://open.nytimes.com/how-the-new-york-times-uses-machine-learning-to-make-its-paywall-smarter-e5771d5f46f8) one for the data science and ML fans out there.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -5,8 +5,10 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/hogmail.png
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -51,7 +53,7 @@ We often get asked how to achieve the fabled product-market fit (PMF), mainly be
>"At any given moment in time, even if you have PMF, you still need to be working towards a future state where the market has evolved, and your product has kept up."
![product market fit](../images/blog/product-market-flex.jpeg)
![product market fit](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/product-market-flex.jpeg)
The author goes on to argue teams can flex two dimensions to achieve PMF: (i) reduce the effort by the user to get value (product); and (ii) increase user literacy (go-to-market).
@@ -69,4 +71,4 @@ John Cutler explores this idea further in [Product GTM Fitness](https://cutlefis
- [How employees can think like shareholders](https://www.mostlymetrics.com/p/questions-to-ask-before-taking-a) Or, to use the post's original title, "the REAL questions you should ask before taking a job", though the questions here are still relevant outside of that context. CEO James has written about this in the past, too.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -5,8 +5,10 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/hogmail.png
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -31,7 +33,7 @@ Words by Andy Vandervell, who just trains AIs to write now.
In November, Adam Smith, the founder of AI-assisted programming startup Kite, [announced they were closing](https://www.kite.com/blog/product/kite-is-saying-farewell/) despite having reached [product-market fit](/blog/product-market-fit-game) and 500k monthly-active developers.
![kite](../images/blog/hogmail/kit-farewell.png)
![kite](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hogmail/kit-farewell.png)
How does a product with **500k active users** fail? In Adam's opinion:
@@ -43,7 +45,7 @@ How does a product with **500k active users** fail? In Adam's opinion:
But, here's the kicker, he also says:
![kite blog](../images/blog/hogmail/kite-blog-excerpt.png)
![kite blog](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hogmail/kite-blog-excerpt.png)
Adam goes onto explain how it took five years to reach product-market fit and, having done so, they focused on growing users rather than working out monetization simultaneously.
@@ -79,4 +81,4 @@ Kite's source code is [now open source](https://github.com/kiteco).
- [Corey Haines on SaaS metrics that lie](https://twitter.com/coreyhainesco/status/1612943630997819394) Former Head of Growth at Baremetrics shares some insightful points on popular metrics that might mislead you.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -5,8 +5,10 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/hogmail.png
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -35,11 +37,11 @@ If [product-market fit](/blog/product-market-fit-game) isn't enough to succeed,
He goes on to argue this mentality can lead to what he calls the Product Death Cycle:
![product death cycle](../images/blog/hogmail/death-cycle.png)
![product death cycle](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hogmail/death-cycle.png)
In this model, the answer to "how do we grow?" is always launch new feature, but every new launch is slightly less successful than the last, and doesn't lead to lasting growth:
![product death cycle](../images/blog/hogmail/death-cycle-1.png)
![product death cycle](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hogmail/death-cycle-1.png)
Instead, he suggests successful startups ($100M+ in his reckoning) should seek four fits:
@@ -71,4 +73,4 @@ Balfour makes three final points:
* [How to Measure “Hard-to-Measure” Marketing Channels](https://sparktoro.com/blog/how-to-measure-hard-to-measure-marketing-channels/) Rand Fishkin on how to stop avoiding hard-to-measure marketing channels (e.g. native social, PR, events etc.) by learning how to measure them.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -5,8 +5,10 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author: ["andy-vandervell"]
featuredImage: ../images/blog/hogmail.png
author:
- andy-vandervell
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hogmail.png
featuredImageType: full
category: General
---
@@ -45,7 +47,7 @@ Josephine Conneely [makes a strong case](https://waysofworkingcollection.substac
Here's a [great read on async working](https://async.twist.com/remote-team-culture/) by Chase Warrington, Head of Remote at chat app Twist. It can be summed up by this graphic:
![async](../images/blog/hogmail/Team-culture-comparison-with-Twist-colors.png)
![async](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/hogmail/Team-culture-comparison-with-Twist-colors.png)
The post includes three useful tips for fostering the social bonds in an async team:
@@ -67,4 +69,4 @@ Dissent fuels innovation, but a "challenge everything" culture can "quickly meta
**Read:** [Challenging the status quo at work](https://workweek.com/2022/11/28/challenging-the-status-quo-at-work/) by Hebba Youseff
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.
> We send HogMail every two weeks. [Signup here](https://newsletter.posthog.com/subscribe) so you don't miss it.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/hosthog-banner.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hosthog-banner.png
featuredImageType: standard
category: PostHog news
---

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- marcus-hyett
featuredImage: ../images/blog/product-people.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/product-people.png
featuredImageType: full
category: Product growth
tags:

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- hanna-crombie
featuredImage: ../images/blog/lw-queries.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/lw-queries.png
featuredImageType: full
category: Product growth
tags:
@@ -58,7 +59,7 @@ The individual metrics are limitless. Youll see **pageviews**, **bounce rate*
## What is the best way to measure product engagement?
Listening to users actions is important, but how can you track engagement metrics and translate them into actionable insights?
![](../images/blog/how-to-measure-engagement/product-engagement-metrics.jpeg)
![](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-to-measure-engagement/product-engagement-metrics.jpeg)
A good way to get started is to use some basic metrics to create a broad framework for engagement insight. The following metrics are very easy to track with the help of product analytics software such as PostHog (pictured above).
@@ -93,7 +94,7 @@ If users are paying for features they dont use then it lowers the perceived v
By comparing the values of these metrics against each other you can begin to get an idea of where youre winning on product engagement, and where you might be losing out.
![](../images/blog/how-to-measure-engagement/correlation.png)
![](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-to-measure-engagement/correlation.png)
## What tools are good for tracking product engagement?
Naturally, we think PostHog is the best tool for tracking product engagement.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- marcus-hyett
featuredImage: ../images/blog/posthog-blog-image.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-blog-image.png
featuredImageType: full
category: Product growth
tags:

View File

@@ -8,7 +8,8 @@ hideAnchor: true
author:
- marius-andra
- ian-vanagas
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
---
@@ -25,7 +26,7 @@ This is the story of how [PostHog apps](/apps) went from three-day MVP into a se
PostHog apps were an idea of mine (Marius). I wanted a Google Analytics-style world map view and that required location data from IP addresses. While there were many services to do this, connecting them to event data was difficult. I decided to work on solving this during our Tuscany offsite hackathon.
![Map](../images/blog/how-we-built-an-app-server/map.png)
![Map](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-we-built-an-app-server/map.png)
My solution was to build an app platform and the first ever PostHog app, [GeoIP](/apps/geoip-enrichment), but the project vision immediately expanded to enable more modification of the events pipeline, such as backing up data to S3, syncing GitHub stars, or getting customer feedback.
@@ -192,7 +193,7 @@ As you can see by reading the above examples, the index file exports functions t
When users upload apps to PostHog, we import these functions from the files and run them through [custom babel transforms](https://github.com/PostHog/posthog/tree/master/plugin-server/src/worker/vm/transforms) for extra security. From there they run as callable functions on VMs as part of our ingestion pipeline and also have access to extensions like storage, caching, and logging. Overall, it looks like this:
![VM](../images/blog/how-we-built-an-app-server/vm.png)
![VM](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-we-built-an-app-server/vm.png)
Structuring apps this way provides flexibility to users while maintaining scalability and security. We continued to improve each of these aspects as apps developed:
@@ -250,7 +251,7 @@ We chose these because we used them elsewhere and they have a proven track recor
As mentioned earlier, our plugin server expanded to encompass much more than apps. It now handles all plugins, including apps that validate, process, format, and write event data to databases. The plugin server looks like this:
![Plugin server](../images/blog/how-we-built-an-app-server/plugin-server.png)
![Plugin server](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-we-built-an-app-server/plugin-server.png)
The main thread routes incoming tasks to the right location. It receives data and starts threads to complete them. We use [Piscina](https://github.com/piscinajs/piscina) (a node.js worker pool) to create and manage the threads. Piscina abstracts away a lot of the management of threads we would need to do to scale. The main thread also handles the functionality of scheduling and job queuing. The result creates tasks and sends them to worker threads to complete.
@@ -258,7 +259,7 @@ The main thread routes incoming tasks to the right location. It receives data an
Worker threads receive tasks from the main thread and execute them. Some of the tasks, like `processEvent` or `runEveryMinute`, use the callable functions (app code) we detailed above. Worker threads contain the VMs, as well as the ingestion logic and connections to extensions and libraries. Each worker thread can run up to 10 tasks at the same time.
![Worker thread](../images/blog/how-we-built-an-app-server/worker-thread.png)
![Worker thread](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/how-we-built-an-app-server/worker-thread.png)
When the worker thread finishes its task, it gets another new event, process, or other scheduled task from the main thread. The main thread handles getting and rerouting events for further processing. A final `onEvent` task runs once all the processing completes, which is useful for functions like exporting or alerting.

View File

@@ -1,10 +1,12 @@
---
date: 2024-02-19
title: "How we built our onboarding email flow (with actual performance data)"
title: How we built our onboarding email flow (with actual performance data)
rootPage: /blog
category: Inside PostHog
author: ["joe-martin"]
featuredImage: ../images/blog/blog_onboarding.jpg
author:
- joe-martin
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/blog_onboarding.jpg
featuredImageType: full
---
@@ -18,7 +20,7 @@ We dont do those sort of outreach emails. This is what we do instead, and how
Back in 2022, our onboarding flow was powered by Mailchimp and was _very_ simple. In fact, nobody actually knew what it looked like. So, I mapped it in [an RFC](https://github.com/PostHog/posthog.com/issues/3202).
![Onboarding 1.0](../images/blog/onboarding/onboarding_1.png)
![Onboarding 1.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_1.png)
<Caption>The first map we did of what our email onboarding flow looked like</Caption>
We didnt do welcome emails for new users, and even our monthly changelog emails were only sent to 660 opted-in users. I decided to change this and imported 30,000+ users into that email list.
@@ -33,7 +35,7 @@ Towards the end of 2022, we finally moved off of Mailchimp. We looked at tools s
Id observed from other companies that we needed to at least add a welcome email for new users, and I wanted to add checks after 24, 96, and 168 hours to see if users had ingested events. If yes, wed send them some basic usage advice. If no, wed offer them help. This was the very least I felt we could do.
![Onboarding 2.0](../images/blog/onboarding/onboarding_2.png)
![Onboarding 2.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_2.png)
<Caption>Onboarding 2.0 added more checks to try and validate ingestion and three simple introductory emails</Caption>
This didnt perform as well as youd think, however, mainly because the ingestion checks were unreliable. Users kept complaining about getting the wrong emails, so we threw this all out and moved to a new plan.
@@ -44,7 +46,7 @@ This didnt perform as well as youd think, however, mainly because the inge
By Q3 2023, we were adding more and more new products to PostHog. We wanted to feature these in our flow, but we were also worried about becoming spammy. Thankfully, now that we had Customer.io in place, we were able to judge this based on the data.
![Onboarding 3.0](../images/blog/onboarding/onboarding_3.png)
![Onboarding 3.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_3.png)
<Caption>New emails for 3.0 tried to emphasize what was possible with PostHog, directing users to helpful blog content</Caption>
Our conversion event was a user log-in within one week of opening an email. We hadnt yet thought of anything better.
@@ -70,7 +72,7 @@ Data is important, but I strongly believe it doesnt tell the whole story. You
How this works is simple: when a user signs up, they can optionally tell us what their role is. If their `role_at_organization` = `engineer` we trigger an email from me telling them about [our Product for Engineers newsletter](https://newsletter.posthog.com/).
![Onboarding 3.1](../images/blog/onboarding/onboarding_31.png)
![Onboarding 3.1](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_31.png)
<Caption>Onboarding 3.1 was when we really started tailoring emails based on what we knew about users</Caption>
This email performed very well, with a 68% open rate and a 16% CTR. Two emails into the flow and developers were already opting in to _more_ emails!
@@ -89,7 +91,7 @@ One successful experiment we did roll out was adding more personalized emails fo
[4.0](https://github.com/PostHog/meta/pull/150/) was a massive step up in complexity as a result of our growing number of features. By late 2023 the flow had 28 separate emails, of which users would get a maximum of 6 over several weeks. We still worried this would be too many, but the low (0.4%) unsubscribe rate suggested otherwise.
![Onboarding 4.0](../images/blog/onboarding/onboarding_4.png)
![Onboarding 4.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_4.png)
<Caption>Onboarding 4.0 split high-ICP users out into their own email flow because our CS team would reach out directly</Caption>
By this point wed also changed our conversion event to mean a user enabling billing for a product within one week of opening an email - a far better indicator of if the emails are delivering value than simply measuring logins.
@@ -107,7 +109,7 @@ At the time of writing this is the current onboarding flow. It contains over 53
The goal of this flow is to focus on improving activation, and build on some parallel improvements to our in-app onboarding flow. Now when a user signs up to PostHog we ask them to select a product to setup first: analytics, replays, flags, or surveys. [Onboarding 5.0](https://github.com/PostHog/meta/issues/172) builds off that selection by encouraging users to use that product, and then showing how other features can combine with it.
![Onboarding 5.0](../images/blog/onboarding/onboarding_5.png)
![Onboarding 5.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_5.png)
<Caption>Onboarding 5.0: Messy, complex, and highly personalized to user interests</Caption>
The hope was that this would improve in-app activation, which we roughly define as:
@@ -151,7 +153,7 @@ We do this in several ways in the latest version delaying our welcome email,
At the time of writing, Onboarding 5.0 has been live just one week its too early to judge any of the metrics because users will have only received the first email. The plan, however, is to keep an eye on the data (and user feedback) and find new ways to improve the flow even further.
![Onboarding 5.0](../images/blog/onboarding/onboarding_6.png)
![Onboarding 5.0](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/onboarding/onboarding_6.png)
<Caption>An active experiment within the current version of our email flow</Caption>
One way were already experimenting with this is by bringing back checks to see if users are ingesting events or not. Were testing this with the session replay product by running the flow you can see above for the first email after the welcome email.

View File

@@ -1,13 +1,14 @@
---
date: 2023-09-08
title: "How we made feature flags faster and more reliable"
title: How we made feature flags faster and more reliable
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
author:
- neil-kakkar
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: Engineering
hideLastUpdated: false
@@ -73,7 +74,7 @@ Since flags are evaluated multiple times in a session, sending a partial respons
So, we enable partial updates on our client side SDKs. Whenever there's an error computing all flags, we do a partial update: keep the old values for flags we failed to compute, and use the new value for flags we didn't fail to compute.
![partial flag eval](../images/blog/flag-resiliency/partial-eval.png)
![partial flag eval](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/flag-resiliency/partial-eval.png)
As we've noted before, the only flags that can fail evaluation are ones that depend on specific properties. Further, if a property change is triggering flag evaluation, the client SDK can send these new properties alongside the request, and we use these properties as overrides for flag evaluation. We automatically send these properties for all properties set via the SDK helpers.
@@ -91,7 +92,7 @@ Now we can dig deeper into how exactly evaluation works when the database is dow
The database going down means all three functionalities go down. Without flag definitions, we can't know what flags to evaluate. Without the project auth, we don't know which project to get to.
![local flag eval](../images/blog/flag-resiliency/local-eval.png)
![local flag eval](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/flag-resiliency/local-eval.png)
The solution here is caching: we cache flag definitions per project, and also the mapping from auth token to project. This means we don't rely on the database for the critical components to return a response.
@@ -148,7 +149,7 @@ Our p99 latency went down from about ~500ms to 300ms, while the p90 latency tank
As you can imagine, the p90 is so low because these requests don't touch the database at all, everything is handled in memory. What was surprising to me was that 90% of requests fall into this category.
![latency](../images/blog/flag-resiliency/latency.png)
![latency](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/flag-resiliency/latency.png)
When we are in incident mode, i.e. the app is down completely, feature flag p99 latency drops down to ~80ms as well, because we start skipping all database related flags where these properties weren't sent.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- james-greenhill
featuredImage: ../images/blog/clickhouse-announcement.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/clickhouse-announcement.png
featuredImageType: full
category: Engineering
tags:

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/simpler-self-deployments.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/simpler-self-deployments.png
featuredImageType: full
author:
- harry-waye
@@ -110,9 +111,9 @@ To simplify this task for our self-hosting users, weve improved the built-in
We create new templated dashboards when we identify better metrics to monitor, and techniques to debug an installation, and make them available to everyone in the next release.
![PostHog - built-in PostgreSQL dashboard](../images/blog/improving-posthog-deployments/postgresql.png)
![PostHog - built-in PostgreSQL dashboard](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/improving-posthog-deployments/postgresql.png)
![PostHog - built-in Redis dashboard](../images/blog/improving-posthog-deployments/redis.png)
![PostHog - built-in Redis dashboard](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/improving-posthog-deployments/redis.png)
Thanks to this work, you can now get critical insights about the majority of PostHog services by simply enabling the monitoring features in the Helm chart. You can read more about these in our [chart configuration docs](https://posthog.com/docs/self-host/deploy/configuration).

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- mo-shehu
featuredImage: ../images/blog/intro-phil.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/intro-phil.png
featuredImageType: full
category: Inside PostHog
---

View File

@@ -1,6 +1,6 @@
---
date: 2023-06-08
title: "Introducing HogQL: Direct SQL access for PostHog"
title: 'Introducing HogQL: Direct SQL access for PostHog'
rootPage: /blog
sidebar: Blog
showTitle: true
@@ -12,7 +12,8 @@ author:
tags:
- Product updates
- Release notes
featuredImage: ../images/blog/hog_ql.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hog_ql.png
featuredImageType: full
---
@@ -44,7 +45,7 @@ Too much to list in one blog post, but here are a few examples:
Want to break down signups by both pricing tier _and_ overall usage? No problem. HogQL does that. With HogQL, you can add as many breakdown properties as you like. Go nuts.
![HogQL breakdowns](../images/blog/array/hog_breakdown.mp4)
![HogQL breakdowns](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/hog_breakdown.mp4)
> **🎓 Related tutorial:** [Using HogQL for advanced breakdowns](/tutorials/hogql-breakdowns)
@@ -52,7 +53,7 @@ Want to break down signups by both pricing tier _and_ overall usage? No problem.
Oh, look. You can use HogQL in filters too. Useful for _filtering_ by multiple properties!
![HogQL filter](../images/blog/array/hog_filters.mp4)
![HogQL filter](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/hog_filters.mp4)
> **🎓 Related tutorial** [Using HogQL for advanced time and date filters](/tutorials/hogql-date-time-filters)
@@ -60,7 +61,7 @@ Oh, look. You can use HogQL in filters too. Useful for _filtering_ by multiple p
_And_ you can use HogQL to aggregate results in a funnel, too. Is there anything HogQL can't do? Probably, yes, but we'll enjoy finding out for sure.
![HogQL aggregations](../images/blog/array/hog_aggregate.mp4)
![HogQL aggregations](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/hog_aggregate.mp4)
> **🎓 Related tutorial** [The power of HogQLs sum() aggregation](/tutorials/hogql-sum-aggregation)
@@ -74,7 +75,7 @@ We're confident SQL insights will unlock deep analysis into how users use your p
To get a flavor, here's an example query summarizing survey data. It's purpose? Determining which countries prefer pineapple on a pizza. This is serious analysis:[^1]
![PostHog SQL insights](../images/blog/array/pineapple_sql.mp4)
![PostHog SQL insights](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/pineapple_sql.mp4)
```
select properties.$geoip_country_name,
@@ -105,11 +106,11 @@ There. Is. Mooooorrrre.
As part of our work on HogQL, we've reworked all our insights as JSON objects, which you can customize. Just click the 'View source' button in the top right (see below), and tweak the code directly.
![view source](../images/blog/array/view-source.mp4)
![view source](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/view-source.mp4)
You can also create custom table insights directly from Activity (previously "Live Events") and Person & Groups tabs.
![custom insights](../images/blog/array/custom_insights.mp4)
![custom insights](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/array/custom_insights.mp4)
Just hit that 'Open as a new insight' button (see above), tweak the JSON (if you want), and save your table to a dashboard or [notebook](/docs/notebooks).

View File

@@ -1,6 +1,6 @@
---
date: 2023-06-12
title: "Introducing HouseWatch: An open-source toolkit for ClickHouse"
title: 'Introducing HouseWatch: An open-source toolkit for ClickHouse'
rootPage: /blog
sidebar: Blog
showTitle: true
@@ -13,7 +13,8 @@ tags:
- Product updates
- Release notes
- ClickHouse
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
---
@@ -46,13 +47,13 @@ To help understand the performance of all the queries on your ClickHouse cluster
Each query includes metrics on average run time, calls per minute, percentage of all IOPs, total IOPs, and percentage of run time. It also includes details on the query itself and the `EXPLAIN` statement. From this, you can sort, monitor, and improve important, slow, or high-stress queries.
![Slow](../images/blog/introducing-housewatch/slow.png)
![Slow](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/slow.png)
### Schema stats
HouseWatch provides stats for all the tables for your cluster and lets you dive into the details for each of them. For each table, you can see columns, parts, compressed and uncompressed disk space sizes, disk usage, and more.
![Schema](../images/blog/introducing-housewatch/table.png)
![Schema](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/table.png)
### Query editing and benchmarking
@@ -60,23 +61,23 @@ With the size of data ClickHouse stores and processes, optimizing your queries i
You can run queries on your ClickHouse cluster and receive results visualized in HouseWatch. For query comparisons, you can write two queries, run them, and then get metrics on performance across the duration, read bytes, CPU usage, memory usage, and more.
![Compare](../images/blog/introducing-housewatch/compare.png)
![Compare](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/compare.png)
Weve also built a natural language query editor that uses GPT to create ClickHouse queries based on the table and instructions you provide.
![AI](../images/blog/introducing-housewatch/ai.png)
![AI](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/ai.png)
### Logs and errors
Like any good monitoring tool, HouseWatch provides access to logs and errors from ClickHouse. For both, you can search for specific ones, as well as see the number of and most recent occurrences.
![Errors](../images/blog/introducing-housewatch/errors.png)
![Errors](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/errors.png)
### Operations
Last but not least is our operations tool. This is inspired by our [async migrations tool](/handbook/engineering/databases/async-migrations), which we've used in production for over a year. It enables you to run and monitor long-running operations like migrations or SQL commands. You can monitor their status, pause or stop them, and retry them if they fail. Failures come with automatic rollbacks as well.
![Operations](../images/blog/introducing-housewatch/operations.png)
![Operations](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/introducing-housewatch/operations.png)
## Deploying HouseWatch
@@ -110,4 +111,4 @@ We aspire for HouseWatch to be like [pganalyze](https://pganalyze.com/) for Clic
- Support for monitoring multiple instances
- Automatic surfacing of known system issues
> You can see our full to-do list, suggest a feature, find installation details, or contribute by going to the [HouseWatch repo](https://github.com/PostHog/HouseWatch).
> You can see our full to-do list, suggest a feature, find installation details, or contribute by going to the [HouseWatch repo](https://github.com/PostHog/HouseWatch).

View File

@@ -1,16 +1,17 @@
---
date: 2023-12-19
title: "Introducing Notebooks for PostHog"
title: Introducing Notebooks for PostHog
rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/announcing-notebooks/notebooks.jpg
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/announcing-notebooks/notebooks.jpg
featuredImageType: full
author:
- joe-martin
category: PostHog news
tags:
tags:
- Product updates
---
@@ -30,7 +31,7 @@ Researching a new idea? Collect insights and add them to your proposal seamlessl
Planning a launch? Embed the feature flags, events, persons, or cohorts youll need to deploy changes and track success.
![Using PostHog notebooks](../images/blog/announcing-notebooks/pizza_survey.mp4)
![Using PostHog notebooks](https://res.cloudinary.com/dmukukwp6/video/upload/v1710055416/posthog.com/contents/images/blog/announcing-notebooks/pizza_survey.mp4)
Or, obviously, you can use a notebook as just a daily scratchpad. This is actually the default behavior, whereby a freshly opened notebook will persist only in the browser until you save it.

View File

@@ -7,7 +7,8 @@ showTitle: true
hideAnchor: true
author:
- joe-martin
featuredImage: ../images/blog/posthog-engineering-blog.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/posthog-engineering-blog.png
featuredImageType: full
category: General
tags:

View File

@@ -5,7 +5,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/hipaa-compliant-product-analytics.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/hipaa-compliant-product-analytics.png
featuredImageType: full
author:
- andy-vandervell
@@ -51,4 +52,4 @@ HIPAA fines operate on a sliding scale based on the severity of the breach and t
Fines aren't limited to large businesses. In 2017, a [children's charity was fined](https://www.hhs.gov/hipaa/for-professionals/compliance-enforcement/agreements/ccdh/index.html) due to storing PHI on a third-party platform without a BAA.
<ArrayCTA />
<ArrayCTA />

View File

@@ -7,7 +7,8 @@ rootPage: /blog
sidebar: Blog
showTitle: true
hideAnchor: true
featuredImage: ../images/blog/is-ga-illegal-microsite.png
featuredImage: >-
https://res.cloudinary.com/dmukukwp6/image/upload/posthog.com/contents/images/blog/is-ga-illegal-microsite.png
author:
- cory-watilo
category: Inside PostHog
@@ -25,23 +26,23 @@ Within five days, we launched [IsGoogleAnalyticsIllegal.com](https://isgoogleana
### It all started when our CTO shared the news on Slack
![The Netherlends also likely to declare Google Analytics illegal](../images/blog/is-ga-illegal-microsite/illegal-in-austria.png)
![The Netherlends also likely to declare Google Analytics illegal](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/illegal-in-austria.png)
### Then our VP of Ops came up with an idea to launch a microsite
![Is this idea funny or just really dumb?](../images/blog/is-ga-illegal-microsite/is-this-funny-or-just-really-dumb.png)
![Is this idea funny or just really dumb?](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/is-this-funny-or-just-really-dumb.png)
### Obviously this felt like a fun idea, so I put together a quick joke of a wireframe
![Is GA illegal?](../images/blog/is-ga-illegal-microsite/is-it-illegal-probably.png)
![Is GA illegal?](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/is-it-illegal-probably.png)
### Soon we had a gimmicky domain name and the idea was born
![Greatest domain name ever](../images/blog/is-ga-illegal-microsite/is-google-analytics-illegal.png)
![Greatest domain name ever](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/is-google-analytics-illegal.png)
### I remember being on a flight at the time. What better way to spend a couple hours in coach than to whip up a mock?
![1 hour mockup](../images/blog/is-ga-illegal-microsite/mockup.png)
![1 hour mockup](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/mockup.png)
## How we positioned the site
@@ -79,13 +80,13 @@ Theres also a giant scrolling news-style ticker posing the question, “Is Go
We tried to find the balance between providing real value without trying to look like were scaring people into needing to use PostHog.
![Now France too?!](../images/blog/is-ga-illegal-microsite/france-too.png)
![Now France too?!](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/france-too.png)
### 3. Make it abundantly clear whos behind this
Like a cigarette pack that has to include a giant health warning, we tried to go over the top to disclose who was behind the site. (You cant demonize a *little* self-promotion, right?)
![PostHog is clearly behind this](../images/blog/is-ga-illegal-microsite/we-not-hiding-it-bro.png)
![PostHog is clearly behind this](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/we-not-hiding-it-bro.png)
## The response
@@ -114,7 +115,7 @@ We see a differentiation between:
We were very specific in saying *product analytics* and not *website analytics*. Unfortunately some mistook our statement as the latter, and the claim were the only open source website analytics platform would be false!
![6EF42A7B-3EED-4852-884C-DEAA407A701E.jpeg](../images/blog/is-ga-illegal-microsite/6EF42A7B-3EED-4852-884C-DEAA407A701E.jpeg)
![6EF42A7B-3EED-4852-884C-DEAA407A701E.jpeg](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/6EF42A7B-3EED-4852-884C-DEAA407A701E.jpeg)
### Some people liked the design, others didnt (typical Hacker News!)
@@ -122,7 +123,7 @@ As the designer on this microsite, Id like to extend a shout out to melissalo
It was quickly followed up by the contrarian opinion, followed by a discussion about said opinions. (Would it really be a Hacker News thread if it *didnt* go down this rabbit hole?)
![7BCF2377-DE39-4B1F-8019-1180C49D55CC.jpeg](../images/blog/is-ga-illegal-microsite/7BCF2377-DE39-4B1F-8019-1180C49D55CC.jpeg)
![7BCF2377-DE39-4B1F-8019-1180C49D55CC.jpeg](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/7BCF2377-DE39-4B1F-8019-1180C49D55CC.jpeg)
### Consider how people will interpret what youre *not* actually saying
@@ -132,7 +133,7 @@ Countries required to follow GDPR can still use Google Analytics if they dont
Unfortunately, not everyone understood this distinction.
![D99263DC-C425-4D0D-989D-48C57C899C82.jpeg](../images/blog/is-ga-illegal-microsite/D99263DC-C425-4D0D-989D-48C57C899C82.jpeg)
![D99263DC-C425-4D0D-989D-48C57C899C82.jpeg](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/is-ga-illegal-microsite/D99263DC-C425-4D0D-989D-48C57C899C82.jpeg)
Given the fact that one of our values is to not use sneaky marketing tactics, I won't deny we pushed the boundaries here.

Some files were not shown because too many files have changed in this diff Show More