Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Azure Databricks previews.
This page answers frequently asked questions about the Reddit Ads ingestion connector in Databricks Lakeflow Connect.
General managed connector FAQs
The answers in Managed connector FAQs apply to all managed connectors in Lakeflow Connect. Keep reading for Reddit Ads-specific FAQs.
How does Databricks connect to Reddit Ads?
Databricks connects to the Reddit Ads API using OAuth 2.0 user-to-machine (U2M) authentication with PKCE. The adsread scope is set automatically by Databricks. Connection credentials are stored securely in Unity Catalog and can only be retrieved if the user running the ingestion flow has the appropriate permissions.
What types of tables can the connector ingest?
The connector supports two types of tables:
- Entity tables (
ad_account,campaign,ad_group,ad): Configuration data about your account. Entity tables are fully refreshed on each pipeline run and don't support history tracking (SCD type 2). - Report tables: Performance metrics such as impressions, clicks, and spend. Report tables support incremental ingestion with a configurable lookback window.
For the full list of supported tables and their schemas, see Reddit Ads connector reference.
How does the connector incrementally pull updates?
Report tables use incremental ingestion. Because Reddit Ads metrics can change after they're first reported (for example, when conversions or attribution are recalculated), the connector re-reads the most recent days of data on every sync. By default, it re-reads the last 30 days. You can change this with the lookback_window_days parameter (any value from 1 to 30). Entity tables are fully refreshed on each run.
How do I set the lookback window to match my attribution window?
Set lookback_window_days to match your organization's conversion attribution window. For example, if your organization uses a 14-day attribution window, set lookback_window_days: 14. See Attribution and lookback windows.
How much historical data does the connector ingest?
By default, the connector ingests two years of historical data for report tables. You can configure this with the sync_start_date parameter (a date in YYYY-MM-DD format). This parameter applies only to the first run — after the first checkpoint, changing it has no effect without a full refresh.
Why is my report data missing older dates?
The Reddit Ads reporting API serves report data from approximately the last 24 months. Regardless of sync_start_date, report tables can't retrieve data older than this window — requests for older data are rejected by Reddit. This limit applies to report tables only, not entity tables. See Report data retention.
How do I define a custom report?
Set source_table to custom_report, provide a destination_table name, and specify the report configuration under connector_options.reddit_ads_options.custom_report_options. The breakdowns list must include at least one time dimension (DATE or HOUR), which becomes the table's incremental cursor. Breakdown and field values must come from the supported lists. See Custom report breakdowns and fields.
What time zone are report dates in?
Report date boundaries are interpreted in the ad account's own time zone. The connector reads this automatically from the account. You don't set a time zone in the pipeline spec.
What currency are monetary columns in?
Monetary columns (for example, spend, cpc, bid_value) are stored in the ad account's currency as decimal amounts (for example, 12.34), not in micros. The account's currency code is available in the ad_account.currency column and in the report currency column.
Can one pipeline ingest from multiple ad accounts?
Yes. One pipeline can ingest from multiple ad account schemas, and each source_schema entry in a pipeline maps to one ad account. See Source schemas.
Does the connector detect deletes?
Entity tables are fully refreshed on each run, so their current state always reflects the source. Report tables use incremental ingestion within the lookback window. To fully resynchronize a table, perform a full refresh.