Reddit Ads
Reddit Ads
1. Overview
The Reddit Ads connector lets Saras Analytics (Daton) replicate your Reddit advertising data — campaign metadata, ad metadata, and performance/insights reports — into your data warehouse (BigQuery, Snowflake, Redshift, etc.)
2. Prerequisites
Before you begin, make sure you have:
- A Reddit account that is a member of the Reddit Business Manager that owns the ad accounts you want to replicate.
-
At least
Analystlevel access on each Ad Account you intend to pull (see Section 5 — Account-Level Access Required). - Your Reddit Business ID (see Section 4 — How to Get Your Business ID).
- A destination warehouse already connected in Daton.
The connector requests only the read scope adsread. It cannot create, edit, pause, or delete anything in your Reddit Ads account — it is read-only.
3. Step-by-Step Setup in Daton
The connector wizard has six steps.
Step 1 — Source Configuration Details
Provide the basic replication settings:
| Field | Description |
|---|---|
| Integration Name | A unique name for this integration. |
| Description (optional) | Free text to help you identify the integration later. |
| Replication Frequency | How often Daton runs the sync: 1h, 2h, 3h, 6h, 8h, 12h, or 24h. More frequent replication increases billing. |
| Replication Start Date (History) | How far back to pull historical data. campaigns and ads are based on full replication; Reports can fetch upto 24 months of history |
| Lookback Window for Reports | Number of days to re-pull report data to capture attribution changes: 1, 15, 30, or 45 days. |
Advanced Configuration Options:
| Option | Choices | Meaning |
|---|---|---|
| Loading Mode | Append (INSERT) / Upsert (UPSERT) | Append adds new rows on every run; Upsert updates existing rows by primary key. |
| Loading Nested Objects | Inherit from Warehouse Settings / Do not unnest / Up to one level / Up to two levels | Controls how deeply nested JSON objects are flattened into columns in the warehouse. |
Step 2 — Enter Business ID and Configure Report
| Field | Description |
|---|---|
| Business ID | Your Reddit Business Account ID. See Section 4. |
| Breakdown | Select up to 3 breakdown dimensions for the report. See Section 6. |
| Report Fields | Select the metrics/fields to pull. See Section 7. |
| Timezone | The timezone Reddit should use when generating the report (e.g., America/New_York, Asia/Kolkata, UTC). |
Step 3 — Choose Your Ad Accounts
Daton lists every Ad Account under the Business you entered. Select the accounts you want to replicate (up to 1,000). Only accounts the authenticated user can access will appear.
Step 4 — Select Tables
Choose which tables to replicate: campaigns, ads, and report_1. See Section 8.
Step 5 — Configure Schema
Review and confirm the columns to be created in the destination. For campaigns and ads the schema is fixed; for the report table, columns are auto-generated dynamically based on the breakdowns and fields you selected in Step 3.
4. How to Get Your Reddit Business ID
The connector needs the Business ID — the identifier of your Reddit Business Manager (the organization that owns your ad accounts). This is not the same as an individual Ad Account ID; the connector uses the Business ID to discover all ad accounts underneath it.
To find your Business ID:
- Go to ads.reddit.com and log in with the Reddit user that has access to your Business Manager.
- Open Business Manager — click the account / business name in the top-left of the Reddit Ads dashboard, or navigate to the Accounts area.
- In the Business Manager view, locate the business and click the copy icon next to the Business ID to copy the identifier.
- Alternatively, while you are inside Business Manager, the Business ID is visible in the browser URL — copy the ID segment from the address bar.
- Paste this value into the Business ID field in Step 3 of the Daton setup.
Tip: If you manage multiple businesses, make sure you copy the ID of the Business Manager that owns the ad accounts you want — not a single ad account's ID. If you are unsure which ID is correct, or you cannot see a Business Manager, contact your Reddit account representative or Saras support.
5. Account-Level Access Required
Reddit separates Business Manager (organization) roles from Ad Account roles. Both matter for this connector.
Business Manager membership. The authenticating Reddit user must be a member of the Business Manager that owns the target ad accounts. If the user is not part of the business, no accounts appear in Step 4.
Ad Account role. Reddit ad accounts have three access levels:
| Ad Account Role | Can it read ads & insights? | Notes |
|---|---|---|
| Admin | ✅ Yes | Full access — manage the account, billing, users, campaigns, and view all reporting. |
| Ad Account Manager / Editor | ✅ Yes | Can create/edit campaigns and view reporting. |
| Analyst | ✅ Yes | Minimum required — can view and download performance metrics/reports but cannot create or edit anything. |
What you need for this connector:
- Minimum:
Analyston each Ad Account you want to replicate. Because the connector is read-only (adsread), Analyst is sufficient to pull campaign metadata, ad metadata, and insights/report data. - Recommended: an account with Admin or Ad Account Manager access at the business level, so all ad accounts under the business are visible in the selection step and access does not break when individual permissions change.
To grant access on Reddit: In Reddit Ads, go to Accounts → Members, click to invite a user by email, select the role (e.g., Analyst), and send the invite. The user accepts the invite before the access takes effect. Authenticate the Daton connector with that user.
If some ad accounts are missing in Step 4, the most common cause is that the authenticated user lacks a role on those specific accounts, or is not a member of that Business Manager.
6. Breakdowns
Breakdowns are the dimensions by which report metrics are split. You may select up to 3 breakdowns per report. Each breakdown adds granularity (and rows) to the output.
Guidance on choosing breakdowns:
- Include DATE in almost every report so metrics are time-series and the lookback window works as intended.
- DATE and HOUR cannot be selected together
- A common pattern is DATE + one entity level (CAMPAIGN_ID / AD_GROUP_ID / AD_ID) + one audience/placement dimension (COUNTRY, PLACEMENT, DEVICE/OS_TYPE, etc.).
- Adding high-cardinality breakdowns (e.g., KEYWORD, INTEREST, HOUR) multiplies row counts and data volume — select only what you need.
7. Report Fields
The connector exposes 447 selectable fields. Select the metrics you actually need — fewer fields means faster, cheaper syncs. Below they are grouped by category with representative examples. (The full list is available in the dropdown during setup.)
7.1 Dimension / Attribute fields
Identifiers and descriptive attributes usable alongside breakdowns.
ACCOUNT_ID, CAMPAIGN_ID, CAMPAIGN_CREATE_TIME, CAMPAIGN_UPDATE_TIME, AD_GROUP_ID, ADGROUP_CREATE_TIME, ADGROUP_UPDATE_TIME, AD_ID, AD_CREATE_TIME, AD_UPDATE_TIME, AD_EFFECTIVE_STATUS, BID_STRATEGY, PRIORITY, CURRENCY, DATE, DATETIME, HOUR, AGE, GENDER, COUNTRY, REGION, DMA, INTEREST, KEYWORD, PLACEMENT, COMMUNITY, POST_ID, GALLERY_ITEM_ID, GALLERY_ITEM_CAPTION, CLICK_ATTRIBUTION_WINDOW, VIEW_ATTRIBUTION_WINDOW.
7.2 Core delivery & cost metrics
The standard performance metrics most reports use.
IMPRESSIONS, CLICKS, SPEND, CTR, CPC, CPV, ECPM, REACH, FREQUENCY, ENGAGED_CLICK.
7.3 Video metrics
Video view, completion, and cost-per-view metrics.
Examples: VIDEO_STARTED, VIDEO_VIEW_RATE, VIDEO_COMPLETION_RATE, VIDEO_WATCHED_3_SECONDS / _5 / _10_SECONDS, VIDEO_WATCHED_25_PERCENT / _50 / _75 / _95 / _100_PERCENT, VIDEO_VIEWABLE_IMPRESSIONS, VIDEO_FULLY_VIEWABLE_IMPRESSIONS, VIDEO_PLAYS_WITH_SOUND, VIDEO_PLAYS_EXPANDED, VIDEO_VIEW_RATE_6_SECONDS / _15_SECONDS, COST_PER_3_SECOND_VIEW, COST_PER_6_SECOND_VIEW, COST_PER_15_SECOND_VIEW, COST_PER_COMPLETED_VIEW.
7.4 Conversion metrics (pixel / web)
Standard on-platform and web conversion events. Each event type typically exposes _CLICKS, _VIEWS, _ECPA, _TOTAL_VALUE, _AVG_VALUE, and _TOTAL_ITEMS variants.
Event types include: CONVERSION_PURCHASE_*, CONVERSION_ADD_TO_CART_*, CONVERSION_ADD_TO_WISHLIST_*, CONVERSION_PAGE_VISIT_*, CONVERSION_LEAD_*, CONVERSION_SIGN_UP_* / CONVERSION_SIGNUP_*, CONVERSION_SEARCH_*, CONVERSION_VIEW_CONTENT_*, plus CONVERSION_ROAS, REDDIT_LEADS, and custom conversion events CONVERSION_CUSTOM_EVENT_1 through CONVERSION_CUSTOM_EVENT_20 (each with _CLICKS, _VIEWS, _ECPA, _ROAS, _TOTAL_ITEMS, _TOTAL_VALUE, _AVG_VALUE).
7.5 Key conversion metrics
Aggregated "key" conversion rollups: KEY_CONVERSION_CLICKS, KEY_CONVERSION_VIEWS, KEY_CONVERSION_ECPA, KEY_CONVERSION_RATE, KEY_CONVERSION_TOTAL_COUNT.
7.6 App-install metrics
App-install performance, broken into three measurement sources. Each event exposes _COUNT, _CVR, and _ECPA (plus _REVENUE / _ROAS where applicable):
- Reddit-attributed — e.g. APP_INSTALL_INSTALL_*, APP_INSTALL_PURCHASE_*, APP_INSTALL_ADD_TO_CART_*, APP_INSTALL_SIGN_UP_*, APP_INSTALL_REVENUE, APP_INSTALL_ROAS_DOUBLE, APP_INSTALL_TOTAL_CONVERSIONS, etc.
- MMP (Mobile Measurement Partner) — APP_INSTALL_MMP_* (e.g. APP_INSTALL_MMP_INSTALL_*, APP_INSTALL_MMP_PURCHASE_*, APP_INSTALL_MMP_REVENUE, APP_INSTALL_MMP_ROAS).
- SKAN (SKAdNetwork / iOS) — APP_INSTALL_SKAN_* (e.g. APP_INSTALL_SKAN_INSTALL_*, APP_INSTALL_SKAN_PURCHASE_*, APP_INSTALL_SKAN_REVENUE, APP_INSTALL_SKAN_ROAS, APP_INSTALL_SKAN_TOTAL_CONVERSIONS).
Common app-install event names across all three sources include: Install, Add Payment Info, Add To Cart, Add To Wishlist, App Launch, Checkout, Completed Tutorial, First Time Purchase, Level Achieved, Login, Onboard Started/Completed, Purchase, Rate, Reinstall, Search, Sign Up, Spend Credits, Start Trial, Subscribe, Unlock Achievement, View Content, and Ad Click/Ad View (MMP/SKAN).
Best practice: Start with core delivery metrics (IMPRESSIONS, CLICKS, SPEND, CTR, CPC) plus the specific conversion or app-install events relevant to your business. Add video or custom-event metrics only if you report on them. Selecting all 447 fields creates very wide tables and slower syncs.
8. Tables & Warehouse Schema
The connector produces three tables:
| Table | Grain | Full load supported | Description |
|---|---|---|---|
| campaigns | One row per campaign | Yes | Campaign metadata (see below). Full Replication |
| ads | One row per ad | Yes | Ad metadata (see below) - Full Replication |
| report_1 | Report grain (defined by your breakdowns) | No (incremental only) | The performance/insights report. Columns are auto-generated from the breakdowns and fields you selected. Uses the lookback window to refresh recent data. |
campaigns columns
ads columns
report_1 columns
Auto-generated. At minimum it includes ad_account_id; the remaining columns are the breakdowns and fields you chose in Step 3. Because this table is dynamic, changing your selected breakdowns/fields changes its schema.
9. Troubleshooting & FAQ
No ad accounts show up in Step 4. - The authenticated Reddit user is not a member of that Business Manager, or lacks a role on those ad accounts. Verify the user has at least Analyst access and re-check the Business ID.
"Which ID do I enter — Business or Ad Account?" - Enter the Business ID (the Business Manager / organization). The connector uses it to list all ad accounts underneath, which you then pick individually.
Report has too many rows / sync is slow. Reduce the number of breakdowns, trim the field list to what you report on, and avoid high-cardinality breakdowns like KEYWORD, INTEREST, unless required.
Conversion numbers change after a few days. Expected — Reddit attributes conversions retroactively. The lookback window (1/15/30/45 days) re-pulls recent report data to capture these late attributions. Choose a window that matches your attribution settings.
Do I need to re-authenticate periodically? No. Reddit issues a permanent refresh token and Daton refreshes access automatically. You only re-authenticate if the user's Reddit access is revoked or the token is invalidated.
Can this connector change my Reddit campaigns? No. It requests only adsread and is strictly read-only.