Ingredient Disclosure on a Shopify Cosmetic Product Page
How to publish an INCI list on a Shopify product page that matches your label and your filing exactly.
You've got your label sorted, your filing done, and now you're staring at a Shopify product page trying to figure out where the ingredient list actually goes. It seems like it should be simple. It usually isn't, mostly because Shopify wasn't built with cosmetic labeling rules in mind, and it's easy to end up with three slightly different versions of your ingredient list floating around: one on the physical label, one typed into the product description, and one buried in a PDF nobody links to.
Why the three-way match matters
Your Cosmetic Notification Form, your physical label, and your website listing should all describe the same formula in the same terms. Not similar terms, the same terms, INCI name for INCI name. If a regulator or a customer compares your online ingredient list to what's printed on the bottle and finds a mismatch, that's a credibility problem even if it's just a copy-paste error. It also becomes a real compliance problem if the online list is what a customer relied on to check for something they're allergic to.
This is especially relevant given fragrance allergen disclosure. If your label needs to list specific allergens above the disclosure threshold, your online listing should reflect the same additions once you update your physical label. An online store that lags behind a label update is a common and avoidable gap.
Where to actually put it on Shopify
Shopify doesn't have a dedicated "ingredients" field out of the box, so you have a few reasonable options:
- A structured block in the product description. Use a clear heading like "Ingredients" or "Full Ingredient List" followed by the INCI names in descending order of concentration, exactly as they appear on your label. Don't bury it below marketing copy where people won't scroll to find it.
- A metafield. If your theme supports custom metafields, you can create a dedicated "Ingredients" metafield and have your theme render it in a consistent spot on every product page. This keeps formatting uniform across your catalog and separates ingredients from marketing text, which is cleaner for both customers and any future audit.
- A linked label image. Some brands include a zoomable photo of the actual label as a secondary product image. This is a nice belt-and-suspenders addition, but it shouldn't replace a searchable text list, since customers with allergies often want to search the page (Ctrl+F) rather than squint at a photo.
Formatting the list correctly
A few habits that keep this clean:
- List ingredients by INCI name, not trade name or marketing name. "Aqua," not "purified spring water."
- Keep the order consistent with your label, generally descending by concentration.
- If your label discloses specific fragrance allergens separately (as some markets are moving toward requiring), mirror that same breakdown online rather than folding allergens into a generic "parfum" entry.
- Update the website the same day you update the physical label. Set a reminder if you tend to forget, because a stale online list is worse than no online list in some ways, since it actively misleads.
A simple template
Something like this works well in a product description block or metafield:
Full Ingredient List: Aqua, Sodium Cocoate, Sodium Palmate, Glycerin, Parfum, Limonene, Linalool, Ultramarines (CI 77007), Tocopherol
Keep the allergens that trigger disclosure listed by name after "Parfum" if that's how your label presents them, rather than dropping them into the general list out of order.
Don't forget the disclaimer line
It's common practice to add a short note beneath the list, something like "Ingredients may vary slightly by batch; please refer to the product packaging for the most current list." This protects you when small formulation tweaks happen between website updates, as long as it's genuinely a minor variance and not a substitute for keeping the page current.
If you're running a Shopify store and also handling notifications yourself, it's worth building a habit of treating the CNF, the label file, and the website copy as three outputs of a single source list rather than three things you maintain separately. Cosmetic Comply keeps the mapped INCI list attached to each filing, so when a formula or label changes, you've got one clean source to copy from rather than reconstructing the list from memory each time you update the store.
Send your ingredients and we take it from here
A short intake form is all it takes to start. Every ingredient gets checked against your market's prohibited and restricted lists, then we file your notification and hand you a number you can track.
Start a filingKeep reading
Private Label Cosmetics on a Marketplace: Who Notifies?
Untangling whether the reseller or the original manufacturer is responsible for filing the CNF when a product is rebranded for a marketplace.
Amazon Handmade Cosmetic Category Gating: The Documents
The specific documents that tend to unlock a gated cosmetic category on Amazon Handmade, and why a Canada CNF number strengthens the application.
Selling Cosmetics on Etsy to Canada vs the United States
What actually changes for an Etsy soap or skincare shop once orders start arriving from Canadian buyers instead of only US ones.
When Buyers Ask for an SDS vs a Notification Number
A wholesale buyer asking for an SDS and a retailer asking for a notification number want two completely different documents. Sending the wrong one stalls the deal.