Linking Stigg as a source

Alpha release

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

  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 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_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.

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

OptionTypeRequired
Server API keypasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary 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.

Community questions

Was this page useful?

Questions about this page? or post a community question.