Linking Superwall as a source

Alpha release

This source is currently in alpha. The interface and available tables may change.

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

The Superwall connector syncs your paywall, campaign, product, entitlement, survey, and webhook event data from Superwall into PostHog.

Prerequisites

You need a Superwall account with an organization API key. The API key must have read scopes for the tables you want to sync.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Superwall, you need:

  • Organization API key - Create an organization API key in Superwall under Access Controls. Grant read scopes for the tables you want to sync: paywalls:read, campaigns:read, products:read, entitlements:read, surveys:read, and webhooks:read.

  • Project ID - Your Superwall project identifier.

  • Application ID - Your Superwall application identifier.

You can find your project ID and application ID in your Superwall dashboard settings.

Sync methods

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

All Superwall tables sync using full table refresh only. Incremental sync is not available because Superwall's API does not provide timestamp filters for most endpoints.

Webhook events include only the history retained by Superwall.

Configuration

OptionTypeRequired
Organization API keypasswordYes
Project IDtextYes
Application IDtextYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
paywalls

Paywalls for the application, including their products and presentation settings.

Full refresh—id
campaigns

Campaigns for the application, including placements, audiences, and delivery settings.

Full refresh—id
products

Products for the project, including store identifiers, prices, and subscription details.

Full refresh—id
entitlements

Entitlements for the project and the products that provide them.

Full refresh—id
surveys

Non-archived surveys for the application, including questions and response options.

Full refresh—id
webhook_events

Webhook event messages retained for the project, including their payloads and delivery channels.

Full refresh—id

Troubleshooting

  • Invalid API key - The Superwall API key is invalid or revoked. Create a new organization API key in Superwall under Access Controls.

  • Missing scope error - The API key lacks a required read scope. Check that your key has the correct permissions for the tables you want to sync.

  • Resource not found - Superwall could not find this resource. Verify that the project ID and application ID are correct.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Still have questions?

Was this page useful?