# PostHog

Connecting PostHog to Zero maps your product analytics to the right customers, so you can see adoption at a glance. It also helps you spot active prospects during trials and flag potential churn risks early.

With this integration, you can:

* See all analytics events tracked for companies in your workspace.
* Monitor product activity in real time alongside deal and account progress.

***

## How to connect PostHog to Zero

To connect PostHog with Zero, you will need an API Key with Read-Permissions. Note that project-level API keys are write-only. They will not work. Use a personal API key instead.

{% stepper %}
{% step %}
In PostHog, open your **Settings**. Under **Account → Personal API keys**, create a new key. Create the key with all "Read" permissions enabled.

<figure><img src="/files/H4WplWgWtnNXZTyG5piw" alt=""><figcaption></figcaption></figure>

Alternatively, use this link and replace `{PROJECTID}` with your actual PostHog project ID:\
[`https://eu.posthog.com/project`](https://eu.posthog.com/project/35629/settings/user-api-keys#personal-api-keys)`{PROJECTID}`[`/settings/user-api-keys#personal-api-keys`](https://eu.posthog.com/project/35629/settings/user-api-keys#personal-api-keys)
{% endstep %}

{% step %}
In Zero, go to your **Workspace Settings → Integrations**. Scroll to **Analytics Integrations** and create a new connection.

<figure><img src="/files/KA5DWhNNy3EeElUP2E0v" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Select **PostHog**, paste the details you noted above, and click **Connect Integration**.

<figure><img src="/files/0SGeCefSFjtKJBXz6q0z" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
If you followed all the steps correctly, you should see the following view.

<figure><img src="/files/vcUJq6EscMCMFQZ54UXl" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

## How the integration works

* Zero maps data at the **company** level and does **not** pull user-level data.
* Companies are matched using the email domain on the PostHog event and the domain on the company record in Zero.
* On first connect, Zero pulls **90 days** of data by default. You can extend the sync window in the integration settings.
* Data gets refreshed four times a day.

**If you don’t see data yet, check:**

* The initial sync may still be running—new connections can take a bit to complete.
* The events you’re looking for might be **outside** the synced date range.
* The company’s domain in Zero doesn’t match the email/domain on the PostHog event.\
  \&#xNAN;*Coming soon:* a troubleshooting view in Zero to list unmatched emails/domains from PostHog.

***

## Where the data appears in Zero

* In any list, add the **Analytics events** column.

<figure><img src="/files/7ThQV2PeREo4mZ0trBQx" alt="" width="360"><figcaption></figcaption></figure>

* Hover over the bubbles to see a breakdown of events.

<figure><img src="/files/RlxiHbkmnbm4z4dId7Nb" alt="" width="563"><figcaption></figcaption></figure>

* Configure the column from its header:
  * **Event types**: choose which events to include.
  * **Max value**: set the bubble scale; counts above this show at the maximum size.
  * **Date range**: choose how many days to include.
  * **Summary**: pick how events are aggregated.

<figure><img src="/files/3qZUrbJZQhxYwZL2kerq" alt="" width="563"><figcaption></figcaption></figure>

* You can also use **“Analytics Events”** as an entity in the [**“Reports”**](/features/reports.md) section to add the data as a chart to your dashboards.

<figure><img src="/files/QZI8iXVEhdQ0xA53KmUW" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zero.inc/features/integrations/posthog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
