From 8bbc54549aa0816aa253ca8ad9b415ba1b75e13c Mon Sep 17 00:00:00 2001 From: jake sciotto Date: Sat, 29 Aug 2026 17:40:00 -0400 Subject: [PATCH 1/3] docs: add the rokt ads source page The Rokt Ads warehouse source sets docsUrl to /docs/cdp/sources/rokt-ads, which had no page behind it, so the link from the connect wizard returned a 404. Adds the page, following the structure of the other advertising source pages. Generated-By: PostHog Desktop Task-Id: d8766944-e16c-41ae-b2e9-8eccfb718a96 --- contents/docs/cdp/sources/rokt-ads.md | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 contents/docs/cdp/sources/rokt-ads.md diff --git a/contents/docs/cdp/sources/rokt-ads.md b/contents/docs/cdp/sources/rokt-ads.md new file mode 100644 index 000000000000..fc88b37902ef --- /dev/null +++ b/contents/docs/cdp/sources/rokt-ads.md @@ -0,0 +1,69 @@ +--- +title: Linking Rokt Ads as a source +sidebar: Docs +showTitle: true +availability: + free: full + selfServe: full + enterprise: full +sourceId: RoktAds +--- + + + +This source is currently in **alpha**. The interface and available tables may change. + + + +The Rokt Ads connector pulls your Rokt performance data – campaigns, creatives, audiences, demographics, and partner transactions – into the PostHog data warehouse. + +The connector reads through the [Rokt Query API](https://docs.rokt.com/developers/api-reference/reporting/query-api/). It covers advertiser reports and partner reports. Rokt tells PostHog which dimensions and metrics your account can request, so the columns you get depend on what your account is entitled to. + +## Adding a data source + +1. Go to the [sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section in PostHog. +2. Click **+ New source** and then click **Link** next to Rokt Ads. +3. Enter your Rokt credentials: + - **App ID** – The app ID from your Rokt profile + - **App secret** – The app secret from your Rokt profile + - **Account ID** – The Rokt account to read reports from +4. Set the optional reporting fields, or leave them blank to use your Rokt account's defaults: + - **Time zone (Olson name)** – The time zone Rokt groups report days by, for example `America/New_York` + - **Currency code** – The currency Rokt reports cost and revenue in, for example `USD` +5. Click **Next**. +6. Select the tables you want to sync, set the sync method and frequency, then click **Import**. + +To get an app ID and app secret, open the **Profile settings** page in [One Platform](https://my.rokt.com) and generate a pair. + +PostHog validates your credentials at connect time. If Rokt rejects them, or if they cannot read the account ID you entered, the connection fails immediately. + +Once the syncs are complete, you can start using Rokt Ads data in PostHog. + +## Available tables + +| Table | Description | Sync method | +| ------------------------ | -------------------------------------------------------------- | ------------ | +| `Accounts` | Rokt accounts the connected credentials can read | Full refresh | +| `CampaignPerformance` | Daily advertiser spend and outcome metrics per campaign | Incremental | +| `CreativePerformance` | Daily advertiser metrics per creative within a campaign | Incremental | +| `AudiencePerformance` | Daily advertiser metrics per targeted audience | Incremental | +| `CampaignDemographics` | Daily advertiser metrics split by age range, gender, and device | Incremental | +| `TransactionPerformance` | Daily partner transaction and impression metrics | Incremental | + +`Accounts` is a small dimension table, so it uses full refresh. The five report tables group rows by calendar day and sync incrementally on their `datetime` field. + +Each account exposes its own set of dimensions and metrics. If your account cannot serve a metric, that column is dropped from the report instead of failing the sync. If your account cannot serve a dimension, the sync fails with an error naming that dimension, because a dimension sets the row grain and dropping it would collapse rows onto a key that no longer identifies them. Deselect the affected table to continue. + +## Incremental syncs + +Rokt attributes acquisitions and conversions by conversion time, so it keeps restating recent days after they first land. Each incremental sync re-reads a trailing seven-day window and merges the results on the primary key. A day's numbers can therefore change for about a week after that day ends. + +The first sync reaches back up to two years. + +## Configuration + + + +## Supported tables + + From 5d0db6b593314a121a11a8e80140afce1aa9da4b Mon Sep 17 00:00:00 2001 From: jake sciotto Date: Sat, 29 Aug 2026 17:43:30 -0400 Subject: [PATCH 2/3] docs: clear vale warnings on the rokt ads page Vale reported 15 warnings on the new page. Fourteen were the vendor name. Rokt is a brand, so it goes in the BrandsAndTechnologies vocabulary next to the other vendor names. The last one was real: ProductNames asks for "Data Warehouse" when the phrase names PostHog's product rather than the industry concept, and this sentence names the product. Generated-By: PostHog Desktop Task-Id: d8766944-e16c-41ae-b2e9-8eccfb718a96 --- .../styles/config/vocabularies/BrandsAndTechnologies/accept.txt | 1 + contents/docs/cdp/sources/rokt-ads.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.vale/styles/config/vocabularies/BrandsAndTechnologies/accept.txt b/.vale/styles/config/vocabularies/BrandsAndTechnologies/accept.txt index 84be21ac944e..3a074631923e 100644 --- a/.vale/styles/config/vocabularies/BrandsAndTechnologies/accept.txt +++ b/.vale/styles/config/vocabularies/BrandsAndTechnologies/accept.txt @@ -235,6 +235,7 @@ Replit Revolut RevX [Rr]ipe +Rokt RudderStack [Rr]unway Salesforce diff --git a/contents/docs/cdp/sources/rokt-ads.md b/contents/docs/cdp/sources/rokt-ads.md index fc88b37902ef..427e243b3716 100644 --- a/contents/docs/cdp/sources/rokt-ads.md +++ b/contents/docs/cdp/sources/rokt-ads.md @@ -15,7 +15,7 @@ This source is currently in **alpha**. The interface and available tables may ch -The Rokt Ads connector pulls your Rokt performance data – campaigns, creatives, audiences, demographics, and partner transactions – into the PostHog data warehouse. +The Rokt Ads connector pulls your Rokt performance data – campaigns, creatives, audiences, demographics, and partner transactions – into the PostHog Data Warehouse. The connector reads through the [Rokt Query API](https://docs.rokt.com/developers/api-reference/reporting/query-api/). It covers advertiser reports and partner reports. Rokt tells PostHog which dimensions and metrics your account can request, so the columns you get depend on what your account is entitled to. From f9df4eb2845f6004bd10cfbae68dc2e0b081a9e0 Mon Sep 17 00:00:00 2001 From: jake sciotto Date: Sat, 29 Aug 2026 18:30:18 -0400 Subject: [PATCH 3/3] docs: correct the rokt ads sync methods Rendering the page against the deployed source showed the generated table reporting "Incremental, Full refresh" for the five report tables, while the hand-written table above it named incremental only. The five report tables offer both methods, so the table now says so, and the note underneath says why incremental is the better choice. Generated-By: PostHog Desktop Task-Id: d8766944-e16c-41ae-b2e9-8eccfb718a96 --- contents/docs/cdp/sources/rokt-ads.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/contents/docs/cdp/sources/rokt-ads.md b/contents/docs/cdp/sources/rokt-ads.md index 427e243b3716..eaa305b81ff3 100644 --- a/contents/docs/cdp/sources/rokt-ads.md +++ b/contents/docs/cdp/sources/rokt-ads.md @@ -41,16 +41,16 @@ Once the syncs are complete, you can start using Rokt Ads data in PostHog. ## Available tables -| Table | Description | Sync method | -| ------------------------ | -------------------------------------------------------------- | ------------ | -| `Accounts` | Rokt accounts the connected credentials can read | Full refresh | -| `CampaignPerformance` | Daily advertiser spend and outcome metrics per campaign | Incremental | -| `CreativePerformance` | Daily advertiser metrics per creative within a campaign | Incremental | -| `AudiencePerformance` | Daily advertiser metrics per targeted audience | Incremental | -| `CampaignDemographics` | Daily advertiser metrics split by age range, gender, and device | Incremental | -| `TransactionPerformance` | Daily partner transaction and impression metrics | Incremental | - -`Accounts` is a small dimension table, so it uses full refresh. The five report tables group rows by calendar day and sync incrementally on their `datetime` field. +| Table | Description | Sync methods | +| ------------------------ | --------------------------------------------------------------- | --------------------------- | +| `Accounts` | Rokt accounts the connected credentials can read | Full refresh | +| `CampaignPerformance` | Daily advertiser spend and outcome metrics per campaign | Incremental or full refresh | +| `CreativePerformance` | Daily advertiser metrics per creative within a campaign | Incremental or full refresh | +| `AudiencePerformance` | Daily advertiser metrics per targeted audience | Incremental or full refresh | +| `CampaignDemographics` | Daily advertiser metrics split by age range, gender, and device | Incremental or full refresh | +| `TransactionPerformance` | Daily partner transaction and impression metrics | Incremental or full refresh | + +`Accounts` is a small dimension table, so it only offers full refresh. The five report tables group rows by calendar day. Each one can sync incrementally on its `datetime` field, which is what we recommend, because a full refresh re-reads up to two years of report days on every run. Each account exposes its own set of dimensions and metrics. If your account cannot serve a metric, that column is dropped from the report instead of failing the sync. If your account cannot serve a dimension, the sync fails with an error naming that dimension, because a dimension sets the row grain and dropping it would collapse rows onto a key that no longer identifies them. Deselect the affected table to continue.