Home / Resources / Guides / Feed management
Connections · Guide 02 of 05
Product Data for Discovery Feeds
Two merchants connect the same store to the same platforms and run the same catalog ads. One outperforms the other on every metric. The difference is in the data — and it starts with a check most teams have never run.
Key finding
2.4
ROAS spread revealed after separating clearance from flagship into distinct catalog campaigns — Streetwear & Apparel Brand, 4,000 SKUs on Facebook and Instagram
GoDataFeed customer result
A shopping engine matches product data to a query. Social commerce has no query. Meta, TikTok, Pinterest, and Snapchat decide which products to show, to whom, in which moment — and every input to that decision comes from two places: the behavioral signal the platform already owns, and the product data the merchant supplies. You control exactly one of those.
That changes what the catalog is for. In a search auction, data answers a question the shopper asked. In a discovery feed, data has to give the algorithm enough to make the match on its own — clean identity for event matching, distinct variants for delivery, images that survive placement rules, categories that route the product to the right audiences. The catalog isn't describing products to people. It's describing products to a delivery system, which then chooses the people.
Every platform ships a native sync. Shopify pushes to Meta's Commerce Manager and TikTok in a few clicks; Pinterest and Snapchat ingest the same catalog formats. Transport is solved here the way it's solved everywhere — which is why two merchants with identical connections run catalog ads with completely different results. The pipe is the same. The payload isn't.
A native sync moves storefront data as-is: the storefront title, the storefront image set, whatever variant structure the platform export produces, and nothing the export can't see — no segmentation logic, no margin encoding, no per-platform image selection. Everything in this guide is about the difference between data that arrives and data that performs once the delivery algorithm starts reading it.
Key Insight: Catalog ads are the automation story of paid social — Advantage+ and GMV Max run targeting, bidding, and creative assembly. The merchant's remaining input is the catalog they assemble from. Automated campaigns didn't reduce the data's importance; they made it the last lever.
Dynamic retargeting has one load-bearing joint: the product ID in the behavioral event has to match the product ID in the catalog. When a shopper views a product or adds it to cart, the Pixel or Conversions API fires an event carrying content_ids. The platform looks those IDs up in the catalog to know which product to retarget with. If the event says SKU-1042-NAVY and the catalog says 1042_navy, the lookup fails — and it fails silently.
Nothing errors. The catalog looks healthy, events flow, campaigns spend. What breaks is invisible: view- and cart-based audiences build thin or empty, dynamic ads fall back to broad delivery, and the platform's optimization learns from a fraction of the signal it should have. The symptom reads as "retargeting doesn't work for us" or "Advantage+ went cold" — a campaign diagnosis for a data-plumbing failure. ID mismatch is the single most common structural defect in social catalog setups, and the most common source is the obvious one: the event integration and the catalog were configured at different times, by different tools, from different ID fields.
Silent Failure: ID mismatch produces no disapproval, no error state, no alert. The only way to catch it is to test it: fire a view event for a known product on each platform and confirm the event's content ID resolves to a live catalog item. Run this check after every replatform, catalog rebuild, or tracking migration — the three moments it breaks.
In social placements, the catalog is the creative. The image the ad renders comes from the feed, which makes image data a performance attribute, not an asset-library concern. Three failure modes dominate. Policy rejections: text overlays, watermarks, promotional badges, and borders get catalog items disapproved, and they tend to arrive in batches because the same template produced every image. Variant mismatch: a shopper who viewed the navy colorway gets retargeted with the parent's default image — a relevance loss caused by children missing their own image_link. And placement fit: catalog placements are built around square imagery; a catalog of uncropped landscape shots renders badly everywhere it appears.
Pinterest raises the bar in its own direction — a planning surface where lifestyle imagery and alternate angles carry product Pins, which makes additional_image_link a real field, not a nice-to-have. The operational point across all four platforms: image selection and per-platform image assignment belong in the feed logic, so each surface receives the image set built for it rather than whatever the storefront exported first.
Social surfaces truncate hard, render mobile-first, and give a title one glance to register. The shopping-engine title strategy — attribute-dense, built for query matching — doesn't transfer intact, because there's no query to match. What transfers is the front-loading principle: product identity in the first 40 characters, because that's often all a placement shows. "Halcyon Supply Men's Weekend Tee — Navy" survives truncation. A title that opens with brand boilerplate or SEO padding shows a shopper three words that identify nothing.
Descriptions do quieter work: product detail surfaces, Shops listings, and the platform's own category matching all read them. Storefront SEO copy pasted into the description field is signal written for the wrong reader. Two sentences that say what the product is and who it's for outperform four paragraphs of keyword scaffolding — and this is precisely the field where per-channel transformation earns its keep, because the same source data needs a different shape here than it needs on Google.
Key Insight: One catalog, per-channel payloads. The title that wins a Google auction and the title that survives a TikTok placement are different renderings of the same product record — built at the feed layer, not by rewriting the storefront.
Catalog campaigns default to "All Products," and an unsegmented catalog hands the delivery algorithm the same instruction an empty custom label hands Google: spend wherever conversion comes easiest. The segmentation lever on social is the product set — a filtered slice of the catalog a campaign can target, built from catalog fields.
Which means the sets are only as good as the fields. Segmenting by margin tier, seasonality, price band, bestseller status, or clearance requires those distinctions to exist in the data — as custom labels or structured fields the set filters can read. Merchants who encode them run flagship and clearance as separate campaigns with separate budgets and separate ROAS expectations. Merchants who don't run one campaign where clearance cannibalizes flagship delivery, and read the blended result as platform underperformance. Same algorithm, different inputs.
TikTok runs two distinct product-data surfaces and merchants routinely conflate them. Catalog ads — Video Shopping Ads, GMV Max — read a catalog through Ads Manager and behave like the Meta model: ID matching, variant structure, image compliance. TikTok Shop is a commerce surface with its own listing data, category-specific requirements, and content-paired selling. The same product needs different data shapes for each, and treating a Shop listing export as an ads catalog — or the reverse — imports each surface's assumptions into the other's failure modes.
Pinterest shoppers arrive earlier in intent and stay longer — planning purchases, not scrolling past them. Product Pins live or die on imagery depth and accurate categorization, and catalog freshness matters because a Pin saved to a board keeps surfacing for weeks; a price that changed since the save is a trust break at exactly the moment intent matures.
Snap's dynamic ads read the same catalog architecture — item IDs matched to Snap Pixel events, variant grouping, square-first creative. For a catalog already engineered for Meta, Snap is marginal effort and thinner competition: the same payload discipline, pointed at an auction fewer of your competitors bother to enter.
The checklist below compresses the guide into three working tools: the four platforms at a glance, the catalog audit, and the failure triage — enough to pressure-test a social catalog setup in under an hour, starting with the ID match check most teams have never run.
A checklist finds the breakages. Fixing them at catalog scale — IDs reconciled across event integrations, variants structured with their own images, titles and descriptions rendered per platform, segments encoded into the fields product sets filter on — is rules-engine work, and it's the work GoDataFeed does across every social platform from one source catalog. The fastest way to see where yours stands is to look at what you're actually sending.
FAQ
Check ID matching first. The content_ids in your Pixel or Conversions API events must resolve to the IDs in your catalog. When they don't, view- and cart-based audiences build thin or empty — with no error state anywhere.
The catalog is the creative. Advantage+ catalog ads render the image_link in your feed, which makes image quality, per-variant image assignment, and policy compliance performance attributes, not asset-library concerns.
Two separate product-data surfaces. Catalog ads read a catalog through Ads Manager and behave like Meta's model. TikTok Shop is a commerce surface with its own listing data and category-specific requirements. Each needs data shaped for it.
With product sets built from catalog fields — margin tier, seasonality, price band, clearance status. The sets can only filter on distinctions that exist in the data, so encode the segmentation in the feed first.
0
Queries in a discovery auction
1:1
The image ratio catalog placements are built around
4
Platforms one engineered catalog serves
In search, weak data loses auctions you can see. In discovery, weak data loses matches you never knew were made. OR Social commerce has no query. Every input to that decision comes from two places: the behavioral signal the platform already owns, and the product data the merchant supplies. You control exactly one of those.
Bryan Falla
FAQ
Check ID matching first. The content_ids in your Pixel or Conversions API events must resolve to the IDs in your catalog. When they don't, view- and cart-based audiences build thin or empty — with no error state anywhere.
The catalog is the creative. Advantage+ catalog ads render the image_link in your feed, which makes image quality, per-variant image assignment, and policy compliance performance attributes, not asset-library concerns.
Two separate product-data surfaces. Catalog ads read a catalog through Ads Manager and behave like Meta's model. TikTok Shop is a commerce surface with its own listing data and category-specific requirements. Each needs data shaped for it.
With product sets built from catalog fields — margin tier, seasonality, price band, clearance status. The sets can only filter on distinctions that exist in the data, so encode the segmentation in the feed first.
Inside the guide
0
Queries in a discovery auction
1:1
The image ratio catalog placements are built around
4
Platforms one engineered catalog serves
Keep reading
Guide
The twelve most common GMC errors, what each one actually means, and the data fix for each.
11 min read
Guide
Title anatomy for Google, Amazon and Meta — what each rewards, what each quietly penalizes.
9 min read
Guide
How each channel models the same red shirt in four sizes — and why it breaks so often.
8 min read
See what your catalog sends to Meta and TikTok today, versus what the delivery algorithms need — gap by gap.