Skip to main content
How-to

Upsells

An upsell offers a customer something extra around the moment they buy. UltraCart builds these visually, so you design the offer pages with the same drag-and-drop editor you use for the rest of your site, with no HTML, CSS, or JavaScript.

Find them under StoreFronts → [select your storefront] → Content → Upsells. If Upsells is not there, your theme does not support them.

The Upsells screen under the Content tab.

Before you build

Two decisions shape everything else.

Where the offer appears. Post-checkout offers come after the customer has paid, so the purchase is already secure and the offer cannot cost you the sale. Pre-checkout offers appear before checkout, as a modal, while purchase intent is highest but the order is not yet committed. You set this per path, and the same tools build both.

What triggers it. An offer can fire for specific item IDs, for a product tag across many items, for everyone, or on customer attributes. Tags are usually easier to maintain than lists of item IDs, because adding a tag to a new product enrolls it automatically.

Then decide what you are actually offering, at what price, and confirm you have the stock to fulfill it. An upsell for something out of stock costs you goodwill.

How paths and offers fit together

A path is a sequence of offers a customer moves through when their cart triggers it. A customer goes through every path they qualify for, starting at the top of the list.

An offer is a single yes-or-no proposition inside a path.

Create a path

Select Add Upsell Path.

The Add Upsell Path button.

Select the pencil icon on the right of the path row to open the Upsell Path Editor.

The pencil icon on a path row.

Path settings

The path editor controls when a path activates, when it is skipped, where it appears, and how many offers a customer may see.

FieldOptionsWhat it does
NameTextInternal name, never shown to customers.
Customer TypeAll (default), New, ExistingLimits the path by whether the email address has ordered before.
Trigger TagsTextFires the path when a cart item carries any of these product tags.
Trigger GenderCheckboxesFires for matching gender values. Requires AtData.
Trigger AgeCheckboxesFires for matching age bands: 18-20, 21-24, 25-34, 35-44, 45-54, 55-64, 65+, Unknown. Requires AtData.
Trigger Item(s) LogicDropdownHow the Trigger Items list is evaluated against the cart.
Trigger ItemsItem ID listItem IDs evaluated by the logic above.
Suppression Item(s) LogicDropdownHow the Suppression Items list is evaluated. A cart that satisfies it skips the path.
Suppression ItemsItem ID listItem IDs evaluated by the suppression logic.
Flow ControlCascade to the next path (default), Stop at the end of this pathWhether the customer continues to the next qualifying path.
Flow LocationPost Checkout (default), Pre Checkout (Upsell Modal)Where the offers appear. Externally hosted offers work only in Post Checkout.
Maximum Viewed OffersNumberOptional cap on offers shown inside this path.
warning

An item with Exclude from search enabled cannot be used as a trigger item or a suppression item.

Trigger and suppression logic share the same options:

Quantity-based

  • ALL items must meet their quantity (AND)
  • ANY item meets its quantity (OR)
  • Total quantity across all items

Presence-based (legacy)

  • Cart contains ANY of these items
  • Cart contains ALL of these items

Create an offer

Select the plus button inside the path, leave the prompt on Offer, and select OK.

Creating a new offer in a path.

Five things are required:

  1. A meaningful name, not shown to the customer.
  2. Set the offer active when you are ready.
  3. The item or items being upsold.
  4. A layout. Select a predefined layout, then select the offer preview to open the visual editor and adjust the content. The first two predefined layouts ship with lorem ipsum placeholder text, so replace it.
  5. Save.

The offer editor.

FieldWhat it does
ActiveWhether the offer is live.
Test Orders OnlyThe offer appears only when the test credit card is used.
Upsell Item Id'sThe items added to the order if the customer accepts.
Allow Upsell Item In Cart AlreadyUse when the upsell item may already be in the cart before the offer displays.
Free ShippingShips the upsell item free even if the item normally charges shipping.
Arbitrary Unit CostA lower unit price for this offer. The optional By Day of Week setting allows a different price per day.
Max QuantityCaps the quantity of the upsell item.
Start DateWhen the offer begins, useful for seasonal promotions.
End DateWhen the offer ends.

Keep offers simple. A single item ID gives the customer a clear yes or no; multiple items work only if the layout supports it or you customize the layout yourself.

Trigger criteria on an offer

Triggers work at two levels: on the path, affecting every offer in it, and on an individual offer, under Advanced Settings.

The trigger criteria panel on an offer.

FieldWhat it does
Items (Logic)How the item list is evaluated, for example "Total quantity across all items".
TotalThe quantity condition, for example = 3.
Item IDsThe item IDs participating in the trigger.
Remove Trigger ItemRemoves the original trigger item from the cart when the customer accepts the upsell. Use it when the upsell replaces the trigger item rather than adding to it. Leave it unchecked to combine both.
TagsOrder or customer tags to trigger on.
First Time BuyerRestricts the trigger to first-time buyers.
First Time Purchasing OfferRestricts the trigger to a buyer using a first-time purchase offer.
Payment MethodsRestricts the trigger by payment method, such as VISA, PayPal, eCheck, Affirm, or Venmo.
Shipping MethodsRestricts the trigger by shipping method, such as UPS Ground or USPS Priority Mail.
CountriesRestricts the trigger by country.
Loyalty TiersRestricts the trigger by loyalty tier, such as Bronze, Silver, or Gold.

Suppression criteria on an offer

The suppression criteria panel.

FieldWhat it does
Items (Logic)The rule for cart items, for example "Cart contains ANY of these items".
Items (Item ID)The item IDs in the suppression list.
TagsTags that suppress the offer.
Payment MethodsPayment methods that suppress the offer.
Shipping MethodsShipping methods that suppress the offer.
CountriesCountries that suppress the offer.

Accessory item IDs are configured on the same panel:

FieldWhat it does
Accessory Item Ids, AddAccessory item IDs to add.
Accessory Item Ids, RemoveAccessory item IDs to remove.
Migrate Accessory Item Ids, FromThe original accessory item ID to migrate from.
Migrate Accessory Item Ids, ToThe new accessory item ID to migrate to.

Other offer settings

The other settings panel.

FieldWhat it does
Removable On ConfirmationAllows the item to be removed at confirmation.
Lock ShippingPrevents the shipping method from being changed.
Record as Regular ItemRecords the item as a standard item rather than an upsell.

Upgrade replacement: swapping an item rather than adding one

A common pattern is offering a premium version that replaces what the customer already bought, rather than adding to it. Remove Trigger Item is what makes this work.

Set up the offer with the standard product as the trigger item and the premium product as the upsell item, then enable Remove Trigger Item. The flow becomes:

  1. The customer buys ITEM-A.
  2. The offer for ITEM-B displays.
  3. The customer accepts.
  4. UltraCart removes ITEM-A from the order.
  5. UltraCart adds ITEM-B.

This suits product upgrades, premium versions, subscription tier upgrades, warranty and service upgrades, and bundle upgrades.

Make the upgrade explicit in the offer copy. A customer who thinks they are adding a second item and finds they have swapped the first will contact support, so say plainly what is being replaced and what the price difference is.

If the upsell adds the item instead of replacing it, check that Remove Trigger Item is enabled on the offer and that the trigger item matches what is actually in the cart.

Pre-checkout upsells

A pre-checkout upsell appears as a modal before the customer reaches checkout. Building one takes the same path and offer work as above, plus one change on the path and some setup on the StoreFront itself.

Configure the path

  1. Go to Content → Upsells and select Add Upsell Path.

    The Upsells screen.

    The Add Upsell Path button.

  2. Select Edit on the new path. New paths default to post-checkout, so set Flow Location to Pre-Checkout (Upsell Modal) and save.

    Setting the flow location to Pre-Checkout.

Give the path a clear name. It is the name you pick from later in the StoreFront editor.

Add the offer

Select the plus icon inside the path, leave the prompt on Offer, and select OK.

Creating the offer.

Name the offer, add the item IDs that get added when the customer accepts, and choose a layout. A default layout that shows the item, its options and variations, and accept and decline buttons is a good starting point.

Choosing an offer layout.

Set triggers under Advanced Settings on the offer.

Trigger settings on the offer.

Tags have to exist on your items before you can reference them in the upsell editor. Adding the tag upsell-holiday-promo to several items makes all of them trigger the offer.

Format the offer content in the Visual Builder from inside the upsell editor, not from the StoreFront editor. Arrange the components so a shopper can pick variations and accept or decline.

Formatting the offer content.

Set up the StoreFront

This assumes a typical setup where Add to Cart submits an item form that shows the cart. To show the modal instead, adjust the item form.

  1. Add the Upsell Modal component in the hierarchy view. The Item Display Container is a reasonable place for it.

    Adding the Upsell Modal component in the hierarchy.

  2. Configure the component:

    SettingValue
    Specific PathThe upsell path you named earlier
    Once PerVisit for one session, or Page Load for every page load
    After Upsell Complete ActionCheckout
    TriggerNone

    The Upsell Modal component settings.

  3. Set the Add to Cart button's Action to Submit Form Action.

    The Add to Cart button action.

  4. On the item form, set After Submission Action to Show/Hide Action, and under Show These, select the upsell modal component you created.

    The item form submission settings.

Now selecting Add to Cart shows the modal when the trigger conditions match. Accepting adds the upsell item and continues to checkout; declining goes straight to checkout unchanged.

When the path or offer targets specific item IDs or tags, the modal only appears if a qualifying item is in the cart. Otherwise Add to Cart behaves normally. That also means you need a qualifying item in the cart to preview it.

Working with paths and offers

Hovering over an offer shows a toolbar, a DOWNSELL option, and a toggle that switches the offer active (blue) or inactive (grey).

The offer hover toolbar.

Filter by type to see all upsells, only post-checkout, or only pre-checkout.

The upsell type filter.

Filter by status with the Upsell Status dropdown.

The upsell status filter.

  • Active shows everything not archived. This includes inactive offers, as long as they have not been archived.
  • All shows archived and unarchived alike.
  • Archived shows only archived paths and offers.

Archive a path from the three-dot menu at its right, to hide it without deleting it.

Archiving a path.

Archived paths show an Archived status and reappear when you switch the filter to All or Archived. Unarchive from the same menu.

An archived path, and the unarchive option.

Pagination kicks in at 50 offers per page.

Upsell pagination.

Drag and drop moves offers and experiments within a path, between paths, and into or out of an experiment.

Testing offers and paths

Upsells have their own experiment system, separate from StoreFront experiments.

Offer experiments

Hover an offer and select the experiment icon.

The experiment icon on an offer.

With the offer inside an experiment, hover it and use the duplicate tool to add a second.

Duplicating an offer inside an experiment.

Traffic splits evenly and the split is fixed: two offers get 50 percent each, three get 33.3 percent each, and so on.

A border around an offer means an experiment is initialized. Hovering the bordered area shows a delete icon and a plus to add another offer. Hovering an offer inside the experiment gives four options: promote, duplicate, edit, and delete.

An initialized offer experiment.

When you have a winner, hover it and select the promotion tool. Only the winning offer remains.

Promoting the winning offer.

note

How long should an offer experiment run? Aim for at least one to two weeks, reach 95 to 99 percent statistical significance, and ideally cover one to two business cycles so seasonality and weekly patterns do not distort the result.

Path experiments

You can also test whole paths against each other, which tests sequences and combinations of offers rather than a single offer. Select Add Variant Path, or duplicate an existing path.

Adding a variant path.

Traffic splits across the variant paths.

Traffic split across variant paths.

Select the promote tool on the winner. The losing variant is removed automatically.

Promoting the winning path.

Statistics

Enter a start and end date and select View.

The statistics date range and view button.

Per offer:

  • Conversion percentage
  • Average Visitor Revenue (AVR)
  • Average Visitor Profit (AVP), which needs cost of goods sold configured on your items
  • Views
  • Transactions (TRANS)
  • Revenue (REV)
  • Per Sale Revenue (PSR)
  • Abandons
  • Declines, the number of people who selected no

Per path: Average Visitor Revenue, Average Visitor Profit, Views, and Transactions.

Abandons and refunds are tracked automatically, so the revenue figures reflect what you kept rather than what was initially accepted.

Custom yes and no buttons

To replace the default Yes and No buttons, edit the offer, highlight a button in the visual editor, and select the settings icon or press S.

Selecting a button in the visual editor.

From the settings panel you can change the button text, text and background colors, add sub-text, apply an icon, or upload a custom image.

The button settings panel.

Offsite content

An upsell sequence can include a page hosted outside your StoreFront.

The offsite content configuration.

FieldWhat it does
Offsite Content URLThe URL of the external content.
Offsite Confirm YesGenerated confirmation URL used when the customer accepts.
Offsite Confirm NoGenerated confirmation URL used when the customer declines.
warning

Offsite Content URL only appears in the offer editor when the path's Flow Location is set to Post Checkout.

Customer attributes with AtData

AtData, formerly TowerData, provides demographic and behavioral data about an email address, which you can then use as an upsell trigger. Age and gender are the two attributes UltraCart uses.

Set up an account

  1. Sign up at AtData.
  2. Configure an API key in their system. Each data point costs money, so enable only the attributes you plan to use.
  3. In UltraCart, go to Configuration → Integrations → AtData Email Intelligence, paste the API key, and save.

Use it in upsells

Age and gender become available as triggers on the path:

AtData triggers on an upsell path.

and on the offer, under Advanced Settings:

AtData triggers on an upsell offer.

The data is also stored in the BigQuery Data Warehouse, so you can use it in your own analytics. Only the attributes you pay AtData for are populated.

The AtData table in BigQuery.

How often is AtData queried for a given email? Once per year. After that, the next purchase by that customer triggers a fresh lookup.

Can data be back-filled? Yes. Some merchants buy bulk credits from AtData to cover their existing customer base. Contact UltraCart Support to arrange it.

Legacy checkouts without the Visual Builder

Upsell After also existed for legacy screen branding theme checkouts and storefronts without a Visual Builder theme. The page that documented it contained no content, only transclusion placeholders pointing at pages that no longer exist.

Was this page helpful?