Built by Metorial, the integration platform for agentic AI.

Learn More

    Provider Summary

    • create ad campaigns

    • manage audience targeting

    • send conversion events

    • retrieve performance reports

    • manage custom audiences

    • configure ad group targeting

    • manage campaign budgets

    • track ad conversions

    • manage advertiser accounts

Reddit Ads

Manage Standard advertising resources, discover account and Pixel IDs, read performance reports, manage supported custom audiences, and submit conversion events.

Connect and select an account

  • OAuth 2.0 requests adsread and adsedit for advertising management.
  • Conversion OAuth requests adsread and adsconversions for account/Pixel discovery and conversion submission; it does not grant advertising-edit permission.
  • Conversion Access Token supports a business-admin-issued static conversion token. It has no documented identity-read permission; verify its business and Pixel in Events Manager. No invented identity request is made.

OAuth uses Reddit's documented Ads authorization URL, permanent authorization, Basic-authenticated token exchange and refresh. Member and System User identity come from GET /api/v3/me; System Users have no human profile fields. The old OAuth URL and authorizations remain supported by Reddit. Unused history is excluded from new grants. Token refresh preserves the stored refresh token when Reddit omits a replacement.

New connections do not require an opaque account ID in configuration. list_ad_accounts first lists businesses; pass a returned businessId to query its account IDs. Supply accountId to management tools. Already-stored legacy account configuration remains a fallback. No business or account is chosen automatically.

Tools

ToolsBehavior
get_account_info, list_ad_accounts, list_pixelsExact actor/account identity and scoped discovery. Funding is one optional page; set includeFunding:false when billing-read access is unavailable. Approval state is not fabricated as account status.
list_campaigns, list_ad_groups, list_ads, list_custom_audiencesOne page, with nextUrl and hasMore. Continue with the same account and filters. Campaign status filtering is applied to that page; DRAFT is unsupported.
get_resourceExact account-scoped campaign, ad-group, ad or audience readback, including configured/effective state and relationship IDs.
manage_campaignCreate/update Standard campaigns. Creation requires name, objective and explicit status. DAILY campaign budgets require explicit CBO and its Pixel, schedule, goal and bidding fields. Non-CBO LIFETIME budget is a campaign spend cap. Budget mode/type are immutable.
manage_ad_groupCreate/update Standard ad groups with verified parent account, required Pixel and current bidding fields. Legacy bidStrategy means bid type; optimizationStrategy is distinct. Targeting maps to communities (included/excluded), interests, keywords, geolocations (included/excluded), custom audiences (included/excluded) and placements; each supplied list replaces that list and other targeting fields are preserved on update.
list_targeting_optionsSearch targetable communities by name/topic (paginated), or list interests and geolocations (filtered by country, city or postal code, capped by limit). Returns the names/IDs manage_ad_group expects.
list_postsList the profiles linked to an ad account, then one page of a profile's posts (optionally by type or organic/promoted source). Returned postId values are the creatives manage_ad uses.
manage_adCreate/update ads using an existing creative postId (discover with list_posts). Direct legacy headline/body/call-to-action/media fields fail with remediation; create the creative in Ads Manager. No speculative creative job is created.
get_performance_reportDocumented metric names and dimensions, UTC midnight date boundaries (endDate exclusive), one page and continuation. Entity-ID filters are combined with OR. Metrics retain provider units: spend, CPC, CPV, eCPM and eCPA values are microcurrency (divide by 1,000,000); conversion total values are cents (divide by 100). UTC is default; timeZoneId applies to date dimensions.
manage_custom_audienceCreate customer-list, website (PIXEL_RETARGETING) and engagement (ENGAGEMENT_RETARGETING) audiences with required configuration. Optional customer-list configuration sends originClientId (the creating application's client ID) and customerListOrigin (the list source, such as LIVE_RAMP); Reddit requires the client ID whenever that configuration is present. Metadata update, description and LOOKALIKE creation are unsupported and fail locally. Size ranges are not turned into invented exact counts.
manage_audience_users1–2500 complete rows of lowercase SHA-256 identifiers for an account-scoped customer list. HTTP204 is acknowledged; usersSubmitted is reported, and no processed-user count or completed matching is invented.
delete_custom_audiencePre-read exact account association and accept documented HTTP204 deletion. Does not claim historic data erasure.
send_conversion_eventsExplicit CAPI version, hashed or plain documented match keys, bounded event age, zero-safe values and truthful receipt. Does not claim attribution/deduplication completion.

Advertising monetary inputs remain cents of the account currency. They convert to integer microcurrency using cents × 10,000; unsafe or fractional cent inputs are rejected. Returned microcurrency converts back without dropping zeros. Conversion valueDecimal remains an amount in base currency units, with no cents conversion. IDs remain strings and unsafe provider integer values are rejected.

Version and effect limits

Management uses current v3 paths, {data:...} bodies and PATCH updates. The September 2026 objective migration retains documented old enums such as CONVERSIONS and CATALOG_SALES, while introducing current values. The original TRAFFIC, VIDEO_VIEWS, REACH and ENGAGEMENT strings have no documented API enum mapping and fail explicitly; choose CLICKS/IMPRESSIONS/VIDEO_VIEWABLE_IMPRESSIONS or an appropriate current objective deliberately. CPA is not a current ad-group bid type.

Campaign/ad-group/ad creation requires an explicit status. ACTIVE can enable advertising spend. PAUSED is required for controlled testing. ARCHIVED and DELETED are retained provider states, not record erasure. Changing a parent or a CBO-inherited bid/budget is rejected rather than silently changing delivery intent.

Reddit's current CAPI migration guide says both versions accept events and existing bearer tokens remain valid. New static-token and Conversion OAuth connections default to v3; old unmarked connections retain v2. apiVersion selects explicitly. v3 requires actionSource, sends epoch milliseconds, uppercase tracking types, nested data, type and metadata, and accepts up to 1,000 events. Legacy v2 retains the old endpoint and payload conventions, with the existing 500-event tool limit. testId is v3-only. Do not dual-send or automatically retry an uncertain ingestion. Receipt eventsSent counts submitted events after an HTTP acknowledgment; it is not a verified per-event attribution count.

Conversion events and audience membership have irreversible effects. Use Events Testing and isolated synthetic sources only with explicit authorization. No event/history rollback is claimed. Reports using HOUR for more than seven days and some breakdown combinations change on December 8, 2026; review Reddit's migration guide before that date.

Official sources