A product set is a filtered subset of a product catalog that defines which items an ad group or campaign can serve on platforms like ChatGPT Ads, Google Shopping, and Meta. The full catalog is everything you upload, while a product set is the slice you point one ad group at, so different groups promote different products from one feed.
Grouping a catalog into product sets lets you decide which products get budget, which conversations they match, and how you measure performance by group. Skip it and your highest-margin items compete for the same spend as clearance stock, and you lose the ability to bid or pause by product line.
A product set groups products from a single catalog into a named collection that one ad group, campaign, or dynamic ad format draws from. Membership is defined by rules you set against feed attributes such as product type, brand, price, availability, or custom labels, so the set updates automatically as your catalog changes.
Every product set rests on three things: a structured catalog feed with one row per SKU, a set of filter rules, and a destination ad group or campaign that serves the matching items. The feed carries IDs, titles, images, prices, and availability. The rules decide which of those rows qualify. When a shopper's conversation or query matches, the platform assembles an ad from the attributes of an in-set product.
A product set sits one level below the catalog and one level above the individual ad. It differs from the product feed, which is the raw data, and from the ad group, which is the delivery container the set feeds. AirOps helps teams keep the catalog data and structured attributes behind these sets clean and current so the right products stay eligible across AI search surfaces.
Resources: best practices for running ChatGPT Ads campaigns, from targeting to creative specs
A product set turns a static catalog into targeted, servable ad inventory through a short, repeatable sequence.
Upload the feed. Send a structured product file to the ad platform over its feed tool, with one row per SKU carrying IDs, titles, images, prices, and availability.
Define the rules. Set filters against feed attributes so only the products you want in this set qualify, such as a brand, a price band, or a custom label.
Attach to an ad group. Point an ad group or campaign at the set so it can only serve products that match those rules.
Match to intent. When a shopper's query or conversation turns commercial, the platform checks which in-set products fit and assembles an ad from their attributes.
Refresh continuously. As prices, stock, and new arrivals change in the feed, set membership and the served ads update without manual rebuilding.
The output tells you which slice of your catalog earned impressions, clicks, and conversions for a given audience. It does not tell you why an individual shopper converted, so pair set-level data with product-page and post-click analytics.
Product sets decide where your ad budget goes at the catalog level, which makes them a buying decision as much as a setup task. The way you carve a catalog into sets determines what you can bid on, pace, and report separately, so the structure shapes every spend call that follows.
Control over spend: You can push budget toward high-margin or seasonal products and starve the ones that drain it, instead of letting the whole catalog compete at one bid.
Cleaner measurement: Reporting by set shows which product groups actually earn conversions and which quietly waste spend, so you can shift budget on evidence instead of hunches.
Failure mode without it: Dump an entire catalog into one undifferentiated set and a few popular SKUs eat the budget while your strategic lines never get served, and you will not see it in a blended report.
SEO managers use product sets to group catalog items by intent cluster so each ad group matches the questions shoppers actually ask in chat.
Growth marketers use product sets to isolate high-margin lines and fund them separately from low-value stock.
Content strategists use product sets to align ad groups with on-site category pages so paid and organic coverage reinforce each other.
A catalog feed is the structured file of SKUs and attributes, with one row per product carrying IDs, titles, images, prices, and availability, that every product set filters, so a set can only ever be as accurate and complete as the feed beneath it.
Filter rules are the conditions you apply against feed attributes, such as brand, product type, price band, or custom label, that decide which products belong to a set and which are excluded from it.
Custom labels are optional attributes you add to the feed, such as margin tier, seasonality, or launch status, that let you build product sets around business logic the standard commerce fields cannot express on their own.
Direct budget toward your highest-margin products instead of spreading it evenly across every SKU.
Match ad groups to shopper intent on platforms like ChatGPT Ads, Google Shopping, and Meta.
Report conversions by product group so you can see which lines actually pay back.
Update served ads automatically as feed prices and stock change, with no manual rebuilds.
Launch new product lines faster by adding them to an existing set structure.
Start from clean feed data, because a set built on missing titles or prices serves broken ads.
Build sets around business logic like margin or season using custom labels, so budget maps to goals.
Keep sets mutually distinct, so the same SKU is not competing against itself across ad groups.
Name sets by the slice they represent, so anyone reading the account can tell what each one targets.
Review set membership on a schedule, because catalogs drift as products launch and sell out.
Size sets to your reporting needs, so each group holds enough volume to read performance signals.
Avoid the single catch-all set that holds your entire catalog. It feels efficient, but it hands pacing to the platform's guess at which products matter, buries your strategic lines behind a few high-traffic SKUs, and leaves you with a blended report you cannot act on.
AirOps: keeps the catalog data and structured attributes behind your product sets clean and current so the right items stay eligible across AI search surfaces.
Google Merchant Center: hosts the structured product feed and specification that ChatGPT Ads, Google Shopping, and other channels reuse to build sets.
Google Analytics 4: measures conversions and revenue by product group so you can judge which sets earn their spend.
Audit your feed. This week, pull your existing product feed and check that titles, images, prices, and availability are complete and accurate for your top sellers. Fix the gaps before anything else.
Map your sets. Decide how you want to slice the catalog, by margin, category, season, or brand, and write the rule for each set in plain language first.
Add custom labels. Tag each SKU in the feed with the attributes your rules depend on, such as margin tier or launch status, so the platform can enforce them.
Build and attach sets. Create each product set in the ad platform using those rules, then point one ad group at each set so delivery stays controlled.
Measure and refine. Compare conversions and spend across sets, then move budget toward the groups that earn it and tighten the rules on the ones that leak.
A product set is a rule-based slice of a product catalog that controls which items an ad group can serve.
You build one by filtering feed attributes and attaching the result to a specific ad group or campaign.
Every set is capped by the quality of the feed beneath it, so clean catalog data is the real constraint.
The main risk is a single catch-all set that lets a few popular SKUs absorb the budget meant for strategic lines.
The leverage is budget control: carve the catalog well and you fund what matters and measure it cleanly.
A product feed is the raw data; a product set is the filtered selection you carve out of it. The feed is the structured file you upload to ChatGPT Ads Manager, with one row per SKU carrying IDs, titles, images, prices, and availability for your whole catalog. A product set applies rules on top of that file, so only the products matching a condition, like a brand or a price band, belong to the set. One feed can support many sets, each pointed at a different ad group. The feed is your source of truth, and the set is the question you ask of it. If you change a price in the feed, every set that includes that product updates automatically. If you want a different slice of products in an ad group, you change the set's rules while leaving the feed itself untouched.
Update the rules whenever your business priorities or catalog structure change, and let the feed refresh handle the rest automatically. Set membership is rule-based, so you do not rebuild a set every time a price or stock level moves; the platform re-evaluates membership as the feed updates. Plan a deliberate review on a cadence that matches how fast your catalog turns over. For a stable catalog, a monthly check of set rules and performance is usually enough. For fast-moving retail with frequent launches and sell-outs, review weekly so new arrivals land in the right set and discontinued lines drop out. Also revisit sets around seasonal peaks, promotions, and margin shifts, since those are the moments your budget priorities change most. The feed itself should sync as often as your prices and inventory change, ideally daily, so no set ever serves a stale price or an out-of-stock item.
Because each platform decides when to show your products in a completely different way, even from an identical set. Google Shopping matches products to typed search queries, so performance tracks keyword demand and the competitiveness of each auction. ChatGPT Ads matches products to the intent and context of a conversation, so the same set surfaces during a commercial conversation instead of a typed search for an exact term. That means a set that wins on high-volume search terms can behave very differently when the trigger is a nuanced question asked in chat. Audience mix differs too, since the platforms reach people at different moments of a buying journey. Feed quality also lands differently: ChatGPT often pulls titles and descriptions straight from your feed, so weak copy hurts more there. Judge each set per platform, and resist copying bids or expectations straight across from one channel to another.
Yes, and that is the whole point of a product set: you define its membership through rules you control. You set conditions against feed attributes, so you can include a brand, a price range, a product type, or anything you have tagged with a custom label. If the standard fields do not capture the logic you want, add your own labels to the feed and filter on those. What you do not control directly is which specific in-set product the platform serves in a given moment, since that match is driven by the shopper's query or conversation. You influence that indirectly by keeping the set tightly scoped and the feed attributes clean, so every eligible product is one you would be happy to show. Control the boundary of the set precisely, and let the platform choose within the boundary you drew.
A good structure is one where every set maps to a distinct business purpose and you can read its performance on its own. In practice that means sets split by margin tier, category, or season instead of one giant catch-all, with no single SKU sitting in competing sets. Each set should hold enough volume to produce readable conversion data, since a set too small to generate signal cannot tell you anything. The naming should be clear enough that a new team member can tell what each set targets without asking. A healthy account also shows budget flowing toward the sets that convert and away from the ones that leak, which only works when sets are distinct in the first place. There is no universal count of sets to aim for. Fewer, well-scoped sets that you actively manage beat dozens of overlapping ones nobody maintains.