Google Shopping and search
Every shade an offer, every offer its own swatch
A complexion range only works in Shopping if each shade is submitted as a separate offer, grouped under one item_group_id, with the colour attribute filled and, critically, its own image showing that shade. Feeds that send the same group photograph for forty shades produce a listing that looks identical to every competitor and tells Google nothing. The shade name goes in the title alongside the product type and the coverage or finish, because that is the language of the query.
Availability has to be honest per variant. When one shade sells out and the feed still reports the group as available, you buy clicks that land on a page where the visitor cannot buy anything she can wear. That is a wasted click and a lost customer.
Campaigns split by intent. Format and finish queries such as matte liquid lipstick or full coverage foundation go to the pages that use those words. Shade-specific queries go to the exact variant. Brand queries stay separate so you can see what your content and creator work is actually driving.
