Plan for a developer. Unlike platforms with a plugin setting for this, SFCC resolves the GARAN URL through a Global-e integration hook. Someone with access to your SFCC cartridge code needs to implement one small handler. The rest is configuration.
One-time setup
1. Decide where the URL lives on your products Create or choose a product custom attribute to hold the GARAN image URL — for examplegaranImageUrl (string). There is no fixed attribute name: your hook handler decides where to read from, so any attribute id works. You can also compute the URL instead of storing it.
2. Implement the Global-e hook
In your project cartridge, register the hook in hooks.json:
cartridge/scripts/hooks/getGaranImageUrl.js:
GaranImageURL is always empty.
3. Enable the SendCart path
The SendCart mapping is held in Global-e’s platform settings, not in Business Manager. Ask your Customer Success Manager to add a GaranImageURL product mapping for your account.
Once added, it reaches your instance on the next run of the scheduled GlobaleSettings job (daily, 02:00 UTC). Run that job manually if you want it sooner.
For reference, the mapping Global-e adds looks like this:
geCatalogFeedConfig. Add a column to file.columns:
header and hookName are both required; without them the catalog feed job fails validation.
Per product
Populate the attribute on each product that qualifies, with the full HTTPS URL of that item’s GARAN PNG. Leave it empty where there is no producer durability guarantee.When the value syncs
SendCart reads the attribute at checkout, on every cart, so changes take effect immediately. Catalog picks the value up on the next scheduled run of theGlobaleCatalogFeed job — it is a batch export, not a live sync. If your feed is configured with processOnlyModifiedProducts, editing the attribute marks the product modified and it is included in the next run.
Prerequisites
Delivery paths
The value reaches Global-e on two paths, and one hook serves both:- SendCart / GetCart at checkout —
SendCartData.Products[].GaranImageURL - GlobaleCatalogFeed — a scheduled job that writes a CSV and uploads it to Global-e over SFTP
Platform notes
Do not reuse the product image field.ImageURL is the storefront photo and GaranImageURL is the guarantee label — Global-e keeps them as separate fields.
Variants. The hook receives a dw.catalog.Product for each product exported or added to the cart, which for most catalogs means variants. If every variant shares one label, read from the master in your handler:
GaranImageURL as null; gift-certificate lines omit it entirely.
Older cartridges. If your cartridge predates Global-e’s SendCart attribute-mapping support and you are not upgrading, the SendCart value can instead be set directly in getProduct() in your cartridge, calling the same hook. Ask your CSM or SFCC integration contact for the snippet.
Payload reference
For technical readers. The field name isGaranImageURL on both paths.
Cart — SendCartData.Products[]
GaranImageURL is null and no attachment is generated for it.
Catalog — CSV over SFTP. Column order follows your file.columns configuration:
Verify
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) overview page.
FAQ
Do I have to change cartridge code?
Do I have to change cartridge code?
Yes, one handler. There is no site preference or Business Manager setting that maps an attribute directly, because the handler is what lets you read from any attribute or compute the URL.
Can I skip the hook and just set a mapping?
Can I skip the hook and just set a mapping?
No. The mapping calls the hook; without a handler it returns null.
Why is my GaranImageURL always empty?
Why is my GaranImageURL always empty?
Most often the handler export is misnamed — it must be
getGaranImageUrl, matching the last segment of the hook id. Also check that the handler is registered in a cartridge that is actually on your site’s cartridge path.Do variants each need their own URL?
Do variants each need their own URL?
Only if they differ. See Platform notes for a handler that falls back to the master product.
Can I reuse the product image attribute?
Can I reuse the product image attribute?
No.
ImageURL is the storefront photo. GARAN must come from its own attribute or logic.Does the catalog feed change for products without a guarantee?
Does the catalog feed change for products without a guarantee?
No. The column is present for every row; rows without a URL simply have an empty cell.

