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

# EU Consumer Guarantee

Part of the [EU Consumer Guarantee (Notice & GARAN) - Platform Setup Guides](/eu-consumer-guarantee-platform-setup-guides).

## Who this page is for

Use this page if Global-e Module 2.0 Checkout calls **your** GetCart endpoint, and you supply product fields on that response. Put `GaranImageURL` on GetCart **per product**; Global-e Checkout includes it when the shopper checks out.

<Note>
  If you already use a Global-e **platform plugin or adapter** (Shopware, WooCommerce, PrestaShop, BigCommerce, Hybris, Magento, Centra, and similar), follow **that platform's page** instead. Do not also change GetCart unless Global-e asks you to.
</Note>

## One-time setup

1. Confirm the store is on **Global-e Module 2.0**. Note that Global-e Module 1.0 / LightGEPI does not carry this field — upgrade first (contact your CSM for more info).
2. Add an optional string `GaranImageURL` on GetCart `productsList`. Apply it **per product** (same grain as `ImageURL`).

## Per product

Apply `GaranImageURL` on each product that has a guarantee, with the full HTTPS URL of that product's GARAN PNG. Leave it empty or omit it where there is no guarantee.

| Product                                | GetCart value                            |
| -------------------------------------- | ---------------------------------------- |
| Argus All-Weather Tank (`MT07-S-Gray`) | `https://cdn.example.com/garan/MT07.png` |
| Radiant Tee (`WS12-S-Orange`)          | (empty / omitted — no guarantee)         |

A generic product attribute bag is not enough. Global-e Checkout maps a named field; unnamed attributes are dropped.

## When the value syncs

The value is read when Global-e Checkout calls GetCart. There is no catalog path on Global-e Module 2.0 — updating catalog alone will not send the label at checkout.

## Prerequisites

| Requirement                     | Value                                                                                    |
| ------------------------------- | ---------------------------------------------------------------------------------------- |
| Minimum Global-e Module version | Global-e Module 2.0                                                                      |
| Intake path                     | GetCart `productsList[].GaranImageURL` only                                              |
| File format                     | Merchant-hosted **PNG** at a public HTTPS URL                                            |
| Feature enablement              | Confirm with your Customer Success Manager that this feature is enabled for your account |

## Delivery paths

The value reaches Global-e only at checkout, from GetCart. Global-e Module 2.0 does not read the catalog.

## Platform notes

<Warning>
  Global-e Module 1.0/ LightGEPI will not receive this field. Merchants still on Global-e Module 1.0 who need GARAN must upgrade to Global-e Module 2.0.
</Warning>

Do not reuse the storefront photo field. `ImageURL` is the product image; `GaranImageURL` is the guarantee label.

## Payload reference

For technical readers. The field name is `GaranImageURL` on GetCart. The products array on GetCart is `productsList` (camelCase). Product fields inside are PascalCase, including `GaranImageURL`.

**GetCart — your response (truncated example)**

```json theme={null}
{
  "productsList": [
    {
      "ProductCode": "MT07-S-Gray",
      "Name": "Argus All-Weather Tank",
      "ImageURL": "https:\/\/cdn.example.com\/catalog\/MT07.png",
      "GaranImageURL": "https:\/\/cdn.example.com\/garan\/MT07.png",
      "OrderedQuantity": 3,
      "CartItemId": "5"
    },
    {
      "ProductCode": "WS12-S-Orange",
      "Name": "Radiant Tee",
      "ImageURL": "https:\/\/cdn.example.com\/catalog\/WS12.png",
      "OrderedQuantity": 1,
      "CartItemId": "9"
    }
  ]
}
```

The second line omits `GaranImageURL` to show a product with no guarantee. Omit the field or send `null` in that case.

**Checkout cart — after GetCart, the same field appears on each matching line in `Products[]` (truncated example)**

```json theme={null}
{
  "Products": [
    {
      "ProductCode": "MT07-S-Gray",
      "Name": "Argus All-Weather Tank",
      "ImageURL": "https:\/\/cdn.example.com\/catalog\/MT07.png",
      "GaranImageURL": "https:\/\/cdn.example.com\/garan\/MT07.png",
      "OrderedQuantity": 3,
      "CartItemId": "5"
    },
    {
      "ProductCode": "WS12-S-Orange",
      "Name": "Radiant Tee",
      "ImageURL": "https:\/\/cdn.example.com\/catalog\/WS12.png",
      "OrderedQuantity": 1,
      "CartItemId": "9"
    }
  ]
}
```

Do not put a GARAN URL in `ImageURL` or in `Attributes[]`.

## Verify

| Check                                                                     | Done |
| ------------------------------------------------------------------------- | ---- |
| `GaranImageURL` appears on a test GetCart product that you populated      | ☐    |
| The same value is present on that line after checkout (cart `Products[]`) | ☐    |
| A line with no URL still checks out                                       | ☐    |
| Storefront `ImageURL` is unchanged                                        | ☐    |

<Note>
  Activation modes and the general preparation steps — opting in, identifying qualifying products, and creating and hosting the GARAN PNG — are covered on the [EU Consumer Guarantee Information (Notice & GARAN)](/eu-consumer-guarantee-notice-and-garan) overview page.
</Note>

## FAQ

<AccordionGroup>
  <Accordion title="Do variants each need their own URL?">
    Apply the field per product. If variants are separate products on GetCart, set `GaranImageURL` on each one that needs a label.
  </Accordion>

  <Accordion title="I use the BigCommerce / Woo / Shopware plugin.">
    Use that platform's page. This Bespoke Global-e Module page is the GetCart JSON contract, not a second admin setup.
  </Accordion>
</AccordionGroup>
