Linking Stigg as a source
This source is currently in alpha. The interface and available tables may change.
The Stigg connector syncs your pricing, packaging, and monetization data – customers, subscriptions, products, plans, addons, features, and coupons – into PostHog, so you can analyze your billing and entitlement data alongside your product data.
Prerequisites
You need a Stigg account with access to a server API key for the environment you want to sync. Server API keys have read access to every resource the connector syncs.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- 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 Stigg, you'll need:
- Server API key – find it under Settings → Integrations → API keys in Stigg. Make sure to use a server API key, not a client API key. Each key is scoped to a single Stigg environment, so pick the key for the environment you want to sync.
Sync modes
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_attimestamp). 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.
Stigg tables sync as full refresh. Stigg's API doesn't expose an updated-since filter, so incremental sync would miss updates to existing records like subscription status changes.
Configuration
| Option | Type | Required |
|---|---|---|
Server API key | password | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
customers | A customer provisioned in Stigg, representing an account that can hold subscriptions and entitlements. | Full refresh | — | — |
subscriptions | A subscription of a customer to a plan, including its status, billing period, prices, addons, and entitlements. The list endpoint omits subscriptionEntitlements for performance at scale. | Full refresh | — | — |
products | A product defined in the Stigg catalog. Plans and addons belong to a product. | Full refresh | — | — |
plans | A plan (versioned package) in the Stigg catalog, including its pricing type, entitlements, and trial configuration. | Full refresh | — | — |
addons | An addon (versioned package) in the Stigg catalog that can be attached to subscriptions on top of a plan. | Full refresh | — | — |
features | A feature in the Stigg catalog that plans and addons grant entitlements to, such as a boolean gate, a configuration value, or a metered usage limit. | Full refresh | — | — |
coupons | A coupon that can be applied to customers or subscriptions for percentage or fixed amount discounts. | Full refresh | — | — |
The subscriptions table doesn't include subscription entitlements – Stigg's API omits them from the subscription list for performance. Plan and addon entitlements are included in the entitlements column of the plans and addons tables.
Troubleshooting
If your source fails to connect with an "Invalid Stigg API key" error, double check that you're using a server API key (client API keys can't read the API) and that the key belongs to the environment you want to sync.
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.