The feed QA pass
The checks to run before a bulk title or attribute change reaches your live product data, in the order that catches the most damage soonest.
Before you change anything
- Export the current feed and keep it. It is your only rollback
- Record the date and what you changed, so a performance shift six weeks out has something to point at
- Pick one product type to change, not the whole catalog. A catalog-wide change has no control group
- Note the products in your top revenue decile. Those get read by a human, whatever else happens
Eligibility, before reach
- Every product has an id, title, description, link, image link, availability, and price
- Identifiers are present where they exist, and identifier exists is set correctly where they do not
- Apparel products carry size, color, gender, and age group
- Price and availability match the landing page right now, not at last export
- Images clear the current resolution minimum, and the sale price rules are met where a sale price is set
- The product issues view is empty of errors, not just of the errors you recognize
Title structure
- Product type appears in every title, in the words a shopper would type
- Brand leads when the brand is searched, and is absent when it is not
- The first 70 characters stand alone as a description of the object
- Nothing exceeds 150 characters
- No promotional language, no all caps, no shipping or price claims
- Variant detail distinguishes every item in a size or color run from its siblings
If a model wrote any of it
- Every generated title ships in structured title, with digital source type set to trained algorithmic media
- The plain title attribute is no longer sent for those products, or the declaration is ignored
- Every number, unit, material, and capacity in the output appears in the source row
- No product type was replaced with a broader or vaguer one
- Category mappings were spot-checked against the taxonomy, not trusted
- The prompt version and run date are stored next to the output, so a bad batch can be found later
Custom labels
- Each label holds business logic the platform cannot infer, not data the feed already carries
- Margin band, stock depth, price competitiveness, and lifecycle are covered
- Values are a short closed list, spelled identically every time
- Every product has a value for every label in use, including the ones you forgot exist
- The refresh cadence matches the thing being labeled. Stock depth is not a monthly field
After it ships
- Watch impressions on previously silent products first. That is the signal that fires soonest
- Keep a control group of products on the old pattern for at least two weeks
- Re-run the product issues view 24 hours later, because disapprovals arrive late
- Judge conversion rate last, and expect it to move for reasons unrelated to this change