SSP Documentation
SSP — Upsell Popup
Overview
SSP — Upsell Popup shows a polished modal with product cards that you assign per page. Each card can include unlimited products, optional fixed-price overrides, and skip/hide toggles. You control appearance (headline, colors, sizes) and can add Custom CSS with syntax highlighting.
Quick read: The popup can appear once per page load or only once ever (until storage is cleared). Cards are targeted to a specific WordPress page.
How it Works
- You create one or more cards under WooCommerce → Upsell Popup.
- Each card is tied to a single WordPress page (ID) and contains product suggestions.
- Frontend renders a modal shell; products are preloaded server-side and then refreshed via AJAX.
- If a product has a fixed-price override, the add-to-cart link carries it and cart totals apply that price.
Requires | WooCommerce active. |
---|---|
Storage | LocalStorage key ssp_up_ultra_shown_global when “Show only once” is enabled. |
Create Upsell Cards
- Go to WooCommerce → Upsell Popup.
- Under Upsell Cards, click Add New Card (or edit an existing one).
- Pick products. You can add unlimited rows. Optionally set a fixed price for any row.
- Choose Skip if product already in cart to avoid showing items the shopper already has.
- Toggle Hide price in popup if you want a clean, price-less card.
- Select Show this card on page and choose the WordPress page it should appear on.
- At the top row you can also set Show popup frequency (per load or only once).
- Save changes.
Special “Dynamic” choices
- Lowest-priced product
- Highest-priced product
- Random product
Dynamic choices ignore items already in the cart if “Skip if in cart” is enabled.
Style & Custom CSS
- Headline text + alignment
- Text size
- Card size: xs / sm / md / lg / xl
- Grid alignment: left / center / right
- Colors: background, top bar, text, accent border, overlay, button bg/text, close button bg/text
Custom CSS: The editor uses WordPress CodeMirror, so you get syntax highlighting. Your CSS is printed after the base styles for reliable overrides.
Dynamic Suggestions
Instead of selecting a specific product, choose a special token. The plugin will pick a product at runtime:
Lowest-priced product | Finds the cheapest in-stock product (not in cart if “Skip” is on). |
---|---|
Highest-priced product | Finds the most expensive in-stock product (not in cart if “Skip” is on). |
Random product | Picks a random in-stock product (excluding cart items if “Skip” is on). |
Fixed-Price Overrides
Every suggested product can carry a fixed price. When the shopper clicks Add to cart from the popup:
- The link adds
ssp_up=1
and a value parameter to the cart URL. - Cart line item stores Upsell price meta (original → adjusted) and sets the runtime price.
- If “Hide price in popup” is off, the card shows
<del>
original and<ins>
adjusted.
Example query: ?add-to-cart=123&ssp_up=1&ssp_dt=fixed_price&ssp_dv=19.00
Popup Behavior
- Frequency: Show once per page load or Show only once (remembered via localStorage).
- Return-to: After add-to-cart, shopper returns to the page that opened the popup.
- Close UX: Click overlay, press Esc, or click the floating × button.
- Preload + Refresh: Cards are precomputed server-side and refreshed via AJAX to reflect current cart state.
Accessibility
- Modal sets
role="dialog"
andaria-modal="true"
. - Headline is bound to
aria-labelledby
. - Product cards are keyboard navigable; Enter/Space opens the product link.
- Esc closes the popup.
FAQ
Popup isn’t showing
- Confirm WooCommerce is active.
- Make sure your page selection matches the current page.
- If set to “Show only once,” clear localStorage or switch to “Per load.”
Prices don’t match
- Fixed price must be a non-negative number; it overrides the product’s live price at cart time.
- If you hid price in the popup, the cart will still show the adjusted line price.