Skip to main content

Overview

Connecting Reddit Ads lets the dashboard:
  • Create, update, pause, resume, and delete campaigns and ad groups.
  • Upload image and video media into the connected ad account.
  • Create ads (including promoted-post format) that reference an uploaded post and media.
  • Pull spend, impressions, clicks, conversions, and conversion value from Reddit’s reporting endpoint.
  • Run creative experiments by rotating multiple ad groups under one campaign with shared targeting.
The integration uses the Reddit Ads API v3 with OAuth 2.0 authentication.

Prerequisites

Before connecting, make sure you have:
  1. An active Reddit Ads account in good standing.
  2. An OAuth-enabled Reddit application configured for the dashboard’s redirect URI, with OAuth credentials configured by your administrator.

OAuth scopes

The connection requests the following scopes:
ads_read covers list and report operations; ads_manage covers all create / update / delete writes.

Connect

  1. Open the Paid UA → Integrations page in the dashboard.
  2. Click Connect on the Reddit Ads tile.
  3. Sign in with the Reddit account that has access to your ads accounts.
  4. Approve the requested scopes.
  5. After redirect, the dashboard probes /me/accounts to confirm access and stores the connected account id.
The dashboard stores the OAuth refresh token; access tokens are rotated automatically before expiry using HTTP Basic auth on https://www.reddit.com/api/v1/access_token.

What happens behind the scenes

Every write request carries an Idempotency-Key HTTP header so retries do not produce duplicate resources, even if the platform connection drops mid-request.

Rate limiting

Requests are rate limited. If the platform reports HTTP 429, the request is automatically retried with exponential backoff.

Reporting

Metrics are pulled hourly (or on demand) from Reddit’s reports endpoint. Default breakdown is date,campaign_id; default metrics are spend,impressions,clicks,conversions,conversion_value. Spend is converted from native currency to USD on ingestion. The native currency, the FX rate used, and the local-currency spend are kept alongside the USD value for downstream analytics.

Experiments (multi-ad-group rotation)

Reddit does not expose a native experiment primitive. The dashboard maps experiment variants onto multiple ad groups under a single campaign that share targeting, with each variant carrying its own creative. The control variant ships active; treatments ship paused until the experiment runner toggles them. Per-variant performance is read back from the reports endpoint with breakdowns=ad_group_id.

Live write access

Live write access is enabled by AppDNA for your account. Until it is enabled, write operations are not sent to Reddit.

Disconnect

Click Disconnect on the integration tile. The OAuth refresh token is removed from the dashboard. To fully revoke access, also remove the third-party app authorisation from your Reddit account preferences.

Troubleshooting

  • “Reddit Ads /me/accounts returned 401” — the OAuth token has been revoked or has expired without a valid refresh token. Re-connect the integration.
  • “Reddit Ads create_campaign: 429 — …” — your account’s per-minute API quota was breached. The dashboard backs off automatically; if the error persists, lower campaign-mutation frequency.
  • “webhooks not supported on reddit_ads” — Reddit Ads has no webhook surface. State changes are detected via the hourly metrics-sync job instead.
  • Writes are not reaching Reddit — live write access is enabled by AppDNA for your account. Contact AppDNA support if writes are not taking effect.