Widgets & Llama Cart

Customizing widget appearance

Use the visual customizer to set colors, layout, text, and button labels for your upsell and gift-with-purchase widgets — no code required.

Every storefront widget has a visual customizer in the app admin where you set its colors, layout, and text. You preview your changes as you make them, so the widget always matches your store before it goes live. No theme code is required.

This guide covers how to style the offer widgets that appear on your storefront pages — mainly Product Recommendations (pre-purchase) and Gift with purchase offers. To style the cart drawer itself, see Llama Cart features.

This page is the high-level overview. The exact fields, defaults, and limits differ from one layout to the next — for the complete field-by-field breakdown (every setting, its default, and its precise min/max), see the Widget customizer reference.

Checkout upsells and post-purchase offers are styled in their own dedicated customizers, not here. See Checkout Upsells and Designing the post-purchase offer page for those campaign types.

Where to find the customizer

Each campaign has its own widget, and each widget has its own customizer. Open the campaign you want to style, then look for its appearance or customizer settings. Anything you change there applies only to that campaign's widget.

You can also set global styles — a primary color, font, and spacing — once in Settings, and they apply to every widget. Per-campaign settings override the global styles, so use globals for the look you want everywhere and override only where a specific campaign needs something different.

Every storefront widget renders inside its own isolated container. Your theme's CSS can't accidentally change a widget's appearance, and a widget's styles can't leak into your theme — so what you set in the customizer is exactly what shoppers see.

What you can customize

For most campaign types, the customizer lets you set:

  • Layout — for example, slider versus list, and how many products are shown
  • Colors — buttons, backgrounds, and text
  • Fonts and border radius — type size and how rounded corners appear
  • Button labels — such as "Add to Cart", "View Product", or your own text
  • Heading and subheading text — the widget title and description
  • Price display — whether to show the price, the compare-at price, and a discount badge

Choose a layout

Each campaign type comes with its own set of widget formats, so the offer fits where it appears:

Campaign typeWidget formats
Product recommendations (pre-purchase)Horizontal slider, vertical list, or scrollable list
Gift with purchaseSlider, list, or list (v2)
Auto-addNo visible widget — the product is added silently
Checkout upsellsEmbedded widget inside the Shopify checkout page
Post-purchaseFull-page offer shown after checkout completes
Unlock (content unlock)Threshold-progress widget that reveals an offer when the cart reaches the set amount

Auto-add campaigns have nothing to style, since no widget is shown.

Slider settings

When you choose a slider layout, you can fine-tune how it behaves:

  • Products per view — how many products appear at once, and their size per slide
  • Slide spacing — the gap between slides
  • Slider controls — show navigation arrows and bullets so shoppers can move through the products

Set colors and styles

The appearance controls let you match the widget to your brand. The exact set of color controls depends on the layout, but the common ones are:

ControlWhat it setsNotes
Primary colorThe widget's accent / button colorUsed by Gift with purchase and the scrollable list layout
Secondary color / Background ColorThe widget container backgroundDefault light grey #f6f6f6
Primary text colorThe color of the widget's text
Add to cart button colorThe fill of the add-to-cart button itselfPre-purchase only — separate from the primary color
Add to cart button text colorThe label color inside the add-to-cart buttonPre-purchase only

On Product Recommendations (pre-purchase) widgets, the add-to-cart button has its own dedicated color controls — Add to cart button color (default dark #121212) and Add to cart button text color (default white #fff) — that are independent of the primary and secondary colors. This lets you give the button a high-contrast look without recoloring the rest of the widget.

Because the add-to-cart button color and text color are distinct fields, you can keep a neutral widget background while making the buy button pop. If your button text looks invisible, check that the Add to cart button text color contrasts with the Add to cart button color — they're set separately.

Product CTA Layout

On the pre-purchase slider layout, Product CTA Layout controls how each product card stacks the call-to-action relative to the product:

  • Vertical (default) — the add button sits below the product details
  • Horizontal — the add button sits beside the product details

Pick Horizontal when the widget is in a narrow column where stacked cards would get too tall.

Border radius

Pair the colors with the font and Border radius settings to control how rounded the corners look across the widget's elements. Border radius is a slider with a range of 0–20px (default 0, fully square corners) — set it higher for a softer, rounded look.

For anything the built-in controls don't cover, every layout also has a Custom CSS field. See the Custom CSS guide for where to write it and how widget style isolation affects your selectors.

Edit the text and buttons

Make the widget speak in your store's voice:

  • Heading and subheading — set the widget title and a short description
  • Button labels — write your own call to action, such as "Add to Cart" or "View Product"
  • Add-button states — for the add button, you can customize the label for each state: Add (default Add), Adding (default Adding...), and Added (default Added)

On slider layouts, each add-button label (Add / Adding / Added) is capped at 50 characters — the field stops accepting input once you reach the limit. This maxLength is only enforced on the slider layout. The list and scrollable-list layouts use the same labels but don't enforce the 50-character cap, so a very long label there can overflow or wrap inside the button. Keep labels short regardless of layout so the button stays readable on mobile.

Product click action

Choose what happens when a shopper clicks a product in the widget:

  • Quick view — open a modal to preview product details without leaving the page
  • Open product page — send the shopper to the full product page
  • No action — the default; clicking the product does nothing

Control which details show

Use these toggles to keep the widget focused on what matters:

  • Price, compare-at price, and discount badge — show or hide each one. The widget shows the configured discount as a badge rather than the final checkout price, which is applied automatically when the shopper adds the product.
  • Hide out of stock — out-of-stock products won't appear in the widget
  • Hide added offers — offers already in the cart are hidden from the widget

The widget doesn't show the final checkout price. The offer's discount is applied automatically at checkout, and the widget displays the configured discount percentage as a badge.

Gift with purchase widgets

Gift with purchase widgets show a progress bar toward the gift threshold, with three message states you write yourself:

On progress

The message shown while the shopper hasn't reached the threshold yet — for example, telling them how much more to spend to unlock the gift.

On valid

The message shown once the threshold is met and the gift is unlocked.

On invalid

The message shown if the cart drops back below the threshold after the gift was unlocked.

Gift with purchase offers can include Shopify "unlisted" products — products published to your sales channel but hidden from search. These are shown in the widget by default. To keep them out of the offer, turn on Hide unlisted products in the gift-with-purchase customizer.

Quick view

The Quick View modal lets shoppers preview product details before adding to the cart, without navigating away from the page they're on. When it's enabled, an eye icon appears next to the add-product button.

Tips for a polished look

Where to go next

On this page