Link a source

Last updated:

|Edit this page

The PostHog data warehouse enables you to link your most important data into PostHog from sources like your CRM, payment processor, or database. Once linked, you can combine this data with the product analytics data already in PostHog and query across all of it.

The data warehouse is currently in beta. To access it, enable the feature preview in your instance. It is free to use during the beta period.

To link a source, go to the data warehouse tab, and click Link source in the top right. On the new source page, you have an option to choose a managed sources such as:

The other option is a self-managed source, which include:

You can find the set up instructions in-app or in the source specific docs.

Inbound IP addresses

We use a set of IP addresses to access your instance. To ensure this connector works, add these IPs to your inbound security rules to enable the data import:

USEU
44.205.89.553.75.65.221
44.208.188.17318.197.246.42
52.4.194.1223.120.223.253

Linking a custom source

The data warehouse can link to data in your object storage system. To do this, you'll need to:

  1. Create a bucket in your object storage system like S3, GCS, or Cloudflare R2
  2. Set up an access key and secret
  3. Add data to the bucket (potentially using a tool like Airbyte, Fivetran, Stitch, or others)
  4. Link the table in PostHog

See an example in our S3 setup docs.

Incremental vs full table

On some sources and tables, you can choose the sync method. The options are incremental replication or full table replication.

Incremental

With incremental replication, you only sync new or updated data. This reduces the total number of rows synced and how long it takes to sync.

When choosing incremental replication, you must select a field to identify new and updated data. This is often something like an updated_at timestamp, or an autoincrementing ID. Not all fields are suitable to be used to identify new and updated data, and so we only support the following types as replication keys:

  • integer (including bigint and smallint)
  • datetime
  • date
  • timestamp
  • numeric (for Snowflake)

The one downside to incremental syncing is that deletions of data won't be synced to your PostHog data warehouse. You need to use full table refreshes for this.

Full table

This reloads the whole table on every sync. This is great for tables with common data deletions or ones without an incrementing field (such as a updated_at timestamp).

Syncing

Once you add a source, you can see its status, sync frequency, and last successful run in the data warehouse sources page. You can also reload or delete sources here.

When you expand each source, you can see:

  • Schema name
  • Enable or disable syncing for that table
  • Synced table name in PostHog
  • Time the table was last synced
Data warehouse settings in PostHog

Questions?

Was this page useful?

Next article

Linking Stripe as a source

The Stripe connector can link charges, customers, invoices, prices, products, subscriptions, and balance transactions to PostHog. To link Stripe: Go to the Data pipeline page and the sources tab in PostHog Click New source and select Stripe Get your Account ID from your Stripe user settings under Accounts then ID Get a restricted API key that can read the resources you want to query Optional: Add a prefix to your table names Click Next For Stripe tables, incremental syncs will only…

Read next article