Knowledge
Glossary
Upsell, cross-sell, FBT, bundle — these terms get thrown around interchangeably across the e-commerce industry. Inside Summer Upsell, each one has a specific meaning and a specific surface where it lives.
Funnel terminology
Upsell
Standard definition: encouraging a customer to buy a more expensive variant, upgrade, or premium edition of the product they're considering — e.g. offering a 256GB phone when they viewed the 128GB version.
In Summer Upsell: the dedicated Upsell widget (Single Upgrade / Tier Comparison / Inline Banner) is built for true upsells. Most other widgets (Cross-sell, FBT, In-Cart, Popup, etc.) handle cross-sells.
Cross-sell
Standard definition: recommending a related or complementary product — e.g. a phone case when the customer is buying a phone. The cross-sell adds a different SKU; the upsell upgrades the same SKU.
In Summer Upsell: the dedicated Cross-sell widget (Grid / Stack / Carousel) plus most other widgets. "Cross-sell" also appears as a layout name inside the Popup and Cart Popup widgets to mean a single-product recommendation card.
FBT (Frequently Bought Together)
Standard definition: a bundled cross-sell pattern that pairs the trigger product with multiple related items in a single Add-to-Cart action.
In Summer Upsell: three flavors:
- Classic FBT — checkbox list, selectable, with a live total.
- FBT Full Width — horizontal editorial carousel.
- Bundle (Amazon FBT) — image strip with + separators, fixed bundle, single Add.
Bundle
Standard definition: a fixed-content kit or set sold as a single unit, often at a discount versus the sum of its parts.
In Summer Upsell: the Bundle campaign type uses the Amazon FBT layout for fixed-content bundles where the merchant defines the exact contents and discount.
Add-on
Standard definition: a small-ticket complementary item — warranty, gift wrap, expedited shipping, samples.
In Summer Upsell: the Product Add-on widget (List, Card, Toggle) renders these on the PDP. The Add-ons layout in Popup and Cart Popup widgets serves the same role at different moments in the funnel.
Funnel placement terminology
PDP (Product Detail Page)
The product page itself — the Shopify URL /products/<handle>. Six widget types fire here: Upsell, Cross-sell, FBT, FBT Full Width, Bundle, Popup, and Product Add-on.
Cart
Either the cart drawer (most modern OS 2.0 themes) or the dedicated /cart page. Two Summer Upsell widgets target this surface: In-Cart Upsell (always-visible inline) and Cart Popup (overlay on Checkout click).
Post-purchase
The Shopify thank-you / order status page shown immediately after a successful checkout.
Widget mechanics
Trigger product
The product on whose page (or whose presence in the cart) a campaign should fire. Configured in the campaign builder via "All products," "Specific products," or "Specific collections."
Upsell product
The product(s) that the widget recommends when triggered. Comes from one of three sources: Manual, Basic AI, or Summer AI.
Trigger modes
For modal widgets, the event that opens the modal:
- Add-to-cart trigger — fires immediately after a successful Add-to-Cart event on the PDP. Used by the Popup widget.
- Checkout trigger — fires when the customer clicks the Checkout button on the cart page or drawer. Used by the Cart Popup widget.
Frequency cap
Show-once-per-session logic that prevents the same popup from firing twice for the same shopper.
Discount apply mode
always— the discount applies whenever the upsell product ends up in the cart, regardless of what triggered it.trigger_in_cart— the discount applies only if the original trigger product is also in the cart at checkout.
Recommendation sources
Manual
The merchant hand-picks the upsell products in the campaign builder.
Basic AI
Rule-based recommendations powered by your Shopify catalog (collections + tags + product types). Two flavors: Related and Complementary. No credits consumed.
Summer AI (powered by ChatGPT)
LLM-driven recommendations that read product titles, descriptions, vendor, and tags. One credit per query. Allowance: 20/mo on Starter Pro, 1,000/mo on Pro.
Metrics
AOV (Average Order Value)
Total revenue ÷ total orders. The headline metric every upsell widget tries to lift.
CVR (Conversion Rate)
Orders ÷ sessions. The percentage of visitors who buy. Upsell widgets generally don't affect CVR directly — they affect AOV.
Acceptance rate
Conversions ÷ impressions for a specific widget. The % of visitors who saw the widget and added the recommended product.
Impressions
Number of times the widget rendered on a storefront page. Counted client-side once the widget enters the viewport.
Conversions
Orders that included an item added through the widget. Recorded server-side via the orders/paid webhook for accuracy.
Storefront integration
App embed
The Shopify theme app extension that loads summer-widgets.js in the page head. Required for any widget to render. Enabled via the theme editor's App embeds sidebar.
Theme app block
A per-widget Shopify theme block (e.g. ✨ Summer: FBT Bundle) that the merchant adds to a template through the theme editor. The block tells Shopify where the widget renders; the campaign in the admin tells Summer Upsell what to render.
App proxy
A Shopify-signed URL path (/apps/summer-upsell) that lets the storefront fetch campaign data from Summer Upsell's backend without breaking the customer's session or hitting CORS issues.
Shopify Functions
Shopify's server-side discount engine. Summer Upsell uses Functions to apply percentage and fixed discounts at checkout.
Plan-specific terminology
Auto-rotate
Pro-only feature that automatically rotates campaigns flagged as non-performing (≥20 impressions, <1% conversion).
Auto-upgrade
The system that detects when a shop's monthly order count exceeds the current plan's limit and presents a Shopify-hosted upgrade flow on the next admin visit.
Summer AI credits
1 credit = 1 LLM-powered recommendation query. Cached per campaign — re-running the AI on the same campaign uses 1 fresh credit. Allowance: 20/mo on Starter Pro, 1,000/mo on Pro. Reset on the billing anniversary.
Plan caps
The storefront proxy enforces plan-aware downgrades at render time: advanced_ai → basic_ai → manual. Campaign config is preserved — re-upgrading restores the original AI source.
Publish checks
A four-step health check (/app/api/publish-checks): campaign is Active, products valid, app embed enabled, app block placed.