Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Blog] Practical alerts examples #10147

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions contents/blog/practical-alerts.mdx
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth thinking about how we are going to promote this piece, likely needs some solid backlinks to help people find their way there.

Could we plan a social post/thread for it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call. I think we could probably pick out the most compelling example(s) and share those on social.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Should link from the Alerts docs for a start. Could probably add to some product analytics pages.

We can also turn the individual ideas into social posts.

Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
---
title: '6 practical uses for PostHog alerts'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love this headline. We should workshop some ideas before we go live

date: 2024-12-16
author:
- bijan-boustani
rootpage: /blog
category: General
tags:
- Alerts
- Product updates
---

To keep life interesting, it's important to live in a state of perpetual ignorance. When things are going well, there's no need to find out why. When things go downhill, let anxiety run its course.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, btw. Love a bit of humor as a starter!


![Homer covers his eyes](https://res.cloudinary.com/dmukukwp6/image/upload/319051_c8e072f85e.gif)

An alternative, less exciting, approach to life is to become aware as things change. For example, you can use PostHog's new alert features to receive notifications based on your [insights](/docs/product-analytics/insights).
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved

You can track important metrics and get email notifications when they cross a threshold that you specify. The threshold can be an absolute value (e.g. pageviews exceeded 1,000) or a relative amount (e.g. conversion rate increased by 10%).

So, instead of having to remember to check in on a metric or feature; you can receive an email alert when changes occur.
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved

Let's get started with how to create alerts, and then we'll dive into some practical examples of how they can be helpful.
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved

## How to create alerts

Alerts are based on your insights. You can select from your existing [trends](/docs/product-analytics/trends/overview), or create a new one.
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved

To create an alert, click the **Alerts** button on the top right of the insight page.

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/alerts_button_4ecd022cd6.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/alert_button_dark_c2f642fde3.png"
alt="alerts button"
classes="rounded"
/>

To configure the alert, set the following:

- **Name:** the name you'll see when the alert is triggered.
- **When:** the data points the alert will be based on. The drop-down contains a list of all the series in your insight's graph. For example, if you have an insight that tracks the number of pageviews and signups, you can use either of these series as the basis for the alert threshold.
- **Type:** select "has value" to check if the series is more or less than an absolute amount. Or, select "increases by/decreases by" to check if the series increased or decreased by a relative amount. These can also be configured with a percentage instead of a static value (e.g. signups increased by 10%).
- **Frequency:** set how often you want to check the alert threshold (hourly, daily, weekly, monthly).
- **Who to notify:** select who should receive an email when the alert is triggered.
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/filled_alert_627158e6bb.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/alert_people_dark_0ccd7611bd.png"
alt="filled alert"
classes="rounded"
/>

Then, click **Create alert** and you'll see the new alert:

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/insight_alerts_5k_daef47ade1.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/created_alert_dark_1710da74dc.png"
alt="insight alerts"
classes="rounded"
/>

For a more detailed walkthrough, you can also check out our [Alerts docs](https://posthog.com/docs/alerts), which we'll update as we add new features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we make this caveat anywhere else, so it is ok to drop it

Suggested change
For a more detailed walkthrough, you can also check out our [Alerts docs](https://posthog.com/docs/alerts), which we'll update as we add new features.
For a more detailed walkthrough, you can also check out our [alerts docs](/docs/alerts).


## Practical uses for alerts

Now that we can create alerts, let's take a look at a handful of practical examples.

### 1. Get an alert when traffic spikes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could I track all my blogs and get a notification when one of them goes viral?


Want to investigate spikes in traffic to your website? Monitoring the traffic to your website can help you measure the success of marketing campaigns and understand which activities drive the most visitors to your site.

These kinds of alerts can also be useful when traffic spikes are unexpected. We often see this at PostHog when our content gets featured in a popular email newsletter or shared on Hacker News. When we notice an influx of new signups, it can be fun to dig in and try to figure out where they came from.
Comment on lines +72 to +74
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Monitoring the traffic to your website can help you measure the success of marketing campaigns and understand which activities drive the most visitors to your site.

This is something you could just use insights for, it is traffic spikes that really leverage alerts. Lets get more specific here.

Suggested change
Want to investigate spikes in traffic to your website? Monitoring the traffic to your website can help you measure the success of marketing campaigns and understand which activities drive the most visitors to your site.
These kinds of alerts can also be useful when traffic spikes are unexpected. We often see this at PostHog when our content gets featured in a popular email newsletter or shared on Hacker News. When we notice an influx of new signups, it can be fun to dig in and try to figure out where they came from.
We often see traffic when our content gets featured in a popular email newsletter or shared on Hacker News. When we notice an influx of new signups, it can be fun to dig in, try to figure out where they came from, and see if there is opportunities to engage further or increase our reach.


For example, we can set up an alert when the number of pageviews for our [pricing page](/pricing) rises above 8,000 views for the week. First, we [create a new trend insight](/docs/product-analytics/trends/overview#1-creating-a-new-trend) to track pageviews where "Path Name" equals "/pricing". Then, filter by the year-to-date and group by week.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we connect this with a real life situation?

  • Someone shares our pricing page (or content)
  • We want an alert for it
  • We reach out to them to thank them

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 Ian's point.

Additional suggestion: could you add a screenshot of a fully-configured alert for each example? I think this will help people grok what it looks like and how to make their own.


Then, set up an alert using the steps above to trigger a notification when the number of pageviews rises above 8,000. When the threshold is crossed, this is what the email alert looks like:

![Pricing pageviews alert](https://res.cloudinary.com/dmukukwp6/image/upload/posthog_alert_df58e89828.png)

### 2. Get notified for 404 page anomalies
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fwiw, I feel like the 404 section is a bit on the long side. Would be good if you could simplify a little.


You can also use alerts to track down errors. For example, you can track the number of visits to your 404 page. If someone visits `posthog.com/some-nonexistent-url`, they will land on our 404 page. Some number of these kinds of visits to this page is to be expected. Anyone that misspells a URL or finds a dead link is bound to land here at some point.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can also use alerts to track down errors. For example, you can track the number of visits to your 404 page. If someone visits `posthog.com/some-nonexistent-url`, they will land on our 404 page. Some number of these kinds of visits to this page is to be expected. Anyone that misspells a URL or finds a dead link is bound to land here at some point.
You can also use alerts to track down errors. For example, you can track the number of visits to your 404 page. Some number of these kinds of visits to this page is to be expected. Anyone that misspells a URL or finds a dead link is bound to land here at some point.


But what about anomalous spikes in 404s? It might mean you deployed a broken link somewhere. Or perhaps you moved a page and need to set up a redirect to prevent users from missing it.
Copy link
Contributor

@ivanagas ivanagas Dec 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
But what about anomalous spikes in 404s? It might mean you deployed a broken link somewhere. Or perhaps you moved a page and need to set up a redirect to prevent users from missing it.
But what about anomalous spikes in 404s? It might mean you deployed a broken link on a popular page, or perhaps you moved a page and need to set up a redirect to prevent users from missing it?


In this case, you can set up another trend insight to graph the number of pageviews for your 404 page. You can examine the graph to establish a baseline for a standard amount of traffic to the 404 page. Then, set up an alert to check when 404s are significantly higher than this baseline.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a mention that you'd have to set up a custom event to capture 404 pages (or maybe there is a way to do it with an action).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also have a tutorial on this that might be worth linking: https://posthog.com/tutorials/broken-link-checker


<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/404_graph_light_089709bc1e.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/404_graph_79107f52bb.png"
alt="404 graph"
classes="rounded"
/>

You can also click the graph where you see a spike and it will display a list of all the users effected. If you have [session replay](/session-replay) enabled, you can watch the session where the 404 occurred and figure out exactly which link is broken.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this point about session replay works better in the monitoring deploys section. It should be pretty obvious which link is broken.

CMD + F -> broken link URL


In addition to 404s, this same logic can be applied to other events like "rageclicks." Rageclick events are when a user has rapidly and repeatedly clicked in a single place. It could be an indicator that there is some visual affordance that looks like it should be interactive, but users are surprised to find out it does nothing. You can use the same process we used for the 404 visits to hunt down rageclicks as well.

### 3. Alert if billing emails are not sent

Alerts can also be used to check for the _absence_ of something happening.

For example, PostHog tracks the number of transactional billing emails that get sent out every day. If these emails aren't getting sent, it would be a big deal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would someone track this?


To do something similar, you can track events when you trigger transactional emails. Then, create an insight to track the number of emails sent every day.

Then, we can set up an alert called "No billing events sent" that gets triggered when the transactional emails have a value less than 1. In other words, it will trigger the alert if no emails get sent.

We can set the frequency to check this daily. For critical alerts like this, you can add more than one email to the notification list and ensure the entire billing team receives the alert.

### 4. Monitor deploys and new features
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This whole section is a bit too vague, what are some specific ways they can use alerts to make sure their deploy goes well? Also, what are the most important alerts to set up?


With feature flags, you can set up [canary releases](/tutorials/canary-release) to safely roll out changes and make sure your new features work well before they're released to all your users.

But you still want to monitor deploys and new features to verify that they're having the intended effect and not triggering unexpected errors.

![Simpson, you've got a 513](https://frinkiac.com/meme/S08E23/385084.jpg?b64lines=U0lNUFNPTiwgWU9VJ1ZFIEdPVCBBIDUxMyE=)
![That got it](https://frinkiac.com/video/S08E23/XOUcScbq8W_7yoA6nti16cCC31A=.gif)
Comment on lines +119 to +120
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of gif and they aren't the same size which is a bit jarring

  1. I think the <ProductImage> component centers them
  2. If not, the second one might just be fine.


For example, you could track error events and trigger an alert if the error rate rises above a particular threshold after a new feature launch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you mention that you could use a feature flag property to filter for these errors?


But there are more subtle issues that aren't necessarily bugs or errors. For example, you could launch a big redesign for the product pages on your marketing website. Or change the copy on some of your CTAs. Those won't necessarily trigger errors, but they could still have a drastic impact on engagement.

So you can set up an alert that coincides with the launch of a redesigned page and verify that the number of CTA clicks should hopefully be increasing, not decreasing.

### 5. Alert on changes in conversion rates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good section


To set alerts on changes in your conversion rate, you can set up an insight that tracks visits to your pricing page and signups. For example, we can create a trend insight and filter for pageviews where "Path Name" equals "/pricing". And then add a filter for our `user_signed_up` event. So this insight will display a graph with a line for the number of pageviews for the pricing page as well as a separate line for the number of users that signed up.

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/conversions_light_efbbc10280.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/conversion_graph_d4ac533adf.png"
alt="Conversions"
classes="rounded"
/>

If we want to find out when the conversion rate increases or decreases by 10%, we can set up multiple alerts. We can set up one alert for when the `user_sign_up` event is increasing by 10% and a separate alert for when the `user_sign_up` event is decreasing by 10%.

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/mutliple_alerts_light_a45b5f0ad9.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/mutliple_alerts_dark_1d37e0e9b9.png"
alt="Multiple alerts"
classes="rounded"
/>

### 6. Alert on breakdown in referral sources
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is basically the same as the first one

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. I think the differentiation for this one was just to show that you can create alerts for trends that have a breakdown. But I'll take another look and see if there's a way to further differentiate. It's a decent example that was mentioned in the GitHub issue, but you're right it could be redundant.


We also have the ability to trigger alerts on trends with breakdowns. For example, you can track all the traffic to your website broken down by the referral source (e.g. google, substack, direct).

If there's a major change in where the traffic is coming from, we want to trigger an alert. Traffic could surge from a new source, or an existing source of traffic could disappear, even if the overall traffic remains the same.

Here's an example where we set up an alert when any of those breakdown values increases by 10% or more:

<ProductScreenshot
imageLight="https://res.cloudinary.com/dmukukwp6/image/upload/breakdown_light_a6de1bd240.png"
imageDark="https://res.cloudinary.com/dmukukwp6/image/upload/breakdown_dark_5d2300b6cd.png"
alt="Breakdown alerts"
classes="rounded"
/>

> 📝 Note: For trends with a breakdown, the alert will fire if _any_ of the breakdown values breaches the threshold.

## Upcoming improvements and suggestions

Alerts are currently available for trends insights. But we're currently working on adding alerts for [funnels](/docs/product-analytics/funnels), which will make it easier to track conversions across various stages. For example, we can create a funnel to see how many users are following through and signing up after visiting our pricing page.

Thanks to [Anirudh](/community/profiles/30974) for making this much-requested feature a reality. The idea for threshold-based alerts started as a [GitHub Issue](https://github.com/PostHog/posthog/issues/14331), so if you have other interesting use cases and suggestions for how to improve the features, be sure to let us know!
bijanbwb marked this conversation as resolved.
Show resolved Hide resolved
2 changes: 1 addition & 1 deletion contents/founders/posthog-first-five.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Eric has worn many hats since joining PostHog, building many of our user-facing

![James](https://res.cloudinary.com/dmukukwp6/image/upload/v1710055416/posthog.com/contents/images/blog/posthog-first-five/james.png)

In the early days, James would check out people who starred the GitHub repo and sometimes get in touch to gather feedback. One day, he spied a data engineer at Uber, [James Greenhill](/community/profiles/90) (aka Jams), had left a star and this piqued his interest.
In the early days, James would check out people who starred the GitHub repo and sometimes get in touch to gather feedback. One day, he spied a data engineer at Uber, [James Greenhill](/community/profiles/30174) (aka Jams), had left a star and this piqued his interest.

On a call, Jams explained Uber had built a bunch of internal tools like PostHog for data control reasons. He found the project interesting and wanted to work on it, so he did a SuperWeek like Eric and Marius.

Expand Down
Loading