EzyStudio Alfo - Discount Functions

Checkout Upsells

Overview

Checkout Upsells render a pre-purchase offer block inside Shopify Checkout. When a rule’s trigger conditions match the live cart, the block appears with the offered product and an “Add to order” button. A single click adds the item to the cart without the buyer ever leaving checkout.

Upsells use the same condition engine as discounts, so you can target offers by cart value, customer tags, authentication status, product presence, and cart attributes.

Plan requirement: Pro (up to 10 rules) and Enterprise (up to 30 rules). Starter plans do not include checkout upsells.


Use Cases

  • Protection plans — Offer a 2-year warranty SKU when the cart subtotal exceeds $200.
  • Free-shipping unlock nudges — For carts between $30 and $45, offer a low-cost item that nudges the buyer past your free-shipping threshold.
  • Matching accessories — When a specific SKU is in the cart, promote its companion product.
  • VIP-only offers — Expose an exclusive variant only to customers tagged VIP.

How It Works

  1. You create a rule with a set of trigger conditions and one or more offer variants.
  2. At checkout, the upsell block evaluates your rule against the live cart. If every trigger condition passes, the offer renders.
  3. When the buyer clicks “Add to order”, the offered variant is added to the cart and attribution is stamped onto the line so analytics can track the accept.

The block refreshes automatically as the cart changes, so if the buyer removes an item that made the trigger conditions pass, the offer disappears.


Placement Options

Each rule has a placement that controls which checkout step the block renders on. In a multi-step checkout, this lets you time an offer for the moment the buyer is most receptive.

PlacementWhere the Block Renders
anyEvery checkout step (default).
informationThe contact and shipping-address step.
shippingThe shipping-method step.
paymentThe payment step.

Important: Shop Pay and other one-page checkouts only expose a single step. On those flows, only rules with placement any will appear — step-specific placements (information, shipping, payment) never match. If an upsell must reach every buyer regardless of checkout type, use any.


Offer Configuration

Each rule’s offer defines what the buyer sees and what gets added to the cart.

FieldDescription
Offer variantsOne or more product variants that the rule can offer. At least one is required.
Display modegrouped shows a single card with a variant picker; separate shows one card per variant.
HeadlineBold heading displayed above the offer (optional).
SubtextSupporting body text below the headline (optional).
CTA labelButton text. Defaults to “Add to order” if not set.
Max quantity per acceptHow many units are added each time the buyer clicks the CTA. Defaults to 1.
PrioritySort order when multiple offers match. Lower numbers render first. Defaults to 100.

grouped mode is usually the right choice when you’re offering a product with size or color variants — the buyer picks the variant inline. separate is better when each variant is a distinct product-like offer (for example, three different protection plans).


Trigger Conditions

Rules can combine any subset of the supported trigger conditions with AND/OR logic. Leaving the condition list empty means the offer always matches.

Supported conditions: cartSubtotal, cartTotalQuantity, cartLineCount, customerTag, customerIsAuthenticated, product, cartAttribute.

Operators mirror those available on discount conditions (greaterThan, between, hasAny, hasNone, exists, and so on). See the Cart-Level Conditions reference for operator details.


Important: Upsells Don’t Apply Discounts

Important: A checkout upsell adds a product to the cart. It does not apply its own discount. If you want the offered product to appear at a discounted price, create a matching Discount Function (for example, a Conditional Discount with the offered variant’s product tag and a percentage discount value). The two features work together: the upsell moves the product into the cart, and the discount prices it.

This separation keeps the system predictable: every discount your buyer sees is driven by your discount configuration, not by a side effect of a different feature.


Analytics Integration

Every accepted upsell is tracked automatically. Acceptance events are surfaced in the Analytics Dashboard with revenue, accept count, top rules, and per-rule trend data, so you can measure which offers drive the most incremental revenue.

No customer identifiers are stored with the acceptance record — Alfo keeps analytics anonymized at the session and order level.


Example Configurations

Protection Plan for Premium Purchases

Offer a 2-year protection plan when the cart subtotal exceeds $200.

  • Trigger conditions:
    • Cart subtotal greater than $200
  • Offer variant: Protection plan SKU (variant GID)
  • Display mode: separate
  • Headline: “Protect your purchase”
  • Subtext: “2-year coverage for accidents, drops, and spills.”
  • CTA label: “Add protection”
  • Placement: any
  • Priority: 50

Free-Shipping Unlock Nudge

When the cart is between $30 and $45, offer a low-cost accessory that pushes the buyer past your $50 free-shipping threshold.

  • Trigger conditions:
    • Cart subtotal between $30 and $45
  • Offer variants: Socks, hair ties, sticker pack (three variants)
  • Display mode: grouped
  • Headline: “Add one more item to unlock free shipping”
  • CTA label: “Add to order”
  • Placement: information
  • Priority: 10

VIP-Only Early Access

Expose an exclusive variant only to customers tagged VIP.

  • Trigger conditions:
    • Customer tag has any of VIP
  • Offer variant: Early-access product variant
  • Display mode: separate
  • Headline: “VIP early access”
  • Subtext: “Available to you before public launch.”
  • Placement: any
  • Priority: 25

Managing Upsells

The Checkout Upsells page in the Alfo admin lists every rule with the fields you need to scan quickly:

  • Status — Enabled or disabled, with a toggle.
  • Placement — Which checkout step the rule targets.
  • Variant count — How many variants the offer can render.
  • Priority — Sort order when multiple offers match.
  • Delete — Remove rules you no longer need.

Clicking any rule opens its editor where you can change trigger conditions, offer configuration, placement, and copy.


Next Steps