Linking pretix as a source

Alpha release

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

The pretix connector syncs your event ticketing data – events, orders, invoices, customers, gift cards, products, vouchers, check-in lists, and more – into the PostHog data warehouse. Use it to combine ticket sales and attendee data with your product analytics.

Prerequisites

  • A pretix organizer account on pretix.eu or a self-hosted pretix installation reachable over HTTPS.
  • A team API token with read permissions for the resources you want to sync. For example, Can view orders for orders and invoices, Can view vouchers for vouchers.

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 pretix, you'll need:

  1. Organizer short name – the slug that appears in your pretix URLs (for example my-organizer in https://pretix.eu/my-organizer/).

  2. API token – go to your organizer's control panel, open Organizer settings → Teams, select or create a team with the read permissions you need, then create an API token for it.

  3. API URL (self-hosted only) – set this to your own pretix host (for example https://tickets.example.com). Leave it blank to use hosted pretix at https://pretix.eu.

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.

The orders table supports incremental sync using pretix's modified_since filter on the last_modified field, so re-syncs only fetch changed orders. All other tables are full refresh.

Configuration

OptionTypeRequired
Organizer short nametextYes
API tokenpasswordYes
API URL (self-hosted only)textNo

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
events

An event or event series run by the organizer, such as a conference or a concert.

Full refresh
orders

A ticket order placed in one of the organizer's events, including its positions (individual tickets), fees, payments, and refunds.

Incremental, Full refreshlast_modified
invoices

An invoice or invoice cancellation issued for an order in one of the organizer's events.

Full refresh
customers

A customer account registered with the organizer, which orders can be attached to.

Full refresh
gift_cards

A gift card issued by the organizer that can be used to pay for orders.

Full refresh
subevents

A date in an event series, carrying its own schedule, prices, and quotas.

Full refresh
items

A product that can be sold for an event, such as a ticket type or merchandise, including its variations.

Full refresh
categories

A product category used to group an event's items in the shop.

Full refresh
questions

A question asked of ticket buyers during checkout, such as dietary requirements or T-shirt size.

Full refresh
quotas

A quota limiting how many of an event's items can be sold.

Full refresh
vouchers

A voucher granting discounted or reserved access to an event's items.

Full refresh
checkin_lists

A check-in list used to admit attendees at the door, with its position and check-in counters.

Full refresh
waiting_list_entries

A waiting list entry from a customer waiting for an event's sold-out item to become available.

Full refresh
tax_rules

A tax rule defining how taxes are calculated for an event's products.

Full refresh

Event-scoped tables (such as items, quotas, and vouchers) include an event_slug column added during sync so rows from different events stay distinct.

Troubleshooting

  • "Your pretix API token does not have access to this organizer" – check that the organizer short name matches your pretix URLs exactly and that the token belongs to a team of that organizer.

  • Permission errors on specific tables – pretix team tokens carry per-resource permissions. Grant the team the matching read permission (for example Can view orders) or deselect the table.

  • API URL must use HTTPS – self-hosted pretix URLs must use https://. Update the API URL and try again.

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.