EU compliance6 min read
EU Food Labels on Shopify: What Must Show Before the Customer Buys
Selling food online in the EU? Which Reg. (EU) 1169/2011 label details belong on the product page before checkout, and how to audit your Shopify catalogue.
In this guide
Short answer: if you sell prepacked food from a Shopify store to shoppers in the EU, the mandatory food information has to be available before the purchase is concluded, not only on the pack that arrives later. The one exception is the “best before” or “use by” date. In practice that means the product page shows the name of the food, the ingredients with allergens emphasised, the nutrition declaration, the net quantity and the food business operator, before the shopper reaches checkout. The rule is Article 14 of Regulation (EU) No 1169/2011, known in Germany as the LMIV.
This post looks at one question only: what “before the purchase” means for an online food shop, and how to find the products in your catalogue that do not meet it yet. For the full list of details, see our checklist of what a food product page must show in the EU.
Please verify. This is general information based on our reading of the regulation, not legal advice, and it does not make your shop compliant. Check the current text on EUR-Lex, any national rules (in Germany, for example, the LMIV is supplemented by national food law), and ask your food authority or a food-law adviser about your products.
What Article 14 says about distance selling
Article 14(1) of Regulation (EU) No 1169/2011 covers prepacked food offered through “means of distance communication”, which includes a web shop. As we read it, it sets two moments:
- Before the purchase is concluded. All mandatory food information, except the date of minimum durability or “use by” date in Article 9(1)(f), must be available. It has to appear on the material supporting the distance sale, or be provided through other appropriate means clearly identified by the food business operator. If you use other means, you may not charge the shopper extra for them.
- At delivery. All mandatory particulars, the date included, must be available when the food arrives.
Article 14(2) applies the same “before the purchase” rule to the allergen information for non-prepacked food sold at a distance. Article 14(3) takes vending machines and automated commercial premises out of the “before the purchase” rule. Check the exact wording of each paragraph before you rely on it.
What “before the purchase” means in a Shopify store
For an online shop, the material supporting the distance sale is, in practice, the product page. That is where the shopper decides. A few common setups fall short of that:
- The information arrives after the order. A PDF in the order confirmation, a leaflet in the parcel or the printed pack itself all come after the purchase is concluded.
- The information is only on the pack photo. A photo of the back label at the end of the gallery is hard to read on a phone, cannot be read by screen readers or search engines, and goes out of date when the recipe changes. Whether it counts as “available” is a question to check with an adviser; text on the page avoids the question.
- The data exists but is not shown. A value stored in a metafield that the theme never displays is not available to the shopper. See nutrition and allergen metafields not showing for the usual causes.
- The page shows the wrong product’s details. One shared description for several products with different recipes shows the wrong ingredients for at least some of them.
If you link to the information from the product page instead of showing it there, make the link clear and keep it next to the add-to-cart area. The safer choice is to show it on the page itself.
Which details have to be there before checkout
Article 9(1) lists the mandatory particulars. Apart from the date, these are the ones most small food shops need to have visible before the shopper buys:
| Detail | Article | Before purchase | At delivery |
|---|---|---|---|
| Name of the food | Art. 9(1)(a) | Yes | Yes |
| Ingredients, with allergens emphasised | Art. 9(1)(b) and (c), Art. 21 | Yes | Yes |
| Nutrition declaration | Art. 9(1)(l) | Yes, unless exempt (Annex V) | Yes |
| Net quantity | Art. 9(1)(e) | Yes | Yes |
| Storage conditions or conditions of use | Art. 9(1)(g) | Where they apply | Yes |
| Food business operator name and address | Art. 9(1)(h) | Yes | Yes |
| Country of origin or place of provenance | Art. 9(1)(i) | Where required | Yes |
| “Best before” or “use by” date | Art. 9(1)(f) | No | Yes |
Some products need more, such as the alcoholic strength of drinks over 1.2 per cent by volume, or the quantity of certain ingredients. Food supplements have their own rules on top. Check your own products against the regulation.
How to audit your catalogue, product by product
You do not need special tools to start. Work through your food products one at a time:
- List your food products. Include a product’s variants if their ingredients, allergens or nutrition differ.
- Make one column per detail from the table above, and mark each product as shown, missing or unclear.
- Open the live product page as a shopper would, on a phone and on a computer. Count only what the page actually shows before checkout, not what is stored in the admin.
- Read the ingredient list for allergens. Each allergen should stand out from the rest of the list, for example in bold. Ingredients pasted as plain text are a common gap. The EU allergen checker shows which words of a pasted ingredient list are Annex II allergens.
- Look for details that exist only as an image, such as a nutrition table uploaded as a picture.
- Fix the products you sell most first, then the rest, and note the date you checked each one.
Do the same check again whenever a recipe, supplier or pack size changes, because that is when a page most often falls out of step with the pack.
Add on Shopify App Store: Etiketto: EU Nutrition Labels shows a nutrition table, ingredients with bold allergens and the operator on each product page, from one form per product and one theme block.
Fixing the gaps with Etiketto
Etiketto: EU Nutrition Labels is a Shopify app for food shops selling into the EU. It shows the food information Regulation (EU) No 1169/2011 requires on your product pages: a nutrition table, ingredients with allergens in bold, and the operator.
- Fill in one product. One editor holds nutrition per 100 g, ingredients, the 14 EU allergens, net quantity, storage, origin, alcohol and the operator. Take the values from your own specification or lab results.
- Mark the allergens. Wrap each allergen in asterisks in the ingredient list, for example
oat flakes, honey, *butter* (*milk*), and the product page shows those words in bold. - Add the block. In the theme editor, add the Food information block to the product template of an Online Store 2.0 theme, with no theme code changes.
- Check the live page against the pack, then work through the rest of your audit list.
The block renders plain HTML text, not an image, so search engines, screen readers and translation tools read it like the rest of the page. More on the Etiketto app page.
Etiketto does not calculate nutrition values, does not detect allergens and does not make a page compliant by itself. You stay responsible for whether the information is correct and complete for each product.
Try Etiketto: EU Nutrition Labels
Pick the product you sell most, check its page against the table above, and fill the gaps. To show the nutrition table, ingredients with bold allergens and the operator from one form per product, add Etiketto: EU Nutrition Labels on the Shopify App Store.