← All insights
Insights

The Snapchat product feed: what Dynamic Ads need, the pixel they cannot run without, and the day the format opens

Snapchat has a large audience in Sweden, Norway and Denmark, and a young one. Its catalog format is called Dynamic Ads. You hand Snapchat your products, build one ad template, and Snapchat assembles an ad for every product on its own. So you look for the feed option. “Does Snapchat have a feed?” It does. The feed is the easy part.

Here is what the Snapchat catalog needs, the two things outside the feed that decide whether it runs at all, and the setting that turns a still image into video.

Nothing runs without the Snap Pixel

Dynamic Ads show people the products they looked at and the products that go with them. Snapchat can only do that if it saw them look. The Snap Pixel is the script on your store that reports product IDs on four events: page view, view content, add to cart and purchase. It is a hard requirement, and the IDs it reports have to match the IDs in your feed exactly. A perfect catalog with a missing or mismatched pixel powers nothing.

If your store uses one ID on the site and another in the feed, fix that before anything else. The catalog in Snapchat Ads Manager shows how many products matched. A low number there is almost always the IDs.

The day the format opens

Snapchat opens Dynamic Ads to an account once its pixel events have matched 1,000 Snapchatters. A new pixel takes time to get there. So a brand-new setup can be entirely correct and still show no Dynamic Ads option in Ads Manager. That is the process, not a fault. Install the pixel first, let it run, and have the catalog ready for the day the format appears.

Creating the catalog itself needs Organization Admin rights in Snapchat, on top of a business account and an ad account. Snapchat then runs automated diagnostics on what you send. Errors block individual products, warnings do not, and there is no human approval queue to wait for.

What the catalog needs

Snapchat’s columns look like Google’s: id, title, description, link, image_link, availability, price, sale_price, brand, condition, gtin, mpn, item_group_id and google_product_category. Snapchat says you may use a feed you already run elsewhere, as long as it meets Snapchat’s own specification. The names match. The values differ in places.

  • Availability with spaces. in stock and out of stock, not Google’s underscores. No backorder. Snapchat adds two values Google does not have, discontinued and available for order, and leaves out-of-stock products out of Dynamic Ads on its side.
  • One of brand, GTIN or MPN. Snapchat requires one of the three on every product. Brand is the one every catalog can produce.
  • Images as JPEG, PNG or WebP, at least 200 by 200 pixels. No GIF. Up to twenty extra images per product, more than any other network reads.
  • Room to breathe. IDs up to 128 characters and titles up to 375. Snapchat recommends far shorter titles so they are not cut off on the ad itself.
  • One feed per catalog. Snapchat holds a single feed per catalog. Whatever tool builds the feed builds the whole thing.

Snapchat fetches the feed URL hourly or daily, whichever you set in Ads Manager, and reads gzipped files. It reads XML, CSV and TSV. It does not read zip archives.

Why your product videos show as still images

Snapchat takes one video per product from the catalog, for the format it calls Product Level Video Ads. A video in the feed makes the product eligible. It does not make the ad. Snapchat plays it only when the Dynamic Ad template in Ads Manager is set to an automatic layout with video preferred. Without both settings, Snapchat ignores the video and falls back to the image, however good the feed is. Add the video column, then change the template.

One naming detail. Snapchat’s own documentation calls the column video[0].url in a CSV or TSV feed. An XML feed cannot carry square brackets in an element name, so an XML feed uses video_link.

A Snapchat catalog from the feed you already have

Renable imports your store’s feed and publishes a Snapchat channel next to Meta, TikTok and Google, from one catalog. The channel starts with Snapchat’s columns, writes the values Snapchat’s way and checks every product against Snapchat’s rules before you publish.

  • The same ID as your store. The feed carries the product ID your store uses, so the pixel and the catalog agree from the first fetch.
  • Brand on every product. Products with no brand in your catalog ship the word Generic rather than an empty column, and you can set your own fallback instead.
  • Stock that is current. A starter rule sets availability to out of stock when a product sells out or its content is incomplete. The feed is re-read from your store every hour, ready for Snapchat’s hourly fetch.
  • A video for every product. Turn on video ads for the channel and a rendered product video from your template fills the video column, vertical, with the price and the product on it.

Or say it to Aimée, the AI agent inside Renable.

Aimée

Set up a Snapchat catalog for Fetchwell with the product videos.

Drafted: Snapchat feed

214 products, XML, hosted feed URL

Video ads on: video_link ← Story video template

Availability rule: out of stock at zero

Two things on Snapchat’s side. The Snap Pixel has to be on fetchwell.com and reporting the same product IDs as this feed. I can’t install it or see whether it is there. And the video plays only when your Dynamic Ad template is set to automatic layout with video preferred, in Ads Manager.

PublishReview the draft

The setup details are in the help center: The Snapchat feed. See how Renable works with Snapchat

Have the catalog ready for the day Dynamic Ads open

Connect your feed and Aimée drafts the Snapchat channel with video on every product. Every account starts with a 30-day free trial.