> For the complete documentation index, see [llms.txt](https://help.memberply.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.memberply.com/how-to-skyrocket-the-number-of-members-joining-your-membership/enable-product-page-upsell.md).

# Enable product page upsell

**Setup time is approximately 3 minutes**

This shows an upsell section on the product page promoting your membership program.

In Memberply, open **Product Page Upsell** under **Grow** for the storefront preview, customer journey, prerequisites, setup checklist, and Shopify theme editor shortcut.

## Why it can increase membership sign-ups

Customers viewing a product are already considering a purchase. Product Page Upsell places the standard price beside a lower member price at that high-intent moment, turning the membership from an abstract promise into a saving they can see on the product they want. When they choose the member price, Memberply can add the selected membership tier with the product.

Before enabling the storefront widget, [select the membership tier used for upsells](/how-to-skyrocket-the-number-of-members-joining-your-membership/select-a-membership-tier-as-the-upsell-offer.md) and [create a member discount benefit](/how-to-skyrocket-the-number-of-members-joining-your-membership/create-a-member-discount-benefit.md). The discount is what allows the offer to show a meaningful member price and gives the customer a stronger reason to join.

## What happens when a customer accepts the offer?

1. The customer selects **Member Price**. This prepares the membership offer, but does not add anything to the cart yet.
2. When the customer clicks your store's normal **Add to cart** button, Memberply adds both the product and the selected membership tier to the cart. Any products already in the cart stay there.
3. Shopify recalculates the cart and automatically applies the member discount to eligible products.
4. If the tier includes free shipping, Shopify applies it when its conditions are met and shipping rates are calculated, which is normally at checkout.
5. If you have [made the first month free](/how-to-skyrocket-the-number-of-members-joining-your-membership/offer-a-free-first-month-optional.md) for an eligible monthly tier, the customer pays nothing for the membership today, receives their membership benefits straight away, and sees when their first paid renewal will be charged. This gives them an extra reason to join by removing the initial membership cost.

Member discount exclusions, minimum-spend rules and other benefit conditions still apply. Memberply also prevents the same membership from being added twice.

If your member discount benefit has product or collection exclusions, the product page upsell will respect those exclusions. Excluded products should not show member pricing in the upsell section.

<figure><img src="https://2037526248-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVJXUszoUtB7SAceDihaK%2Fuploads%2Fgit-blob-68c7c988c0faf7db82e1bb5d47ef628f621f7d5d%2FProductPageUpsellExample.webp?alt=media" alt="Example of the Memberply Product Page Upsell showing standard and member pricing on a Shopify product page"><figcaption><p>Product Page Upsell shows the membership offer while a shopper is viewing a product.</p></figcaption></figure>

## Recommended: Enable Global Product Upsell

Global Product Upsell adds the widget across all product templates and lets you manage its placement and design in one place.

1. In Memberply, open **Product Page Upsell** under **Grow**.
2. Click **Open Shopify editor for Global Product Upsell**. Shopify opens the theme editor with the app embed ready to enable.
3. Enable **Global Product Upsell**.
4. Choose a position such as **Above the product form**, **Below the product form**, **Above the buy buttons**, or **Below the buy buttons**.
5. If none of the standard positions works with your theme, select **Custom (advanced)** and enter a CSS selector.
6. Configure the widget content and styling, then click **Save**.

## Advanced alternative: Use a different widget on a product template

Use a manually placed **Product Page Upsell** block only when a specific product template needs different placement or styling.

1. In the Shopify theme editor, select **Products**, then open the product template you want to update.
2. Under **Product information**, click **Add section**, select **Apps**, and add **Product Page Upsell**.
3. Move the block to the required position, edit its content and styling, then click **Save**.

Manually placed blocks take priority. The global app embed will not display a duplicate widget on a page that contains a manually placed **Product Page Upsell** block.

## Customize the renewal message

In the Shopify theme editor, open **Global Product Upsell** under **App embeds**, or your manually placed **Product Page Upsell** block. Under **Membership benefits**, edit **Renewal message** and click **Save**.

* Write your message in any language. For example, `Prochain renouvellement : {renewal_date}`.
* Include `{renewal_date}` wherever the renewal date should appear. The date uses the storefront page's language.
* Omit `{renewal_date}` to display only your text, such as `Your membership renews monthly`.
* Leave the setting blank to keep your existing **First charge label** followed by the date.

The setting changes the existing renewal-date line only. It does not change charges or billing dates, and it does not add a renewal line to offers where that line is normally hidden, such as free or one-time memberships, memberships with a joining fee, or fixed monthly billing-day offers. A message promising renewal on the 1st should only be used when the actual billing schedule matches.

## Sign-in and purchase errors

If the membership has a rejoin waiting period, customers must sign in so Memberply can check whether they are eligible to join. When a signed-out customer tries to add the membership, the upsell explains the requirement and opens Shopify sign-in. After signing in, they return to the storefront and can select the membership offer again. This also applies to VIP Checkout+.

If Shopify rejects the purchase for another reason, such as a rejoin waiting period that has not ended or an unavailable product, the upsell displays that explanation. A temporary connection or server problem displays your configured fallback error message.

## Temporary pricing interruptions

Product Page Upsell loads prices and the customer's membership status together. It automatically retries once if the pricing service reports that it is temporarily unavailable, within a 12-second loading limit. If the request fails or takes too long, the widget displays a short message and a **Try again** button. Shoppers can retry without reloading the page, and the store's normal purchase flow remains available. Memberply does not offer a new membership based on a failed membership check. No theme setting changes are needed.

For developers investigating slow loading, browser performance entries named `memberply:pricing-request` measure the request, including retries and reading the response. `memberply:upsell-render` measures the time from the completed response to the next animation frame after the offer is built. The combined pricing response also provides `pricing` and `membership` durations in its `Server-Timing` header. These diagnostics stay in the browser and response headers; they are not sent to an analytics service.

## Show member prices on collection cards

To preview the member discount on homepage product cards (including Best Sellers and featured collections) and collection pages, enable **Collection Member Prices**. This is a separate app embed, so you can use it with or without Global Product Upsell.

1. Select an enabled [upsell membership tier](/how-to-skyrocket-the-number-of-members-joining-your-membership/select-a-membership-tier-as-the-upsell-offer.md) and configure its [Member Discount benefit](/how-to-skyrocket-the-number-of-members-joining-your-membership/create-a-member-discount-benefit.md).
2. Open **Online Store > Themes > Customize** in Shopify and choose **App embeds**.
3. Enable **Collection Member Prices** and preview your homepage and a collection page.
4. Edit **Member price label** and **Price label for products with varying prices** to match your store's language. Keep `{price}` where the formatted amount should appear.
5. Check desktop and mobile previews, then click **Save**.

If Collection Member Prices is already enabled, homepage support is included automatically. You do not need to add another block or change your existing settings.

Logged-out visitors and signed-in non-members see a member-price preview beneath the regular product price. Existing members do not see this promotional label. Viewing the label does not add a membership to the cart or give a non-member a checkout discount. Customers still need to join through your normal membership or product-page upsell flow.

Product and collection exclusions apply. Membership products, products without a qualifying discount, and offers without an enabled upsell tier do not receive a label. Products with different variant prices display a **Member price from** label based on the lowest-priced variant; an explicit variant in the product link uses that variant's price. Prices use the storefront currency.

Common product-card layouts, including Dawn-style card wrappers and Impact product cards, are detected automatically. Custom themes can use **Custom product card CSS selector** and **Custom price CSS selector**. Each card match must contain one product link and its regular price. The price selector is matched inside the card, and the preview is inserted immediately after it. A developer can also mark a card with `data-memberply-product-card` and its price with `data-memberply-price`; set `data-variant-id` on the card when a custom variant selector changes its displayed variant.

Cards loaded after filtering, sorting or pagination are processed automatically. Pricing requests are limited and cached for the current page. If pricing or membership status is unavailable, the preview is hidden and the normal price remains available. Reload after a temporary interruption to retry. Check for another app's price labels before enabling this embed to avoid competing displays; Memberply does not remove another app's code.
