Reddit Ads
Renta allows you to sync Reddit Ads data to your data warehouse: daily campaign statistics (spend, impressions, clicks, video and conversion metrics) and account structure metadata for campaigns, ad groups, and ads.
Authentication
Renta uses OAuth to authenticate with Reddit. You will be redirected to Reddit to grant Renta limited access to your advertising data.
Your credentials are encrypted in transit and at rest, and never stored in Renta's application database. You stay in control and can revoke access from your Reddit account settings at any time.
Connect Reddit Ads source
- Navigate to the Connections > Catalog section in the left sidebar.
- Open the Advertising category and click the Reddit Ads card.

Click Log in to your Reddit Ads account. You will be redirected to Reddit to grant access.

Reddit shows the permission list, including read access to your advertising data. Click Allow. After that you are redirected back to Renta.

Finish the setup:
- Source name.
Specify a name for this data source. This is used exclusively in the Renta interface. - Access granted.
Verify that the account is connected successfully.
Click Save to finish.
If your Reddit authorization later changes (for example, after a password change), click Re-authorize on this source. The connection refreshes in place and every pipeline built on it keeps running.

The new source appears in the Sources list with the Active status. You can now use it in pipelines.

Create a Reddit Ads pipeline
Once the source is connected, create a pipeline to sync your Reddit Ads data into your destination.
In the left sidebar, click New pipeline. On the Source step, select Reddit Ads under Already connected and click Next step.

Choose the Reddit Ads connection you created earlier and click Next step.

On the Destination step, select your destination (for example, Google BigQuery) and click Next step.

Choose the destination connection you want to load data into and click Next step.

Pipeline configuration
On the final step, choose which Reddit Ads data to export and how Renta loads it.
Report configuration
Point the pipeline at the business, ad account, and report type you need.

-
Business Choose your Reddit Ads business account.
-
Ad account Choose the Reddit Ads ad account to export data from.
-
Report Types Choose what kind of data the pipeline loads:
Report type Description Statistics report Daily performance metrics for the ad account. Campaigns metadata Campaign metadata for the advertiser's account. Ad groups metadata Ad group metadata for the advertiser's account. Ads metadata Ad creative metadata for the advertiser's account. Ad accounts metadata Ad account metadata for the advertiser's account. Businesses metadata Business entity metadata for the advertiser's account. Gallery items metadata Gallery item (carousel card) metadata for the advertiser's account.
Parameters
Select the fields to include in your destination table. Your dataset schema is defined by the parameters you choose here.

| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the ad account. |
Business ID text | business_id | ID of the parent business this ad account belongs to. |
Name text | name | Display name of the ad account. |
Type text | type | Ad account type (e.g. SELF_SERVE, MANAGED). |
Currency text | currency | Three-letter ISO currency code used for the ad account. |
Admin Approval text | admin_approval | Admin approval status (e.g. VALID). |
Suspension Reason text | suspension_reason | Reason for account suspension, if any. |
Attribution Type text | attribution_type | Attribution type for web conversions (e.g. ALL_CONVERSION). |
Click Attribution Window text | click_attribution_window | Click attribution window (e.g. DAY, WEEK, MONTH). |
View Attribution Window text | view_attribution_window | View attribution window (e.g. DAY, WEEK, MONTH). |
App Attribution Type text | app_attribution_type | Attribution type for app conversions. |
App Click Attribution Window text | app_click_attribution_window | Click attribution window for app conversions. |
App View Attribution Window text | app_view_attribution_window | View attribution window for app conversions. |
Time Zone ID text | time_zone_id | Time zone used for the ad account (e.g. GMT, America/New_York). |
Primary Contact Member ID text | primary_contact_member_id | Reddit user ID of the primary contact member. |
Excluded Communities array_string | excluded_communities | List of community names excluded at the account level. |
Excluded Keywords array_string | excluded_keywords | List of keywords excluded at the account level. |
Pixel Partner Preferences array_string | pixel_partner_preferences | List of preferred pixel partners. |
Created At datetime | created_at | Timestamp when the ad account was created. |
Modified At datetime | modified_at | Timestamp when the ad account was last modified. |
| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the ad group. |
Ad Account ID text | ad_account_id | ID of the parent ad account. |
Campaign ID text | campaign_id | ID of the parent campaign. |
Name text | name | Ad group name. |
Configured Status text | configured_status | User-configured status (e.g. ACTIVE, PAUSED, ARCHIVED, DELETED). |
Effective Status text | effective_status | Calculated effective status. |
Delivery Status text | delivery_status | Ad group delivery status. |
Bid Strategy text | bid_strategy | Bid strategy (e.g. BIDLESS, MANUAL_CPC). |
Bid Type text | bid_type | Bid type (e.g. CPC, CPM). |
Bid Value int | bid_value | Bid value in microcurrency. |
Goal Type text | goal_type | Budget goal type (e.g. DAILY_SPEND, LIFETIME_SPEND). |
Goal Value int | goal_value | Budget goal value in microcurrency. |
Optimization Goal text | optimization_goal | Optimization goal for the ad group. |
Is Campaign Budget Optimization bool | is_campaign_budget_optimization | Whether campaign budget optimization is active for this ad group. |
Conversion Pixel ID text | conversion_pixel_id | Pixel ID used for conversion tracking. |
App ID text | app_id | App ID for app install campaigns. |
Saved Audience ID text | saved_audience_id | ID of a saved audience applied to this ad group. |
Product Set ID text | product_set_id | Product set ID for catalog campaigns. |
Shopping Type text | shopping_type | Shopping campaign type. |
Campaign Objective Type text | campaign_objective_type | Inherited campaign objective type. |
View Through Conversion Type text | view_through_conversion_type | View-through conversion attribution type. |
Targeting json | targeting | Full targeting configuration including communities, interests, keywords, locations, geolocations, devices, platforms, gender, age, and more. |
Start Time datetime | start_time | Ad group scheduled start time. |
End Time datetime | end_time | Ad group scheduled end time. |
Created At datetime | created_at | Timestamp when the ad group was created. |
Modified At datetime | modified_at | Timestamp when the ad group was last modified. |
| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the ad. |
Ad Account ID text | ad_account_id | ID of the parent ad account. |
Ad Group ID text | ad_group_id | ID of the parent ad group. |
Campaign ID text | campaign_id | ID of the parent campaign. |
Name text | name | Ad name. |
Configured Status text | configured_status | User-configured status (e.g. ACTIVE, PAUSED, ARCHIVED, DELETED). |
Effective Status text | effective_status | Calculated effective status. |
Delivery Status text | delivery_status | Ad delivery status. |
Post ID text | post_id | Reddit post ID associated with this ad (e.g. t3_abc123). |
Post URL text | post_url | Reddit URL of the post associated with this ad. |
Click URL text | click_url | Destination URL when the ad is clicked. |
Profile ID text | profile_id | Reddit user or profile ID associated with this ad. |
Rejection Reason text | rejection_reason | Reason the ad was rejected, if applicable. |
Preview URL text | preview_url | URL for previewing the ad creative. |
Preview Expiry datetime | preview_expiry | Expiry datetime for the preview URL. |
Campaign Objective Type text | campaign_objective_type | Inherited campaign objective type. |
Created At datetime | created_at | Timestamp when the ad was created. |
Modified At datetime | modified_at | Timestamp when the ad was last modified. |
| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the business (UUID). |
Name text | name | Display name of the business. |
Industry text | industry | Industry category of the business (e.g. TECH_B2B). |
Country text | country | Two-letter ISO country code for the business. |
Website URL text | website_url | Business website URL. |
Phone text | phone | Business phone number. |
Agency Affiliated bool | agency_affiliated | Whether the business is affiliated with an agency. |
Two FA Enforcement text | two_fa_enforcement | Two-factor authentication enforcement status (e.g. DISABLED, REQUIRED). |
Creator ID text | creator_id | Reddit user ID of the business creator. |
Primary Contact ID text | primary_contact_id | Reddit user ID of the primary contact for this business. |
Created At datetime | created_at | Timestamp when the business was created. |
Modified At datetime | modified_at | Timestamp when the business was last modified. |
| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the campaign. |
Ad Account ID text | ad_account_id | ID of the parent ad account. |
Name text | name | Campaign name. |
Objective text | objective | Campaign objective (e.g. CLICKS, IMPRESSIONS, CONVERSIONS, VIDEO_VIEWABLE_IMPRESSIONS). |
Configured Status text | configured_status | User-configured status (e.g. ACTIVE, PAUSED, ARCHIVED, DELETED). |
Effective Status text | effective_status | Calculated effective status (e.g. ACTIVE, CAMPAIGN_PAUSED, PENDING_APPROVAL). |
Delivery Status text | delivery_status | Delivery status of the campaign. |
Funding Instrument ID text | funding_instrument_id | ID of the funding instrument (payment method) for this campaign. |
Age Restriction text | age_restriction | Age restriction setting (e.g. NO_AGE_RESTRICTION, NSFW). |
Bid Strategy text | bid_strategy | Campaign-level bid strategy. |
Bid Type text | bid_type | Campaign-level bid type. |
Bid Value int | bid_value | Campaign-level bid value in microcurrency. |
Goal Type text | goal_type | Campaign goal type when budget optimization is on (e.g. DAILY_SPEND, LIFETIME_SPEND). |
Goal Value int | goal_value | Campaign goal value in microcurrency. |
Spend Cap int | spend_cap | Campaign lifetime spend cap in microcurrency. |
Is Campaign Budget Optimization bool | is_campaign_budget_optimization | Whether campaign budget optimization is enabled. |
Optimization Goal text | optimization_goal | Campaign optimization goal. |
Invoice Label text | invoice_label | Custom label for invoice line items. |
App ID text | app_id | App Store or Google Play app ID for app install campaigns. |
View Through Conversion Type text | view_through_conversion_type | View-through conversion attribution type. |
Special Ad Categories array_string | special_ad_categories | List of special ad categories (e.g. HOUSING_EMPLOYMENT_CREDIT). |
Start Time datetime | start_time | Campaign scheduled start time. |
End Time datetime | end_time | Campaign scheduled end time. |
Created At datetime | created_at | Timestamp when the campaign was created. |
Modified At datetime | modified_at | Timestamp when the campaign was last modified. |
| Name | API name | Description |
|---|---|---|
ID text | id | Unique identifier of the gallery item. |
Ad ID text | ad_id | ID of the parent ad (carousel ad). |
Caption text | caption | Caption text displayed for the gallery item. |
URL text | url | Destination URL for this gallery item. |
Call To Action text | call_to_action | Call-to-action label (e.g. LEARN_MORE, SHOP_NOW, SIGN_UP). |
Created At datetime | created_at | Timestamp when the gallery item was created. |
Modified At datetime | modified_at | Timestamp when the gallery item was last modified. |
| Name | API name | Description |
|---|---|---|
Impressions int | impressions | Total number of ad impressions. |
Clicks int | clicks | Total number of ad clicks. |
Spend int | spend | Total spend in microcurrency (divide by 1,000,000 for currency units). |
Costs decimal | costs | Total spend converted to currency units (spend / 1,000,000). Automatically includes spend in the API request. |
CTR decimal | ctr | Click-through rate (clicks / impressions). |
CPC decimal | cpc | Cost per click in microcurrency. |
ECPM decimal | ecpm | Effective cost per mille (thousand impressions) in microcurrency. |
CPV decimal | cpv | Cost per video view in microcurrency. |
Reach int | reach | Number of unique users reached. |
Frequency decimal | frequency | Average number of times each user saw the ad (impressions / reach). |
Comment Upvotes int | comment_upvotes | Number of upvotes on comments made from the ad. |
Comment Downvotes int | comment_downvotes | Number of downvotes on comments made from the ad. |
Comment Page Views int | comment_page_views | Number of views to the ad's comment page. |
Comment Submissions int | comment_submissions | Number of comments submitted on the ad. |
Upvotes int | upvotes | Total post upvotes driven by the ad. |
Downvotes int | downvotes | Total post downvotes driven by the ad. |
Engaged Click int | engaged_click | Number of engaged clicks (interaction beyond simple click). |
Video Started int | video_started | Number of times the video ad was started. |
Video Watched 3 Seconds int | video_watched_3_seconds | Number of times the video was watched for at least 3 seconds. |
Video Watched 5 Seconds int | video_watched_5_seconds | Number of times the video was watched for at least 5 seconds. |
Video Watched 10 Seconds int | video_watched_10_seconds | Number of times the video was watched for at least 10 seconds. |
Video Watched 25 Percent int | video_watched_25_percent | Number of times the video was watched to 25% completion. |
Video Watched 50 Percent int | video_watched_50_percent | Number of times the video was watched to 50% completion. |
Video Watched 75 Percent int | video_watched_75_percent | Number of times the video was watched to 75% completion. |
Video Watched 95 Percent int | video_watched_95_percent | Number of times the video was watched to 95% completion. |
Video Watched 100 Percent int | video_watched_100_percent | Number of times the video was watched to 100% completion. |
Video View Rate decimal | video_view_rate | Video view rate (views / impressions). |
Video Completion Rate decimal | video_completion_rate | Video completion rate (completions / starts). |
Video Viewable Impressions int | video_viewable_impressions | Number of viewable video impressions. |
Conversion Page Visit Clicks int | conversion_page_visit_clicks | Page Visit conversions attributed to clicks. |
Conversion Page Visit Views int | conversion_page_visit_views | Page Visit conversions attributed to views. |
Conversion View Content Clicks int | conversion_view_content_clicks | View Content conversions attributed to clicks. |
Conversion View Content Views int | conversion_view_content_views | View Content conversions attributed to views. |
Conversion Search Clicks int | conversion_search_clicks | Search conversions attributed to clicks. |
Conversion Search Views int | conversion_search_views | Search conversions attributed to views. |
Conversion Add To Cart Clicks int | conversion_add_to_cart_clicks | Add to Cart conversions attributed to clicks. |
Conversion Add To Cart Views int | conversion_add_to_cart_views | Add to Cart conversions attributed to views. |
Conversion Add To Cart Total Value decimal | conversion_add_to_cart_total_value | Total value of Add to Cart conversions. |
Conversion Add To Wishlist Clicks int | conversion_add_to_wishlist_clicks | Add to Wishlist conversions attributed to clicks. |
Conversion Add To Wishlist Views int | conversion_add_to_wishlist_views | Add to Wishlist conversions attributed to views. |
Conversion Purchase Clicks int | conversion_purchase_clicks | Purchase conversions attributed to clicks. |
Conversion Purchase Views int | conversion_purchase_views | Purchase conversions attributed to views. |
Conversion Purchase Total Value decimal | conversion_purchase_total_value | Total purchase revenue in microcurrency. |
Conversion Purchase Avg Value decimal | conversion_purchase_avg_value | Average purchase value in microcurrency. |
Conversion Sign Up Clicks int | conversion_sign_up_clicks | Sign Up conversions attributed to clicks. |
Conversion Sign Up Views int | conversion_sign_up_views | Sign Up conversions attributed to views. |
Conversion Lead Clicks int | conversion_lead_clicks | Lead conversions attributed to clicks. |
Conversion Lead Views int | conversion_lead_views | Lead conversions attributed to views. |
Conversion ROAS decimal | conversion_roas | Return on Ad Spend (purchase revenue / spend). |
Key Conversion Total Count int | key_conversion_total_count | Total count of key conversions (clicks + views). |
Key Conversion Clicks int | key_conversion_clicks | Key conversion count attributed to clicks. |
Key Conversion Views int | key_conversion_views | Key conversion count attributed to views. |
For metadata report types, parameters are the entity fields: IDs, names, statuses, configuration attributes, and creation timestamps.
For the Statistics report, 75 metrics are available: impressions, clicks, spend, CTR, CPC, reach, frequency, engagement (upvotes, comments), video views and completion rates, and conversion metrics (page visits, purchases, sign ups, leads, ROAS).
The Statistics report is grouped by date, so each row in the destination table is one day.
The Reddit Ads API returns Spend in micro-units of your account currency: one dollar is 1,000,000. Select the Costs parameter to get spend converted to regular currency units. Renta then fetches spend automatically and divides it by 1,000,000.
Date range
Set the historical period to load. The date range applies to the Statistics report: Renta requests metrics for the selected window. Metadata report types always load the full current list of entities.

- Date start.
The first date of the extraction period. - Date end.
The last date of the extraction period. Leave it as Today to keep collecting new data on every run.
Schedule
Choose how often the pipeline runs.

| Schedule type | Description |
|---|---|
| Manual | The pipeline runs only when triggered manually through the interface or via API. |
| Daily | The pipeline runs once a day at the specified update time. |
| Interval | The pipeline runs at specified time intervals. |
| Cron Expression | The pipeline runs on a schedule defined by a cron expression. |
For Daily schedules, set the Update time, the exact time each run starts, then click Create pipeline.

Renta also supports API triggers and integration with external orchestrators such as Apache Airflow, Dagster, and Prefect. See the full scheduling documentation for details.
The new pipeline appears in the Pipelines section under the ETL tab, where you can track its runs, progress, and the destination table name.

Sync strategy
The table below describes how Renta synchronizes each Reddit Ads report type.
| Strategy | Supported report types | Description |
|---|---|---|
| Incremental | Statistics report | Renta requests metrics for the selected date range, filtering by the report date. Tables are partitioned by date, and each scheduled run reloads the most recent days of the range, so late metric adjustments from Reddit are captured. |
| Full reload | Ad accounts metadata, Ad groups metadata, Ads metadata, Businesses metadata, Campaigns metadata, Gallery items metadata | The Reddit Ads API returns these entities without a modification-date filter, so Renta reloads the full current list on every run. The table reflects the account structure at the time of the sync. |
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.