Skip to main content
Version: v3

Set Up a Campaign

You can programmatically set up campaigns using the Reddit Ads API. This lets you create ad groups to target your audience, organize the ads you display on Reddit, and measure your results in the Ads Manager.

All ads created using the API are subject to our Ads API Terms and Ads Policy.

Looking for an easier way to set up campaigns? Try creating a campaign in the Ads Manager using Simple Create or Advanced Campaign Creation.

Before you start

1. Create a campaign

Create a campaign by calling the Create Campaign endpoint. Enable is_campaign_budget_optimization (CBO) to automatically allocate budget across all ad groups based on performance.

App installs, conversions, and catalog sales objectives aren't eligible for CBO.

Awareness campaign (CBO)

json
{
  "data": {
    "name": "",
    "configured_status": "",
    "objective": "IMPRESSIONS",
    "start_time": "
Date
hh : min : s
", "end_time": "
Date
hh : min : s
", "bid_strategy": "", "bid_type": "CPM", "goal_type": "", "goal_value": , "is_campaign_budget_optimization": true, "conversion_pixel_id":"" } }

Campaign objectives

ObjectivePurposeCost
IMPRESSIONS (awareness)Awareness of your brand or product. Optimized for impressions.Pay for cost-per-1,000 impressions (CPM)
CLICKS (traffic)Traffic to your website.Pay for cost-per-click
CONVERSIONSConversions (valuable actions) on your website.Pay for cost-per-click
VIDEO_VIEWABLE_IMPRESSIONS (video views)Views for your video.Pay for cost-per-view (CPV)
APP_INSTALLSInstalls for your mobile app.Pay for clicks
CATALOG_SALESSales of your retail products and services. Required for product and dynamic product ads. Optimized for clicks.Pay for cost-per-click (CPC)
LEAD_GENERATION (beta)Increase potential customer interest by capturing valuable leads with forms on Reddit.Pay for cost-per-click (CPC)

2. Set up ad groups

Granularly measure your campaign's performance and define audiences, targeting, and schedules for your ads using ad groups. Create an ad group by calling the Create Ad Group endpoint.

With CBO, bidding is handled at the campaign level. Set bid_strategy and bid_value to null to inherit the campaign's settings.

Awareness ad group (CBO)

json
Fill all fields
{
  "data": {
    "campaign_id": "",
    "configured_status": "",
    "name": "",
    "bid_type": "CPM",
    "start_time": "
Date
hh : min : s
", "end_time": "
Date
hh : min : s
", "bid_strategy": null, "bid_value": null, "conversion_pixel_id":"" } }

3. Create a post

Skip this step when creating catalog ads.

Create the contents of your ad with Create Structured Post Creation Job.

If the job status is SUCCESS, a post will be created. For other statuses:

  • CLIENT_ERROR: Fix the creative configuration and create a new job.
  • SERVER_ERROR: The system ran into an error. Retry again later.

Check the status of your job with Get Structured Post Creation Job.

Image post

json
{
  "data": {
    "allow_comments": ,
    "creative": {
      "type": "IMAGE",
      "headline": "",
      "destination": {
        "url": "",
        "type": "URL"
      },
      "image": {
        "media": {
          "url": "",
          "type": "URL"
        }
      },
      "thumbnail": {
        "media": {
          "url": "",
          "type": "URL"
        }
      }
    }
  }
}

4. Build ads

Create an ad with Create Ad.

Standard ad

For app install campaigns, set click_url to your Google Play or App Store product URL.
json
Fill all fields
{
  "data": {
    "ad_group_id": "",
    "name": "",
    "post_id": "",
    "click_url": "",
    "configured_status": ""
  }
}

5. Test your ad

After building your ad, it will be reviewed. This process may take up to 48 business hours. Check your ad's status and rejection reason with Get Ad.

We strongly recommend visiting the preview_url link to ensure your ad looks right. This preview will expire at the date and time listed in preview_expiry.

You can set preview_expiry with Update Ad.

Once approved, monitor your ads at least once a week to optimize them:

  • Dashboard: Measure impact and identify ways to improve your campaigns by viewing ad performance over time in the Ads Manager.
  • Get A Report: Generate a metrics report for up to three breakdowns based on the list of fields that you provide. Reports provide detailed insights and analytics on ad performance, audience engagement, and other relevant metrics. You can also use this endpoint to verify custom conversion events.