> ## Documentation Index
> Fetch the complete documentation index at: https://docs-pro.global-e.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EU Consumer Guarantee

For Shopify merchants, the platform doesn't have a built-in feature for the harmonised notice or GARAN label. You implement both through standard theme and notification customization. The steps below are platform-agnostic in spirit; how you execute each one depends on your theme and app stack.

**Applies to:** orders shipping to an EU/EEA destination, from 27 September 2026.

Each step below includes an implementation example for the native Shopify workflow (no third-party apps). These examples are illustrative, not prescriptive: your theme structure, app stack, and internal process may call for a different approach. Adapt as needed.

## 1. Prerequisites

* Have your [GARAN label image(s)](https://commission.europa.eu/document/download/435fbeb1-fccc-4ead-bfa9-96625962ba09_en?filename=GARAN%20label%20for%20website.zip) and [harmonised notice content](https://commission.europa.eu/document/download/29acbfc0-a26e-4c21-85af-8bc2b167103e_en?filename=Harmonised%20notice%20in%2024%20languages%20colour%20and%20black%20and%20white_0.zip) ready (per regulation guidelines [here](/eu-consumer-guarantee-notice-and-garan#who-needs-to-do-what)), including any per-market translations.
* Decide how you'll store the label per product. The common approach is a product metafield holding the label's image URL, set per product (or per product type, if the label is shared).
* Host the harmonised notice image (or translated variants) somewhere accessible to your theme and email templates.

The GARAN label and harmonised notice must be PNG files, not PDF. Wherever they're embedded (storefront, PDP, or email body) they render as an image, which requires an image format. A PDF won't display and will show as a broken image or a bare link.

**Example (native Shopify):**

1. Upload your harmonised notice PNG (and any translated variants) to **Content > Files**, and note the resulting file URLs.

   <Frame>
     <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-files-upload.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=7892a9c4d378c19ac9c59fa9d9b03acb" width="1908" height="476" data-path="images/eu-consumer-guarantee/shopify-files-upload.png" />
   </Frame>

2. In Shopify admin, go to **Settings > Metafields and metaobjects > Products** and add a metafield definition to hold the GARAN label URL (e.g. a "URL" type field).

   <Frame>
     <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-product-metafield.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=45fc07539f9dd8eb11d81806cfca0ebd" width="1350" height="672" data-path="images/eu-consumer-guarantee/shopify-product-metafield.png" />
   </Frame>

## 2. Harmonised notice on the storefront

Unlike the GARAN label, the harmonised notice is not tied to a specific product; it must be visible somewhere on the storefront to any shopper browsing from an EU/EEA country, regardless of what they're viewing. The footer is a common, low-effort placement since it's already present on every page.

* Add the harmonised notice (as text, an image, or a link to a dedicated page) to a site-wide element such as the footer.
* Gate its visibility to EU/EEA visitors only. Most themes already have some form of country/market detection you can reuse for this.

**Example (native Shopify):**

1. Go to **Online Store > Themes > Edit code**.
2. Open the theme's footer section file.

   <Frame>
     <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-theme-footer-edit-code.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=5aecc48718f1895e6e0aac1d019e2e36" width="1907" height="855" data-path="images/eu-consumer-guarantee/shopify-theme-footer-edit-code.png" />
   </Frame>
3. Insert the harmonised notice (image or text), gated to EU/EEA using your theme's existing localization/market logic.
4. Save, then preview the storefront with an EU market/location selected to confirm it appears.

## 3. GARAN label on the product page (PDP)

* Embed the GARAN label on the product page, visible to the shopper before purchase. Placement is flexible (near the product description, in a dedicated info block, etc.) as long as it isn't hidden behind an extra click, e.g. a collapsed tab that must be manually opened isn't sufficient.
* Gate rendering on the metafield being populated, so products without a label don't show a broken image.

<Frame>
  <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-pdp-garan-label.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=c5aa8b79a04d6e504eff38e379a1ab68" width="628" height="925" data-path="images/eu-consumer-guarantee/shopify-pdp-garan-label.png" />
</Frame>

**Example (native Shopify):**

1. Still in **Edit code**, open the product template/section file used by your theme (e.g. the main product section).
2. Insert a snippet that reads the GARAN metafield for the current product and renders it as an image, only when the metafield is populated.
3. Save, then preview a product that has the metafield populated to confirm the label renders.

## 4. Harmonised notice in the order confirmation email

The harmonised notice must appear in every order confirmation email sent to an EU/EEA shopper, regardless of whether any product in the order has a GARAN label. The email footer is a natural place for it, since it's rendered once regardless of cart contents.

* Add the harmonised notice to the email footer (or another location that renders on every order).
* Gate it to EU/EEA destinations, based on the order's shipping (or billing, if you don't collect shipping) country.

## 5. GARAN label in the order confirmation email

This is separate from the notice above, and only applies when the order contains a product with a GARAN label.

* Embed the GARAN label(s) for the relevant line item(s) in the email body.
* Shopify's native notification templates don't support true file attachments. This is a platform limitation, not something you can configure around. Two paths:

| Path | How it works | Requirement |
| - | - | - |
| **A. Native Shopify** | Embed the harmonised notice and GARAN label as images directly in the email body (same approach as the PDP) | None, works on any plan. Image must be PNG. |
| **B. Third-party app** | Use an app that supports true file/PDF attachments to attach the notice as a document | Requires installing and configuring a compatible app. PDF is fine here, since it's a true attachment, not an embedded image. |

Most merchants use Path A, since it needs no additional app.

* Gate the GARAN block to EU/EEA destinations only (based on shipping country), so non-EU/EEA orders don't see it.
* Reuse the same per-product metafield from step 1 to pull each order's GARAN label(s) into the email.

  <Frame>
    <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-order-confirmation-email.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=2ec8385b95a696bec7f2ab3675a8706b" width="296" height="919" data-path="images/eu-consumer-guarantee/shopify-order-confirmation-email.png" />
  </Frame>

**Example (native Shopify, both step 4 and 5):**

1. Go to **Settings > Notifications > Order confirmation**, then **Edit code**.

   <Frame>
     <img src="https://mintcdn.com/globale-pro/_xguq_jwW3ypo6tr/images/eu-consumer-guarantee/shopify-notifications-edit-code.png?fit=max&auto=format&n=_xguq_jwW3ypo6tr&q=85&s=911bb9b7a061b8773cc6fdf1275ac2a4" width="1106" height="829" data-path="images/eu-consumer-guarantee/shopify-notifications-edit-code.png" />
   </Frame>

2. Insert the harmonised notice into the email footer, gated to EU/EEA shipping destinations, so it appears on every EU/EEA order.

   <Accordion title="Snippet example">
     ```liquid theme={null}
     {%- comment -%}
       Harmonised notice on the legal guarantee of conformity (EU consumer guarantee regulation).
       Renders on every order shipping to an EU or EEA destination, regardless of product/GARAN.
     {%- endcomment -%}
     {%- assign eu_eea_countries = 'AT,BE,BG,CY,CZ,DE,DK,EE,ES,FI,FR,GR,HR,HU,IE,IT,LT,LU,LV,MT,NL,PL,PT,RO,SE,SI,SK,IS,LI,NO' | split: ',' -%}
     {%- assign guarantee_country = shipping_address.country_code | default: billing_address.country_code -%}
     {%- if eu_eea_countries contains guarantee_country -%}
       <table class="row footer">
         <tr>
           <td class="footer__cell">
             <center>
               <table class="container">
                 <tr>
                   <td>
                     <p class="disclaimer__subtext">
                       You have a legal guarantee of conformity of at least two years on the goods
                       in this order. This period may be longer under national law. If the goods
                       are not as they should be, contact us.
                     </p>
                     <img
                       src="https://cdn.shopify.com/s/files/REPLACE/notice-en.png"
                       alt="EU/EEA harmonised notice on the legal guarantee of conformity: you have a legal guarantee of at least two years on these goods."
                       width="600"
                       style="display:block; max-width:100%; height:auto; border:0;"
                     >
                   </td>
                 </tr>
               </table>
             </center>
           </td>
         </tr>
       </table>
     {%- endif -%}
     ```
   </Accordion>

3. Separately, insert code to embed the GARAN label(s) for line items whose product has the metafield populated, also gated to EU/EEA.

   <Accordion title="Snippet example">
     ```liquid theme={null}
     {%- assign eu_countries = 'AT,BE,BG,CY,CZ,DE,DK,EE,ES,FI,FR,GR,HR,HU,IE,IT,LT,LU,LV,MT,NL,PL,PT,RO,SE,SI,SK' | split: ',' -%}
     {%- if requires_shipping and shipping_address and eu_countries contains shipping_address.country_code -%}
               <table class="row section">
       <tr>
         <td class="section__cell">
           <center>
             <table class="container">
               <tr>
                 <td>
                   <h3>Your guarantee rights</h3>
                 </td>
               </tr>
             </table>
             <table class="container">
               <tr>
                 <td>
                   <p>
                     You have a legal guarantee of conformity of at least two years on the goods
                     in this order. This period may be longer under national law. If the goods
                     are not as they should be, contact us.
                   </p>
                   {%- assign garan_seen = '' -%}
                   {%- for line in line_items -%}
                     {%- assign garan_url = line.product.metafields.custom.garan_image_url -%}
                     {%- if garan_url != blank -%}
                       {%- unless garan_seen contains garan_url -%}
                         <p><strong>{{ line.product.title }}</strong> - producer durability guarantee:</p>
                         <img
                           src="{{ garan_url }}"
                           alt="GARAN label: the producer guarantees the durability of {{ line.product.title }} for more than two years, at no extra cost, covering the whole product."
                           width="300"
                           style="display:block; max-width:100%; height:auto; border:0;"
                         >
                         {%- assign garan_seen = garan_seen | append: garan_url -%}
                       {%- endunless -%}
                     {%- endif -%}
                   {%- endfor -%}
                 </td>
               </tr>
             </table>
           </center>
         </td>
       </tr>
     </table>
     {%- endif -%}
     ```
   </Accordion>

4. Save, then send a test order to confirm both the notice and the label render correctly.

## 6. Test before going live

* Place a test order shipping to an EU/EEA address and confirm the harmonised notice appears in the email footer, the GARAN label appears for eligible products (in both the email and the PDP), and nothing breaks for products without a label.
* Place a test order shipping outside the EU/EEA and confirm the notice and label do not appear.

## 7. Ongoing maintenance

* Populate the GARAN metafield for every new product going forward. Nothing enforces this automatically, so it's a manual step in your product-creation process.
