Performance Max Product Bucketing: How to Split Your Catalog, Step by Step
Bucketing splits a store's catalog into several Performance Max campaigns based on what each product actually earns. Below are eight steps, from separating brand traffic, through the classification rules and custom labels in Merchant Center, to the cycle that refreshes the split on new data. At the end you'll find the rules in short form, ready to drop into your own playbook.
A Performance Max campaign that carries the whole catalog runs one budget and one target ROAS across thousands of products. In a typical store a few dozen items bring in half of the conversion value, while hundreds of others collect clicks and never sell. The catalog-wide average holds back the bestsellers and keeps funding products that don't pay their way. Bucketing moves those groups into separate campaigns, each with its own budget and target.
You don't need any particular tool for this. A product report from Google Ads, a spreadsheet, and access to Merchant Center will do, and the result is the same when a person does all the math. The recording above shows one run on a real store's account, with the product names masked.
1. Separate brand before you count anything
The campaign that catches searches for the store's name almost always posts the highest return. Someone typing the brand has usually made up their mind already, so that sale would happen with or without the ad. If brand data goes into the classification, products people often buy through brand searches land in the top bucket, and the new campaign gets a budget for them that non-brand traffic will never earn back.
Before you count anything, list the campaigns that stay out of the split: brand, new arrivals, and any campaign with a hand-built product tree. Pull the classification data only from the remaining campaigns, and identify them by ID. Anyone can rename a campaign in the Google Ads UI, and brand data would quietly slip back into the numbers.
The flip side of the same problem: new product campaigns don't inherit negative keyword lists. Right after you create them, attach the same brand negative lists the current product campaigns use. Otherwise they start picking up brand queries and their return is inflated from day one.
2. The data window and the full catalog
Start with 30 days. Count the products that sold at least once in that window. If there are fewer than ten, extend the window: 60, 90, 120, up to 180 days. Stop there, because a longer window already spans feed changes and account restructures. If even 180 days doesn't give you ten selling products, the split has nothing to stand on, and you're better off skipping it.
Seasonality shifts the choice. At the peak, a shorter window shows what is selling right now. In the off-season, a longer one makes up for low volume. Ahead of the peak, look back at last year: products that sold best then and sit low today are candidates to move up by hand. Watch out for one-off spikes, though: when more than 70% of a product's yearly value lands in a single month, a promotion or a launch is the more likely cause than seasonality.
The product performance report lists only items that got traffic. Products with zero impressions don't appear in it, yet they still need a bucket. So take the product list from the full Merchant Center catalog and join the metrics to it.
3. Four buckets and the classification rules
The bucket names are a convention. What matters is that each one has a different job:
- PLATINUM is the bestsellers. Take the products that sold at least once, sort them by conversion value, and cut off the top of the list. A sensible range is from ten to about fifty products: fewer gives the campaign too little to learn from, and more dilutes the ranking.
- BRONZE is products with zero clicks. Their problem sits in the feed, the price, or the title, and bids won't fix it, so they get their own group.
- SILVER is products that spend and don't pay back: cost above the account's median product cost, plus either no sales or a ROAS in the bottom quartile of selling products.
- GOLD is everything else, the healthy core of the traffic.
Take the thresholds from the account's own distribution. The median cost and the bottom quartile of return look very different in a store with 30 products and in one with 18,000. A fixed threshold like $100 in cost or a 500% ROAS cuts out almost the whole catalog in one store and lets thousands of products through in another.
Before you write a product off as weak, check how many clicks it has. A dozen or so is not enough to judge: about 50 clicks gives a reliable picture, and 100 is better. A product with fewer stays in GOLD until the next cycle.
Finally, check whether each bucket can carry a campaign of its own. In practice, target ROAS needs at least 50 conversions a month per campaign and works best at 60 to 90. You can knowingly keep a smaller PLATINUM despite that warning, but a SILVER with fewer than roughly 30 conversions gives the bid strategy nothing to rein in spend with, so merge it into GOLD. That's why smaller accounts end up with two or three buckets instead of four.
4. Every product in exactly one bucket
Two campaigns that can show the same product compete for it, and neither campaign's results can be judged reliably anymore. The split has to be exclusive and complete: every product in the feed goes into one bucket, and none falls outside all of them.
The simplest way to get there is the order of the rules. BRONZE and PLATINUM first, then SILVER drawn only from what's left, and GOLD last as the remainder. Build the product trees the same way: each higher campaign includes only products carrying its own label value, and the lowest one includes everything except the higher buckets' values. A product added to the feed tomorrow then lands in the lowest bucket on its own and is never left without a campaign.
Check after every split: the product count across all buckets equals the product count in the feed, and each label value is included in exactly one tree. If the account has fewer campaigns than buckets, say three instead of four, reassign products from the bucket that has no campaign to one that does. Otherwise they get a label no tree includes and fall into the lowest bucket, the one with the smallest budget.
5. Labels instead of item ID lists
A product tree in an asset group is capped at roughly 1,000 nodes, so an item ID list doesn't scale to a larger catalog. On top of that, Google Ads accepts an ID that isn't in the feed without any error, and the campaign silently never shows that product.
The safer route goes through custom labels in Merchant Center. Pick a free field, custom_label_0 through custom_label_4, after checking how many products already have it filled in. Give your values a prefix, for example PREFIX_PLATINUM, so they can't be confused with labels the store already uses. Write the classification into a spreadsheet with two columns, product ID and label, and connect it in Merchant Center as a supplemental feed, an extra data source that overrides selected attributes from the primary product feed. You can also assign labels with Merchant Center rules or set them at the source, in whatever tool generates the feed. The spreadsheet's advantage is that you can change the split without a developer. Copy each ID exactly, including letter case, because Merchant Center matches it character for character.
Each campaign's tree then has just a few nodes, whether the catalog holds a hundred products or twenty thousand. Changing the split means changing the spreadsheet: the campaigns stay untouched and keep what they have learned. Performance Max learns about products at the account level, so a product moved to another bucket doesn't start from zero. Merchant Center usually picks up new labels within 15 to 60 minutes.
6. Budgets and targets per bucket
The store's goal has to come from its margin. The lowest profitable ROAS is 100 divided by the margin percentage: at a 20% margin, that's 500%. Without that number, the split can promote a bestseller the store barely makes money on. When margins vary widely across the catalog, split products by margin first, because one campaign has one target ROAS.
On larger accounts you can combine the two splits. Start with campaigns by margin group, each with its own target, and then build separate PLATINUM, GOLD, SILVER, and BRONZE buckets inside each group. The same condition applies: every campaign that comes out of this split needs about 50 conversions a month. A margin group with fewer stays as one campaign with no buckets, or splits into just two.
Size the budget pool for all buckets from what the product campaigns actually spent per day over the last 30 days. Declared budgets often run far above real spend, and their sum could suddenly double the account's cost. The classification window can be longer, but the pool should always match today's spend.
Split the pool by each bucket's share of cost, adjusted toward the goal: PLATINUM gets more, SILVER gets less. Set each bucket's target ROAS as a fraction or a multiple of the store's goal. PLATINUM a little lower, around 0.9 of the goal, so the bid strategy can reach for more volume. GOLD at the goal. SILVER clearly higher, around 1.2 of the goal, because this is where money goes out and doesn't come back. BRONZE slightly above the goal, around 1.1, which is gentler than SILVER: it barely spends, so there's little to cut, and a product may come alive in season.
7. Your best campaign becomes the bestseller campaign
Don't start from scratch where the account has already learned something. The non-brand product campaign that sells best today carries history and a trained bid strategy. That campaign becomes PLATINUM: you narrow its product tree to the top bucket's label and give it a new target. The other buckets move into new campaigns, and the rest of the old product campaigns get paused once the switch is done.
The order matters, because no product can be left without a campaign during the switch. First create the new campaigns for GOLD, SILVER, and BRONZE, paused, and only then enable them. Once they start serving, usually after 12 to 24 hours, narrow the best campaign's tree to PLATINUM and pause the remaining old campaigns. For that one day some products serve from two campaigns at once and the account's cost rises for a while. That's the price of a safe switch, and the new campaigns' bid strategy learns on live traffic in the meantime.
Prepare the tree change in a running campaign carefully: before saving, write out which label values stay included and which get excluded, because one mistake in the tree leaves the campaign with no products. If the new campaigns still have no impressions after a day, leave the best campaign's tree as it is. First check whether Merchant Center has picked up the labels, whether the trees include the right values, and whether the products are eligible to serve at all. Rolling back the whole split comes down to restoring the full tree in the best campaign and turning the other old campaigns back on.
8. The bucketing cycle
This is the most important step, and the one most often skipped. Products change every week: bestsellers sell out, new arrivals pick up traffic, the season shifts demand. A split made once and left for months describes a store that no longer exists.
Pace the cycle by conversions and use the calendar only as an approximation. The bid strategy learns from about 50 conversions, so the next cycle makes sense only once the campaigns have collected roughly that many since the last one. For most stores that works out to a monthly cycle on the last 30 days. Smaller accounts need longer, and large accounts with many categories can refresh every two weeks. Weekly makes sense only with more than 100 conversions a week in the top bucket, because with more frequent changes the bid strategy never collects enough data to get out of the learning period. Don't run cycles closer together than that. The exception is a major feed overhaul, and that's a call to make on purpose.
In every cycle, run the split twice: on the main window and on the last seven days. A product that lands in the same bucket in both has a stable classification. When the windows disagree, the longer one decides. About once a quarter, every third cycle, review the zero-click products against last year's sales: some of them are waiting for their season. Doing this monthly is too often and mostly picks up noise.
Don't change thresholds between cycles without a deliberate decision, or you won't be able to compare one run with the next. Log every cycle: date, window, product count per bucket, and the number of products that moved between buckets. After a few months that log shows whether the split is settling or products keep bouncing between buckets. Don't judge budget or target changes before about 50 conversions have come in since the last change.
The rules in short
- Brand, new arrivals, and hand-built trees stay out of the split, and their data stays out of the classification. Identify them by ID.
- New campaigns get the same brand negative keyword lists as the old product campaigns, right away.
- Window from 30 days, extended up to 180 while fewer than ten products sell. Product list from the full feed.
- PLATINUM: top of the conversion value ranking. BRONZE: zero clicks. SILVER: cost above the median and no sales or a bottom-quartile ROAS. GOLD: the rest.
- Judge a product from about 50 clicks. Until then it stays in GOLD.
- Thresholds from the account's distribution. A bucket without enough data to learn on merges into GOLD.
- Every product in one bucket. The lowest bucket takes the remainder, so new products never fall out.
- A prefixed custom label in a supplemental feed. Just a few nodes per tree, and the split changes without touching the campaigns.
- The store's goal comes from margin: the lowest profitable ROAS is 100 divided by the margin percentage. With widely different margins, split by margin first, and on larger accounts build buckets inside each margin group, as long as every campaign gets about 50 conversions a month.
- Budget pool from today's spend. Targets: PLATINUM around 0.9, GOLD 1.0, SILVER around 1.2, BRONZE around 1.1 of the store's goal.
- The best product campaign becomes PLATINUM and keeps its history. The other buckets go into new campaigns, and you narrow the best campaign's tree only once the new ones are serving.
- Run the next cycle after about 50 conversions since the last one, which is roughly monthly for most stores. A check against the last seven days, a review of zero-click products every third cycle, and a log entry for every run.
Keep learning with free tutorials
BDOS Club is our free community on Circle. Join to get tutorials on using AI in Google Ads, from writing useful prompts to running full campaign workflows.