Linking Singular as a source

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.

Learn more
PostHog Wizard hedgehog

Contents

The Singular connector syncs campaign, SKAdNetwork, and ad monetization reports into the PostHog Data Warehouse. Use this data to analyze marketing spend and revenue alongside your product data.

Prerequisites

You need a Singular account and a Reporting API key with access to the dimensions and metrics you want to sync. In Singular, go to Developer Tools > API Keys to find your key. See Singular's Reporting API reference for details.

The SKAdNetwork reports require Singular's attribution tracker. The ad monetization report requires ad monetization reporting configured in Singular. It reads data from monetization networks, rather than ad revenue collected through Singular's SDK.

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.

Select Singular and enter your Singular Reporting API key. Leave the optional report fields empty to sync the default network campaign data: cost, impressions, clicks, and installs by app, source, operating system, country, and campaign.

Sync modes

Report tables support Incremental syncs on the date field and Full refresh. Incremental syncs merge rows by date and report dimensions. By default, they reread the previous seven days to capture changes to recent reports. The default initial history is 30 days. PostHog requests each day's report separately.

The SKAdNetwork reports use the postback date, rather than the estimated install date. Keep this in mind when comparing them with other reports in Singular.

Lookup tables support Full refresh only. They reload the available dimension values and metric definitions on each sync. Singular doesn't support append-only or webhook syncs in PostHog.

See sync methods for more information.

Configuration

OptionDescription
API key
Type: password
Required: True

Copy your Reporting API key from Developer Tools > API Keys in Singular. A PostHog API key does not work here.

Dimensions
Type: text
Required: False

Comma-separated dimension names from the Singular Reporting API. For a custom dimension, use its ID. If you change the dimensions later, run a full resync of the daily_report table.

Metrics
Type: text
Required: False

Comma-separated metric names from the Singular Reporting API. For a conversion event, use its name from the conversion_metrics table, not its display name.

Cohort metrics
Type: text
Required: False

Comma-separated cohort metric names from the cohort_metrics table, such as revenue. Cohort metrics need at least one cohort period.

Cohort periods
Type: text
Required: False

The optional fields configure daily_report. The other reports use fixed dimensions and metrics.

  • Dimensions: Enter comma-separated dimension names from the Reporting API. For a custom dimension, use its id from custom_dimensions. If you change dimensions after syncing, run a full resync of daily_report because dimensions determine how rows match.
  • Metrics: Enter comma-separated metric names. For conversion events, use the name from conversion_metrics, rather than the display name.
  • Cohort metrics and cohort periods: Fill in both fields or leave both empty. Use comma-separated metric names from cohort_metrics and periods such as 7d,30d.

Each combination of dimensions produces a separate row for each day. More dimensions use more of your Singular daily row quota. The default quota is 3 million rows per day, including rows you fetch again on later syncs.

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
daily_report

Daily campaign statistics, one row per day and combination of the dimensions you chose.

Incremental, Full refreshdate—
skadnetwork_report

Daily SKAdNetwork installs combined with ad network cost, clicks, and impressions, by app, source, country, and campaign. Needs the Singular attribution tracker.

Incremental, Full refreshdate—
skadnetwork_raw_report

Daily SKAdNetwork install counts from raw postbacks, by app, network, SKAdNetwork IDs, and conversion value. Needs the Singular attribution tracker.

Incremental, Full refreshdate—
ad_monetization_report

Daily ad revenue, requests, fill rate, and impressions from your monetization networks. Needs ad monetization reporting set up in Singular.

Incremental, Full refreshdate—
filters

The values each report dimension can take, such as the OS and source codes, with their display names.

Full refresh——
custom_dimensions

The custom dimensions defined in your Singular account.

Full refresh——
cohort_metrics

The cohort metrics and events you can add to a report.

Full refresh——
conversion_metrics

The conversion events you can add to a report as metrics.

Full refresh——

Troubleshooting

  • Singular rejected the API key: Copy the current key from Developer Tools > API Keys in Singular and update the source. A PostHog API key doesn't work here.
  • Singular denied access: Ask your Singular admin to grant the API key access to the requested dimensions and metrics, or remove the fields the key can't access.
  • Cohort metrics and cohort periods go together: Fill in both fields or clear both, then try again.
  • Singular rejected the request: Check the dimensions, metrics, and cohort settings against the Reporting API reference. The error includes Singular's response. If it says no SKAdNetwork data is configured, check the attribution tracker setup before syncing those reports.
  • Singular is still rate limiting this API key: The request remained rate limited after retries. If you've used the daily row quota, sync again tomorrow. Remove dimensions or sync less often to reduce row usage.
  • Singular could not generate the report: Check Singular's response in the error and include the report ID when contacting Singular support.
  • Could not reach Singular to check the API key: Try again in a few minutes.

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.

Still have questions?

Was this page useful?