Skip to main content
AdLoop connects Reddit Ads next to Google Ads: performance reports, campaign structure, pixel health, targeting lookups, and changes that go through the same preview → dry run → confirm_and_apply gate as every Google change. New Reddit campaigns, ad groups and ads are created PAUSED. Reddit is a separate connection: its own OAuth grant, its own ad account selection. Use it next to Google or on its own: a workspace with only Reddit Ads connected works too.

Connect

Settings → Reddit → Connect Reddit account. Reddit’s own consent dialog asks for adsread and adsedit (read and edit advertising data); AdLoop never sees your password. Then pick the ad account your AI may reach. Agencies pick a Reddit ad account per client under Settings → Clients.Disconnecting revokes the grant at Reddit and deletes the stored token. Google and your API keys are untouched. You can also withdraw access at any time at reddit.com/prefs/apps.

What is different from Google Ads

Money is returned in the account’s currency; Reddit’s microcurrency is already divided. Report data lags up to six hours.

Weekly schedules

Ads Manager’s “time of day” grid is the ad group’s schedule: a list of blocks such as {"days": "MON-FRI", "start_hour": 13, "end_hour": 23} (day names, hours 0 to 23, end_hour inclusive) or the native {"start_day": "FRI", "start_hour": 22, "end_day": "SAT", "end_hour": 3} for overnight windows. get_reddit_ad_groups returns it with a readable schedule_summary (Mon–Fri 13:00–23:59, or any time); update_reddit_ad_group and draft_reddit_ad_group accept it, and [] clears it. Two things worth knowing: Reddit applies the hours in each viewer’s local time, so a European account keeps delivering to US viewers until the next morning, and zero impressions outside the schedule, a whole weekend included, is by design. The tools say so in insights[] before you go looking for a fault.

Tools

Reads: list_reddit_accounts, list_reddit_funding_instruments, get_reddit_campaigns, get_reddit_ad_groups, get_reddit_ads, get_reddit_performance (with compact mode and insights[]), run_reddit_report (raw fields and breakdowns), get_reddit_pixels, get_reddit_audiences (custom and saved audiences, and which ad groups use them), search_reddit_targeting (including Reddit’s related-community suggestions), get_reddit_account_history (who changed what), estimate_reddit_ad_group (audience, delivery and bid estimates before you build). Writes (all previewed): pause_reddit_entity, enable_reddit_entity, remove_reddit_entity (archive, irreversible, double confirmation), update_reddit_campaign, update_reddit_ad_group, update_reddit_ad (landing URL, name, comments), draft_reddit_campaign, draft_reddit_ad_group, draft_reddit_ad. Keywords and geolocations in an ad-group draft are validated with Reddit before the preview. Ad groups can also target devices (desktop or mobile, by operating system and version), mobile carriers and view modes; search_reddit_targeting looks up valid devices and carriers.

Creative

get_reddit_ads with include_copy=true returns each ad’s post: type (TEXT, IMAGE, VIDEO, CAROUSEL), headline, body, destination URL, call to action and media, one request per distinct post, so a creative review does not need a browser. draft_reddit_ad either creates a post and the ad, or with post_id promotes a post that already exists, keeping its upvotes and comments. New posts can be text, image, video (an MP4 or MOV link plus a thumbnail) or a carousel of 2 to 6 image cards, each with its own caption and link. Reddit downloads the media from the URLs you give, so they have to be direct links to the files; the draft checks each one and refuses a web page or a file over Reddit’s size limit. On AdLoop Cloud, an image without a public URL can be uploaded first (Uploading images) and used as upload:<id>. Two Reddit rules the tools enforce before the dry run: a live post’s headline and body cannot be edited (draft a new post for new copy), and a TEXT (“free form”) ad carries no click_url at all, because it opens the post itself and the link has to be in the body. Placements are the locations list on the ad group: FEED and/or COMMENTS_PAGE. The full list with parameters is in the tool reference; the toolset slug is reddit.

Building a campaign

The order is campaign → ad group → ad, each created paused and each through its own preview:
  1. Pixel first. Every ad group needs a conversion_pixel_id (a Reddit rule since July 2026). get_reddit_pixels lists them and shows when each event last fired; a CONVERSIONS campaign on a pixel that never fired the optimization event cannot learn.
  2. list_reddit_funding_instruments for a servable billing instrument and the profile that will author the post.
  3. search_reddit_targeting for community, interest, geolocation and language ids (community_suggestions finds related subreddits). Untargeted ad groups are refused. 3a. estimate_reddit_ad_group with the same targeting and budget: audience size, expected delivery, and Reddit’s suggested bid range.
  4. draft_reddit_campaign → draft_reddit_ad_group (budget, bid, pixel, targeting) → draft_reddit_ad (headline, verified click URL, call to action). IMAGE, VIDEO and CAROUSEL ads click through to the landing page; a TEXT ad clicks through to the post itself, so the link has to be in the body (the tool insists on it). Posts cannot be edited afterwards.
  5. Enable the ad, then the ad group, then the campaign. Enabling an ad sends it to Reddit’s policy review; expect PENDING_APPROVAL for up to a day, then check get_reddit_ads for a rejection_reason.

Retargeting audiences

draft_reddit_custom_audience builds an audience from data Reddit already has, so nothing personal is uploaded:
  • Website visitors (PIXEL_RETARGETING): people the pixel saw on your site in the last 1 to 90 days, for the events you pick (every page visit, or warmer signals such as add to cart, sign up or a custom event).
  • Engaged people (ENGAGEMENT_RETARGETING): people who saw, clicked, upvoted, commented on or watched the ads of campaigns you name, in the last 1 to 180 days.
Reddit fills a new audience over a few hours and needs roughly 1,000 matched people before an ad group delivers to it. get_reddit_audiences shows each audience’s status, estimated size and the ad groups that use it. To use one, set custom_audience_ids on an ad group (it narrows the ad group to that audience) or excluded_custom_audience_ids (it keeps those people out, for example buyers in a prospecting ad group). Customer lists (emails or phone numbers) are not supported: they would upload personal data, which needs its own consent and legal review.

Operations and limits

On AdLoop Cloud, Reddit calls count toward the same daily operations ceiling as Google Ads calls (both platforms together); Analytics, Tag Manager, Search Console and Merchant Center stay unmetered. The dashboard shows the split. Reddit never touches the shared Google quota.

What AdLoop stores

An encrypted refresh token, your Reddit username, the granted scopes, and the selected ad account (id, name, currency, time zone). Campaign and performance data pass through and are never stored. See the privacy policy for the full description.