The Reddit feed

The Reddit feed channel type builds the product catalog Reddit's Dynamic Product Ads read. This article covers the one thing you have to set up on Reddit's side before any of it runs, and why this channel type writes a tab-separated file instead of XML.

Updated August 16, 2026

A Reddit catalog is how you give Reddit your product data — prices, stock, images, links — and it's what Reddit's Dynamic Product Ads are built from. What Reddit then shows is Reddit's decision.

The Reddit feed channel type builds that catalog: a channel whose columns follow Reddit's catalog specification.

What setup does — and doesn't — get you#

Reddit is refreshingly simple in one way and has one hard prerequisite in another, so it's worth reading this before the setup steps:

  • Creating this channel prepares a catalog. It does not start any ads. Campaigns are built in Reddit Ads Manager, where you set the objective to catalog sales. A published Renable channel means Reddit has good product data to read.
  • There is no application, no waiting list, and no approval to advertise. Unlike the ChatGPT shopping feed, Dynamic Product Ads are available to Reddit advertisers self-serve, and you don't need to be on Shopify to send a catalog — Reddit takes a feed URL from anyone. If you've read that Reddit DPA is a limited beta you need a rep for, that's out of date.
  • Your ads will not run without the Reddit Pixel or the Conversions API. Reddit treats this as a requirement for Dynamic Product Ads, not a recommendation, and it lives on your own store — Renable delivers the catalog and never the pixel. If you set up nothing else on Reddit's side, set this up. It's the single most common reason a perfectly good catalog produces nothing.
  • Reddit reviews your products. A catalog can sit in a pending-review state, and individual products can be approved while others are rejected — so "the feed uploaded" and "the products are usable in ads" are two different things. Reddit doesn't publish how long review takes, so plan for it rather than around it. Reddit's advertising policies also prohibit some categories outright (alcohol, prescription drugs, cannabis and CBD, and gambling among them).
  • A Reddit catalog does not give you Reddit's newer shopping surfaces. Reddit has announced Collection Ads, and it has been testing AI shopping results in Reddit search and a Shopping Listing Ads format. None of those is something this channel switches on: the search formats are invite-only tests with selected brands, and Collection Ads has no published documentation, eligibility, or country list. Treat them as things that may become available to you later, through Reddit, not as part of this setup.

Creating the channel#

From a project's Channels section, create a channel and pick the Reddit feed type. It seeds:

  • Reddit's catalog columnsid, title, description, link, image_link, availability, price, sale_price, brand, condition, the identifiers (gtin, mpn), item_group_id, google_product_category, and product_type — bound to your product data. Reddit uses the same attribute names as Google, so if you already have a Google Shopping channel this one will look familiar. Reddit also accepts a few alternative names for the same fields (name for title, url for link, fullimage for image_link), so a channel you built by hand with those column names still passes the field checks. The five custom_label columns are recognised but not seeded — add them from the Fields tab if you segment campaigns by them.
  • Two review columns most stores can't fill from their shop platformaverage_review_rating and number_of_ratings. Reddit lists both in its catalog specification, and Renable can fill them from the review data it holds. Products without reviews simply leave them empty.
  • Two starter rules — availability drops to out_of_stock when a product's stock hits zero or its content is incomplete, and sale price fills only when a product is actually discounted.
  • Output set to TSV (tab-separated) rather than the usual XML — see below.

On the Settings tab, the Used for card shows the channel declared for Reddit with its always-on Dynamic Product Ads use — that's what drives the field checks. Reddit has no add-ons at all — one of three destinations that don't, alongside Perplexity and Prisjakt, each for a different reason — and that's a statement about Reddit rather than something still to come: Reddit's catalog specification has no video attribute of any kind, and while it does accept extra product images, it doesn't publish how many it reads — so Renable offers no chip rather than inventing a limit. There's no Used as choice either, because Reddit documents no supplementary-feed concept.

Delivering the feed#

Reddit fetches your feed URL. In Reddit Ads Manager, create a catalog and add your Renable feed URL as a data source, then pick your sync schedule. See Connecting a channel to Meta, Google, or TikTok for where to find the URL. [VERIFY: the exact path to Catalog Manager in Reddit Ads Manager's current navigation, and which sync intervals it offers.]

A few delivery details worth knowing:

  • Never put a username or password in the feed URL. If your feed needs credentials, Reddit has fields for them in Catalog Manager.
  • This channel type writes TSV, not XML, and that's deliberate. Reddit does accept RSS 2.0 XML, but it publishes its specification as a list of plain column names — which is exactly what a tab-separated header row is — and never says how its XML parser matches those names to elements. A tab-separated file leaves nothing to interpret, so that's what the channel type starts on. You can switch the File format to XML on the Settings tab and Renable won't warn you — it's an accepted format, and if it works for your catalog there's no reason to change back. (Reddit does not read Atom XML; Renable never writes it.)
  • Reddit requires UTF-8 and a header row, both of which Renable always writes.
  • If you turn on the Compress feed file (.gz) switch, Reddit reads it.
  • Reddit also accepts a manual file upload in Catalog Manager. That's a one-off — it doesn't refresh, so it isn't what a Renable channel is for.

Checking the output#

  • Preview tab → Source view shows the exact file content per product.
  • The Fields tab marks Reddit's required fields and their fill rates from the latest render. Reddit requires only six — product ID, title, description, link, image link, and price — so everything else is a recommendation rather than a blocker. Its limits are checked here too: IDs up to 128 characters, titles up to 300, descriptions up to 5,000 (though Reddit recommends staying under 180).
  • Product images need to be at least 500 × 500 pixels, JPG or PNG, and under 20 MB. Renable can't measure a remote image while writing the feed, so this won't show up as a warning — check it against your own product photos.
  • Availability values are written with underscores (in_stock, out_of_stock, preorder, backorder) — the same spellings Google uses, and unlike Snapchat's and Pinterest's spaced ones. The Reddit channel type already writes them Reddit's way; if you map availability yourself, send the underscored spellings.
  • Render results and warnings show on the Activity tab — see Channel events and troubleshooting.

Related articles#