Troubleshooting and FAQs

Last updated:

|Edit this page

Why are events not appearing in my project?

There are a few common reasons that you may not see events appear in your project:

1. Your library is configured incorrectly

This is the most common reason events may be missing. To debug if this issue, you can try send events to https://webhook.site/:

Warning: Make sure to not use sensitive data while debugging using third-party tools.

  1. Visit webhook.site and copy “Your unique URL”.
  2. In your PostHog initialization code, replace "https://app.posthog.com" or "https://eu.posthog.com" if using the EU Cloud) with the URL you copied from webhook.site. For example:
posthog.init('<ph_project_api_key>', { api_host: '<https://webhook.site/843c9506-b845-4ce4-af46-d04022279393>' }) // Replace with the URL you copied from webhook.site
  1. Send a few events from your app.

If events are not visible in webhook.site, that means you have misconfigured your PostHog library, or incorrectly formatted your events. Consult our installation guide for how to initialize PostHog.

If events are indeed visible in webhook.site, these means that you have configured your PostHog correctly.

Events visible on webhook.site

2. There is a bug the library

Sometimes, bugs in the PostHog library may be the cause of missing events. However, this is quite uncommon.

To debug if this is the issue, most of our SDKs have an option to enable debug logging. Consult the relevant SDK docs for how to do this.

If you're using the JavaScript web library, you can identify failed requests using the network tab in your browser devtools:

  1. Open devtools in your browser and switch to the network tab.
  2. Identify the failed requests to app.posthog.com/e (or eu.posthog.com/e if you're using EU Cloud).
  3. Right click one of those request and click Copy -> Copy as cURL.
  4. See below on how to report your issue and attach your cURL command to get further support.

network request being sent to posthog

3. Events are not ingested after being received by PostHog.

If your library is configured correctly and successfully sending events to PostHog, events may get lost in the ingestion pipeline – e.g. if there is an active incident.

To confirm if this is the issue, use the following steps:

  1. Ensure that PostHog is not experiencing an incident, as this may cause ingestion lags.

  2. Check your PostHog app for any ingestion warnings.

  3. Send your event as a cURL request directly

    • i) Copy your cURL request.
      • If you're using the JavaScript web library, you can copy the cURL request from the network tab in your browser devtools.
      • If you're using any other library, you can track your outgoing network requests using something like Wireshark and format them as a cURL request.
    • ii) Decode your request.
    • iii) Send your event a cURL request. Wait 1 hour and check if the event is still not visible in PostHog.

Once you have confirmed there is an issue with event ingestion, you can report your issue to get further support.

Report your issue

Step 1: Decode your cURL command

  1. Your copied cURL command will look similar to this:
curl 'http://localhost:3000/e?ip=1&_=1691496272289&ver=1.53.4' \
-H 'Origin: http://localhost:3000' \
--data-raw 'data=W3siZXZlbnQiOiJjaGFuZ2UgYmlsbGluZyBjeWNsZSIsInByb3BlcnRpZXMiOnsiJG9zIjoiTWFjIE9TIFgiLCIkYnJvd3NlciI6IkNocm9tZSIsIiRkZXZpY2VfdHlwZSI6IkRlc2t0b3AiLCIkY3VycmVudF91cmwiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAvcHJpY2luZyIsIiRob3N0IjoibG9jYWxob3N0OjMwMDAiLCIkcGF0aG5hbWUiOiIvcHJpY2luZyIsIiRicm93c2VyX3ZlcnNpb24iOjExNSwiJGJyb3dzZXJfbGFuZ3VhZ2UiOiJlbi1HQiIsIiRzY3JlZW5faGVpZ2h0Ijo5MDAsIiRzY3JlZW5fd2lkdGgiOjE0NDAsIiR2aWV3cG9ydF9oZWlnaHQiOjc5MCwiJHZpZXdwb3J0X3dpZHRoIjo3OTcsIiRsaWIiOiJ3ZWIiLCIkbGliX3ZlcnNpb24iOiIxLjUzLjQiLCIkaW5zZXJ0X2lkIjoicnNsdm9pYXlocjEydXRvbSIsIiR0aW1lIjoxNjkxNDk2MjcxLjc5NywiZGlzdGluY3RfaWQiOiIxODlkNTA4YjBmNDRkNzAtMDBmN2E5MmRkNmE0MzgtMWE1MjU2MzQtMTNjNjgwLTE4OWQ1MDhiMGY1NTJlZSIsIiRkZXZpY2VfaWQiOiIxODlkMTM4ZmMxZjJjMzYtMGQ4MmQ4Njc4NjA4YmUtMWI1MjU2MzQtMTNjNjgwLTE4OWQxMzhmYzIwM2M2NCIsIiRyZWZlcnJlciI6IiRkaXJlY3QiLCIkcmVmZXJyaW5nX2RvbWFpbiI6IiRkaXJlY3QiLCJ0b2tlbiI6InRlc3QiLCIkc2Vzc2lvbl9pZCI6IjE4OWQ1MDhjZmIxMWViMi0wZjkyMjU2YTk1OTBhNS0xYTUyNTYzNC0xM2M2ODAtMTg5ZDUwOGNmYjI0MWZiIiwiJHdpbmRvd19pZCI6IjE4OWQ1MDhjZmIzNDc0Yy0wNmQ2Mzc2NWI3NGEzZi0xYTUyNTYzNC0xM2M2ODAtMTg5ZDUwOGNmYjQ0NzVlIiwiJHBhZ2V2aWV3X2lkIjoiMTg5ZDUwOGFlMjYzOWJmLTAyYjFjNzgwZTRmMDktMWE1MjU2MzQtMTNjNjgwLTE4OWQ1MDhhZTI3NDMxZCJ9LCJvZmZzZXQiOjQ5Mn1d' \
--compressed
  1. Copy the base64 encoded string right after --data-raw 'data=.

  2. Visit base64decode.org and paste the encoded string.

  3. Click decode and paste the decoded output into this format:

POST https://[your-instance].com/capture/
Content-Type: application/json
Body:
{
"api_key": "<ph_project_api_key>",
"event": "[event name]",
"distinct_id": "[your users' distinct id]",
"properties": {
"key1": "value1",
"key2": "value2"
},
"timestamp": "[optional timestamp in ISO 8601 format]"
}

Step 2: Submit a support ticket

  1. Submit a support ticket via the app (or contact the EU-Cloud support). Submit your issue in the below format, and also include the decoded request from step 1.
# Library:
// e.g.
// posthog-python https://posthog.com/docs/libraries/python
# Library initialization:
// e.g.
// from posthog import Posthog
// posthog = Posthog(phc_yourAPIKey, host='app_or_eu.posthog.com')
# What was called:
// e.g.
// posthog.capture(
// "Bob",
// "user signed up",
// {
// "login_type": "email",
// "is_free_trial": "true"
// }
// )
# Network request
// [include request from previous step here]
# What was expected to happen:
// e.g.
// To see the network call include the login_type property.
# What actually happened:
// e.g.
// The "login_type" property was missing.

Questions?

Was this page useful?

Next article

Trends

Overview Trends are a type of Insight that allow you to plot data from people, events, and properties. Trends are an incredibly powerful part of PostHog's analytics toolbox, and are useful for finding patterns in your data, as well as monitoring your product to ensure everything is running smoothly. What can you learn from trends? Track how your metrics are changing over time. Compare the usage of different features side-by-side. Determine how a specific change affects usage or engagement with…

Read next article