> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt

# Linking impact.com as a source - Docs

Copy page

# Linking impact.com as a source - Docs

![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70)

![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d)

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.

`npx @posthog/wizard warehouse`

[Learn more](/wizard.md)

![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)

![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you

**Alpha release**

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

The impact.com connector syncs your brand (advertiser) account's partnership data from [impact.com](https://impact.com): your campaigns, the partners promoting them, the conversions they drive, and partner payout invoices. If your account is a partner (publisher) account, use the [impact.com Partner source](/docs/cdp/sources/impact-partner.md) instead.

## Prerequisites

You need an impact.com brand account with API access. The connector authenticates with an API access token, which any account user can create from their profile settings.

## Adding a data source

1.  In PostHog, go to the [Sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section.
2.  Click **\+ New source** and click **Link** next to this source.
3.  Enter your credentials (see [Configuration](#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 impact.com, you'll need:

-   **Account SID** and **Auth token** from an impact.com API access token.

To get these:

1.  Log in to [impact.com](https://app.impact.com).
2.  Go to your user profile, then **Settings** → **Technical** → **API**.
3.  Create an access token with read-only scopes.
4.  Copy the token's Account SID and Auth Token into PostHog.

## 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](/docs/cdp/sources.md#sync-methods) for a full explanation of how each mode works and how to choose between them.

The `Actions` table supports incremental sync on `EventDate`, and `MediaPartners` on `DateLastUpdated`. On the first sync, `Actions` backfills up to 3 years of history per campaign in 44-day chunks, which is a limit of the impact.com API.

## Configuration

| Option | Type | Required |
| --- | --- | --- |
| Account SID | text | Yes |
| Auth token | password | Yes |

## Supported tables

| Table | Description | Sync method | Incremental field | Primary key |
| --- | --- | --- | --- | --- |
| Campaigns | The affiliate programs (campaigns) in your Impact.com account. Full refresh only. | Full refresh | — | — |
| MediaPartners | The partners (publishers/affiliates) in your Impact.com account. | Incremental, Full refresh | DateLastUpdated | — |
| Invoices | Partner invoices, returned most recent first. Full refresh only. | Full refresh | — | — |
| Actions | Conversion and commission records, fetched per campaign in 44-day windows (an Impact.com API limit). Only syncs the last 3 years on initial sync. | Incremental, Full refresh | EventDate | — |
| ActionUpdates | The lifecycle history of each action: one row per state change, carrying State, DeltaPayout/DeltaAmount, and LockingDate. Use it to tell whether a payout is locked (finalized) or still reversible — the flat Actions table only shows a snapshot. Fetched per campaign in 44-day windows; only syncs the last 3 years on initial sync. | Incremental, Full refresh | UpdateDate | — |
| Contracts | Partner contracts and their payout terms (EventPayouts, PayoutGroups, Tiers, Rules) per campaign. The terms needed to reconcile expected affiliate cost against invoices. Impact returns active contracts by default. Full refresh only. | Full refresh | — | — |
| InvoiceLineItems | Summary invoice line items (one row per campaign/description on an invoice), split out of the Invoices payload with an InvoiceId foreign key. Full refresh only. | Full refresh | — | — |
| InvoiceDetailedLineItems | Detailed invoice line items with a program-level breakdown, split out of the Invoices payload with an InvoiceId foreign key. Full refresh only. | Full refresh | — | — |

## Troubleshooting

-   **Invalid credentials when connecting**: check that the Account SID and Auth Token belong to a brand (advertiser) account. Partner and agency accounts use different APIs, so a partner token won't validate here. For partner accounts, use the [impact.com Partner source](/docs/cdp/sources/impact-partner.md).
-   **Missing older actions**: the impact.com API only returns actions from the last 3 years, so the initial backfill stops there.

If your sync is failing or data looks wrong, see the [Data warehouse troubleshooting guide](/docs/data-warehouse/troubleshooting.md). If that doesn't help, [contact support](https://us.posthog.com/#panel=support%3Asupport%3Adata_warehouse%3A%3Atrue) – we're happy to help.

### Community questions

Ask a question

### Was this page useful?

HelpfulCould be better