As PostHog starts to gain traction as an alternative solution to Google Analytics, it’s a great moment to start telling more about its capabilities, especially its scalability. One of their features that is lurking in the shadows is PostHog Apps. These apps allow you to extend PostHog’s functionality. PostHog Apps can help you set up connections with several mainstream platforms and perform actions with the data, both when ingested and distributed, and more.
Being an official PostHog partner, we dove into these apps to find out which ones you should consider using on your first project.
What is PostHog?
Before we start, let’s answer the basic question, what is PostHog? PostHog is an open-source product analytics platform that helps companies track user behavior and make data-driven decisions. It was founded in 2020 by James Hawkins and Tim Glaser and is built on top of popular open-source technologies like Django, React, and PostgreSQL.
PostHog offers a variety of features, including event tracking, user cohorts, A/B testing, funnels, and more. Users can also integrate PostHog with tools like Slack, Zapier, and Segment to streamline their workflows and data analysis. Users can leverage existing Google Tag Manager architectures by implementing the PostHog GTM Template.
One of the unique aspects of PostHog is its open-source nature, which allows users to self-host the platform and customize it to their specific needs. This can especially appeal to companies that want more control over their data and analytics tools.
Overall, PostHog is a robust analytics platform that offers a wide range of features and flexibility for companies looking to track and analyze user behavior.
What are PostHog Apps?
Essential PostHog Apps you should consider using
The Heartbeat will automatically send a unique event into the event ingestion queue at a rate of once per minute. This can be useful for several reasons, the main one being that you can receive an alert when tracking is down. This app works well with the Ingestion Alert app if your website does not receive a lot of visitors and you are worried about uptime.
Heartbeat App Information
- Link: https://app.posthog.com/project/apps?name=Heartbeat
- Author: https://github.com/marcushyett-ph
You can use the PostHog Ingestion Alert app to receive alerts whenever your project stops reveicing any data within a specific time range, or when drop in traffic has been resolved. You can easily setup alert webhook endpoints using solutions like Zapier. If your websites receives round-the-clock visitors this app will be sufficient, however, if you have a low traffic website use this app together with the Heartbeat app to simulate traffic.
Ingestion Alert App Information
- Link: https://posthog.com/docs/apps/ingestion-alert
- Authors: https://github.com/kpthatsme & https://github.com/marcushyett-ph
The Property Filter app is as straight-forward as they come. Simply enter a comma separated list of properties you want filtered out from your event before the data is ingested by PostHog.
Property Filter App Information
- Link: https://app.posthog.com/project/apps?name=Property%20Filter
- Authors: https://github.com/Christian-aman-insurely & https://github.com/lsmith77
Remember the times back when we had to build workarounds in Google Tag Manager to deduplicate transactions? My theory is that Paolo, a former PostHog developer experienced this, too, and purposely try to build this app to save us the trauma 😉
The app has two modes according to the documentation:
Event and Timestamp. An event will be treated as duplicate if the timestamp, event name and user’s distinct ID matches exactly, regardless of what internal properties are included.
All Properties. An event will be treated as duplicate only if all properties match exactly, as well as the timestamp, event name and user’s distinct ID.
It would be nice if the app was updated to include a deduplication on transaction ID value… we were so close.
Unduplicates App Information
- Link: https://app.posthog.com/project/apps?name=Unduplicates
- Authors: https://github.com/paolodamico
User Agent Populator
This App will help you break down useragent values into separate variables from the event payload. When collecting data from the frontend, or any source that supports useragent data, this will be done automatically. There are a few cases in which you will need to enable this, such as server-side data collections. In a recent customer case we used this App to parse data forwarded from a frontend to a server-side call, including the useragent string derived from navigator.useragent global variable. PostHog initially did not parse the data properly into separate variables, after enabling this App, it did.
User Agent Populator App Information
- Link: https://app.posthog.com/project/apps?name=User%20Agent%20Populator
- Authors: https://www.npmjs.com/~weyert
URL query parameter converter
Again, another app that does exactly what it does, convert query parameter key/value pairs into event parameters. This app is extremely flexible in that you can define which query parameters you want turned in event parameters, and if you want to add a prefix or suffix to identify the parameters in your data warehouse.
URL query parameter converter App Information
- Link: https://app.posthog.com/project/apps?name=url-query-parameter-converter
- Authors: https://github.com/everald
Event Sequence Timer
The Event Sequence Timer app is great. Its simplicity is refreshing, and its purpose is practical. Let’s say you want to track the time it takes a user to complete a form. The form has both a start and submit event. Using the Event Sequence Timer app you simply denote the events you want to track (form_start, form_submit) and an extra parameter will be added to the latter event indicating how long the user took to complete the sequence.
Event Sequence Timer App Information
- Link: https://app.posthog.com/project/apps?name=Event%20Sequence%20Timer%20Plugin
- Authors: https://github.com/yakkomajuri
Similar to the Property Filter app, Filter Out can help you prevent the ingestion of events of which the event payload may be incomplete, or originated from development activities. By uploading a JSON file with conditional statements events can be dropped.
Common cases for this could be the filtering out of events:
- generated from a specific useragent
- where the properties indicate that the event was generated on a development server
- where the properties indicate that the event was generated by an internal user
- form events where text fields include URLs possibly indicating spam traffic
In any case, this App serves several purposes, unique to every PostHog customer. Use it wisely.
Filter Out App Information
- Link: https://app.posthog.com/project/apps?name=Filter%Out%20Plugin
- Authors: https://github.com/plibither8
First Time Event Tracker
The First Time Event app is one of those apps that you did not know you needed, until you had it. Imagine being able to track the first time a specific event was triggered for a user, or in general. This app will do just that for you. This data will then be available in your data warehouse to take action on.
- When did a user make their first purchase?
- When did a user become a paying subscriber for the first time?
- When did a place their first bid?
The options are endless, but the power lies in how you leverage this data, and that would require a whole separate blog post.
First Time Event Tracker App Information
- Link: https://app.posthog.com/project/apps?name=First%20Time%20Event%20Tracker
- Authors: https://github.com/yakkomajuri
The Property Flattener app may not seem essential to developers, but for analysts it could be that warm shower after a day out in the cold. The app flattens nested properties in an event payload, into simple root level properties. Although this is great for single nested objects, it could should not be used in multiple nested objects such as an items array. Nevertheless, this app could simplify certain analysis activities.
Property Flattener App Information
- Link: https://app.posthog.com/project/apps?name=Property%20Flattener%20Plugin
- Authors: https://github.com/yakkomajuri, https://github.com/timgl, https://github.com/mariusandra, and https://github.com/chasovskiy
The Taxonomy Standardizer app is another great addition to the PostHog Apps collection. It is well know that frontend, backend, and app developers often maintain different standards when it comes to naming parameters. If the terms camel, snake, kebab, and pascal ring a bell, you know the problems analysts can sometimes face… inconsitent taxonomy. This app helps solve that problem (unfortunately not the naming convention inconsistencies) by allowing you to standardize the output before the event payload is ingested by PostHog.
Taxonomy Standardizer App Information
- Link: https://app.posthog.com/project/apps?name=Taxonomy+Plugin
- Authors: https://github.com/yakkomajuri