Module Capabilities

This document describes every available module type, its fields, constraints, and configuration options. Use it as the retailer-facing reference for what each module supports and what brands can configure when creating Brand Page content.


Module types at a glance

ModulePurpose
Hero BannerFull-width media with headline, subtitle, and CTA
ImageSingle image with optional caption, alt text, and link
TextHeadline, tagline, body copy, or custom multi-line text
Split LayoutTwo-column or stacked layout containing Image and/or Text modules
Image GalleryGrid of images with optional section title, description, and CTA
Filter MenuNavigation bar of labelled filter items
Product GridCurated product grid with optional filtering and CTA

Common fields (all modules)

Every module shares the following system-managed fields. Brands do not set these directly.

FieldDescription
idAuto-generated unique identifier
brandPageModuleTemplateIdLinks content to the retailer's module template
orderDisplay position on the page (managed via drag-and-drop)
optionalityWhether the whole module is required or can be skipped (retailer-defined)

1. Hero Banner

A full-width banner that combines a background image, overlay, headline text, and a call-to-action. This is typically the first module on the Brand Page.

Media

FieldRequired?Constraints
ImageRequiredFormats: GIF, JPG, PNG, SVG · Min dimensions: retailer-defined · Max file size: retailer-defined
Alt textRequired or Optional (retailer-defined)Descriptive text for accessibility
📘

Video support is planned but not yet available. Only image is currently accepted.

Overlay

The retailer defines whether an overlay is available on this module:

SettingBehavior
disabledNo overlay — the image is shown without any color layer
optional (allowed)Brand can choose to enable or disable the overlay
requiredOverlay is always shown; the brand cannot turn it off

When the overlay is enabled, the brand selects the background style. The retailer controls which styles are offered:

StyleDescription
gradientGraduated fade from the image
solidFlat color block behind the text

Both options can be made available simultaneously.

Text content

FieldRequired?Constraints
HeadlineRequiredMax chars: retailer-defined
SubheadlineOptionalMax chars: retailer-defined
CTA button textRequired, Optional, or Disabled (retailer-defined)Max chars: retailer-defined
CTA link URLRequired, Optional, or Disabled (retailer-defined)Max chars: retailer-defined · Must be a valid URL
📘

The CTA text and CTA link are configured together. If CTA is disabled, neither field appears. You cannot have a CTA link without a CTA button, or vice versa.

Text alignment

The retailer defines which alignment options are available. Possible values: left, center, right. The brand selects from the offered set.

2. Image

A single image with optional caption, alt text, and a link target.

Image upload

FieldRequired?Constraints
ImageRequiredFormats: GIF, JPG, PNG, SVG · Min dimensions: retailer-defined · Max file size: retailer-defined
Alt textRequired or Optional (retailer-defined)Descriptive text for accessibility

Caption

FieldRequired?Constraints
CaptionOptionalMax chars: retailer-defined · Single line
📘

Caption availability is retailer-defined. If the retailer has not enabled captions, the field does not appear.

Link

Each image can optionally link to a destination. The brand selects one of three link types:

Link typeDescription
imageNo link — the image is non-interactive
urlNavigates to a custom URL when selected
productNavigates to a specific product detail page (selected via product picker)

Additional text lines

Some Image modules support extra labelled text lines alongside the image (for example, a title or description rendered below or over the image). Availability, labels, font sizes, and whether each line is required or optional are all retailer-defined.

3. Text

A flexible text module that supports single-line and multi-line variants.

Variants

The retailer defines which variant the module uses:

VariantDescription
headlineA single prominent line of text — large, bold
taglineA single supporting line — smaller than headline
bodyA single block of body copy — renders as a text area
linesMultiple named text lines, each with its own font size and optionality

Fields — single-line variants (headline, tagline, body)

FieldRequired?Constraints
TextRequiredMax chars: retailer-defined (applies to the whole field)

Fields — multi-line variant (lines)

Each line is defined independently by the retailer:

FieldRequired?Constraints
Line textRequired or Optional (per line, retailer-defined)Max chars: retailer-defined (applies per line)
Line URLOptionalOnly available on lines where isHyperlink is enabled

CTA

FieldRequired?Constraints
CTA button textRequired, Optional, or Disabled (retailer-defined)
CTA link URLRequired, Optional, or Disabled (retailer-defined)Must be a valid URL
📘

CTA optionality applies to both the text and URL together. If disabled, neither field appears.

Alignment

Retailer-defined. Possible values: left, center, right. Applies to all text in the module.

Max width

The retailer sets a maxWidth constraint that limits how wide the text block can render (for example, 600px or 80%). This is a display constraint, not a content constraint.

4. Split Layout

A layout container that holds two or more child modules arranged in columns or rows. The children are Image and/or Text modules. Nesting is supported up to depth 2, but you cannot nest Split Layouts at the root level.

Layout options

LayoutOptions
columnsSide-by-side. Ratio: 50:50, 33:67, or 67:33 (retailer-defined which are offered)
rowsStacked vertically

Spacing

The gap between children is retailer-defined, drawn from the retailer's style guide spacing scale.

Children

PropertyValue
Allowed child typesImage, Text
Number of childrenRetailer-defined (numChildren)
NestingA child Split Layout can itself contain Image and Text modules (max depth: 2)
📘

Important

You cannot place a Hero Banner, Image Gallery, Filter Menu, or Product Grid inside a Split Layout.

5. Image Gallery

A grid of images with an optional section header, description, and a bottom CTA.

Section header

FieldRequired?Constraints
Section titleRequired, Optional, or Disabled (retailer-defined)
Section descriptionRequired, Optional, or Disabled (retailer-defined)

Gallery layout

Retailer-defined per breakpoint:

PropertyDescription
ColumnsNumber of columns on mobile, tablet, and desktop (retailer-defined)
Image heightPixel or percentage height per breakpoint (retailer-defined)
GapSpacing between images (from retailer style guide)

Images

PropertyConstraints
Minimum imagesRetailer-defined (must add at least this many)
Maximum imagesRetailer-defined (cannot exceed this count)
FormatsGIF, JPG, PNG, SVG
Min dimensionsRetailer-defined
Max file sizeRetailer-defined
Alt textRequired or Optional per image (retailer-defined)
Caption per imageOptional, max chars: retailer-defined
Link per imageimage (none) · url · product — same as Image module

Additional text lines per image

Same as the Image module — retailer-defined labels, font sizes, and optionality per line.

CTA (bottom of gallery)

FieldRequired?Constraints
CTA button textRequired, Optional, or Disabled (retailer-defined)
CTA link URLRequired, Optional, or Disabled (retailer-defined)Must be a valid URL
CTA alignmentleft, center, right (retailer-defined)

6. Filter Menu

A horizontal navigation bar of labelled filter items. Use it to let shoppers filter content on the page (for example, by category or subcategory).

Items

PropertyConstraints
Minimum itemsRetailer-defined (must add at least this many)
Maximum itemsRetailer-defined (cannot exceed this count)
Label textMax chars: retailer-defined
Filter valueInternal value used by the filtering logic. Max chars: retailer-defined

Alignment

Retailer-defined. Possible values: left, center.

Filter items can be reordered. The label is what the shopper sees; the value is what gets applied as a filter. They do not have to be the same string.

7. Product Grid

A curated grid of products selected by the brand, with optional section header, filtering, and CTA.

Section header

FieldRequired?Constraints
Section titleRequired, Optional, or Disabled (retailer-defined)
Section descriptionRequired, Optional, or Disabled (retailer-defined)

Products

PropertyConstraints
Minimum productsRetailer-defined
Maximum productsRetailer-defined
Product sourceSelected via product picker from the brand's catalog
Display orderDrag-and-drop within the module

Product card CTA

The retailer decides whether a CTA button appears on each product card:

SettingBehavior
DisabledNo CTA button on product cards
EnabledA CTA button is shown; the retailer sets the button label text
📘

When enabled, all product cards in the grid share the same CTA label (set by the retailer, not the brand).

Filtering

The retailer can optionally enable on-page filtering for the Product Grid:

SettingDescription
enabledShoppers can filter the product grid
showActiveFilterHighlights the currently active filter
showResultCountDisplays how many results match the active filter
emptyStateMessageCustom message shown when no products match the filter
📘

Filtering works in conjunction with a Filter Menu module. Filter values set on products must match filter item values in the Filter Menu.

CTA (bottom of grid)

FieldRequired?Constraints
CTA button textRequired, Optional, or Disabled (retailer-defined)
CTA link URLRequired, Optional, or Disabled (retailer-defined)Must be a valid URL
CTA alignmentleft, center, right (retailer-defined)

Constraint reference

ContentLimit — text field constraint model

ValueMeaning
disabledField is not available in this template
allowed + maxCharsField is optional; if filled, cannot exceed maxChars characters
required + maxCharsField must be filled in; cannot exceed maxChars characters

ImageConstraints — image upload constraint model

PropertyDescription
altOptionalityrequired or allowed
minWidthMinimum image width in pixels (optional)
minHeightMinimum image height in pixels (optional)
maxFileSizeMbMaximum file size in megabytes (optional)
acceptedFormatsSubset of GIF, JPG, PNG, SVG (optional — all accepted if not set)

CtaConfig — call-to-action constraint model

PropertyDescription
optionalityrequired · allowed · disabled
alignmentleft · center · right

What is retailer-defined vs. fixed

ConfigurationRetailer sets thisFixed by the platform
Whether a module is skippable
Max character limits
Image min dimensions and max file size
Which image formats are accepted✅ (subset of platform-supported)
Whether CTA is required, optional, or disabled
Whether overlay is available (Hero)
Which text alignment options are offered
Column ratio options (Split Layout)
Min/max image count (Image Gallery)
Min/max product count (Product Grid)
Available module types✅ (7 types, fixed)
Supported media type (Hero)✅ (image only; video planned)
Link types for images✅ (image · url · product)
Split Layout max nesting depth✅ (depth 2)
Split Layout allowed child types✅ (Image and Text only)