Documentation Index
Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
Use this file to discover all available pages before exploring further.
Which feature do you need?
There are three separate subscription features in Aftersell. Make sure you’re in the right guide:| Feature | What it does | Mechanism | Guide |
|---|---|---|---|
| Subscription upsell | Offer a customer a brand new subscription product after checkout | Adds a new subscription line item to the order | Subscriptions in Post-Purchase Offers |
| Subscription upgrade | Modify a customer’s existing subscription after checkout | Updates the existing subscription in place via provider API - no refund issued | This guide |
| Replacement upsell | Swap a purchased product for a different one (mostly subscription) | Refunds the original item, charges for the replacement | Replacement Upsells |
What is Subscription Upgrades?
Subscription Upgrades lets you offer existing subscribers the ability to modify their active subscription right after checkout. You can change their delivery frequency, swap them to a different product, or both - using a single post-purchase offer. The feature connects natively with Recharge, Skio, and Loop to modify the subscription in real time via each platform’s API. Unlike the Replacement Upsells feature, no refund or new charge is issued for the subscription itself - the customer’s existing subscription is updated in place through Recharge, Skio, or Loop.How it works: the two-step process
When a customer accepts a subscription upgrade offer, two separate things happen: Step 1 - Shopify changeset An “offer product” which is NOT a subscription is added to the customer’s order as a one-time line item. This is required by Shopify: the post-purchase API cannot add a subscription to an order that already contains one. The offer product is just a order-level record of the accepted upgrade. Step 2 - Provider API call Aftersell calls your subscription provider (Recharge, Skio, or Loop) to modify the customer’s actual subscription - changing the frequency, swapping the product, or both. These two steps are independent. The offer product in the order is NOT the subscription change. The subscription change happens in your provider’s system.What your customer sees
The customer’s Shopify order confirmation will show the offer product as a line item. This is expected. The subscription modification is a separate event in your provider and will not appear on the Shopify order itself. To avoid customer confusion:- Name the offer product clearly, such as “Subscription Upgrade” or “Plan Change - [Your Brand]”
- Set the price to $0 if the upgrade is free, or to the exact upgrade fee if charging
- Optionally add a short description: “This item represents your subscription upgrade. Your recurring plan has been updated - no additional charges will occur.”
Prerequisites: API Configuration
Before Subscription Upgrades appear in your funnel editor, you need to connect your subscription platform via API. Select your provider below for setup instructions and supported features.Recharge
Supported features: All upgrade types (frequency, replacement, both) · Prepaid and postpaid frequencies To generate your API token:- Log in to your Recharge merchant portal.
- Navigate to Tools & Apps and click API Tokens.
- Click Create an API Token.
- Enter a name and contact email for the token.
- Set the following permissions to Read and Write: Orders, Products, Subscriptions, Plans.
- Click Save and copy the API key.
Skio
Supported features: All upgrade types (frequency, replacement, both) · Prepaid and postpaid frequencies To generate your API token:- In your Skio dashboard, go to API & Integrations > API.
- Enter a name for your new API key and click Generate API key.
- Copy the key immediately - it will only be shown once.
- Make sure to grant all necessary scopes: edit, delete, and create subscription.
Loop
Supported features: All upgrade types (frequency, replacement, both) · Postpaid frequencies only Limitations to know before setup:- No prepaid support. Billing frequency is automatically synced to delivery frequency, and prepaid upgrade attempts will be rejected.
- Selling plans must be pre-configured. Loop requires a matching selling plan to already exist in your Loop dashboard for the target frequency. Aftersell cannot create selling plans programmatically.
- Multi-line subscriptions are handled in two steps: the target product line is split into a new subscription with the desired frequency, then removed from the original. This involves multiple API calls and may require checking your Loop dashboard if something looks off.
- Open the Loop app and navigate to Settings in the bottom left corner.
- Under Admin, click API Tokens.
- Set the following permissions to Read and Write: Subscription contracts, Orders, Selling plans.
- Click Generate New Token.
- Provide a name, select the appropriate scopes, and click Generate Token.
- Click Show Token to view and copy your key. Treat it like a password and store it somewhere safe.
Setup in Aftersell
- In Aftersell, go to Settings > Subscription Upgrades.
- Select your subscription provider from the dropdown.
- Paste your API token and click Save.

Creating a Subscription Upgrade Offer
Once your API token is configured, Subscription Upgrade will appear as its own offer type in the funnel editor.- In your Aftersell dashboard, go to Post-Purchase Funnels.
- Open an existing funnel or create a new one.
- Click Add Upsell and select Subscription upgrade from the offer type dropdown.

Subscription Upgrade Wizard
Step 1: Trigger Product
Select the subscription product the customer must have purchased for the upgrade offer to appear. This is what they are upgrading from.- Click Choose subscription product and select the product from your catalog.
- The customer journey shown at the bottom of the modal walks through what the customer experiences: Buys subscription > Sees upgrade offer > One-click accept > Plan updates.

Step 2: Offer Product
Choose what the customer sees in the upsell offer. This is a placeholder product used to work around Shopify’s limitation on adding subscriptions to orders that already contain one. You can either create a new placeholder product or pick an existing one from your catalog.Create new (recommended for most stores)
If you don’t already have a dedicated placeholder product, use the Create new tab. Enter a title, price, and image, and Aftersell creates an active product in your Shopify catalog on your behalf. The product is created as active so it can be sold through the post-purchase flow, but it is not published to your Online Store storefront.- Title - the name shown in the upgrade offer card (e.g., “Premium upgrade”)
- Image - the image shown in the offer card; upload directly from the wizard
- One-time upgrade price - the amount charged when the customer accepts the offer; this is a one-time charge and does not affect the ongoing subscription price
Pick existing
If you already have a suitable product in your catalog, use the Pick existing tab to select it. The trigger product is hidden from the picker to prevent invalid selections. Common approaches:- A dedicated “upgrade” product - a low-cost or $0 product that acts as the order-level record
- The same product (if it supports both one-time and subscription purchase) - it will be added as a one-time line item while the subscription is modified separately
- A complementary add-on - a sample or bonus product that pairs with the upgrade

Step 3: Configure Upgrade
Choose the type of upgrade to offer and configure the frequency, plan, and optional discount. Frequency Upgrade Move the customer to a different delivery or billing interval - for example, upgrading a monthly subscriber to a prepaid plan.- Delivery Frequency is how often the product is shipped.
- Billing Frequency is how often the customer is charged. This must be equal to or greater than the delivery frequency.
- Billing Frequency: Every 6 months
- Delivery Frequency: Every 1 month
- Discount type: Choose between Percentage or Fixed Amount.
- Discount value: Enter the amount. Percentage discounts have a maximum of 100%.

Funnel Triggers and Targeting
Why do I need product-specific triggers?
Without a product trigger, your funnel may show to customers who do not have the eligible subscription product in their order. This results in wasted impressions and a subscription modification that silently fails - the offer product gets added to the order, but no subscription is changed.Recommended trigger setup
Enable these two triggers together for most subscription upgrade funnels:| Trigger | Setting |
|---|---|
| Product trigger | Set to the same product as your eligible (target) subscription product |
| Subscription trigger | Set to Include - only fires when the order contains at least one subscription line item |
What happens if the funnel fires for a customer without the eligible product?
The offer will still appear on the post-purchase page. If the customer accepts:- The Shopify changeset will succeed and the offer product will be added to the order.
- The subscription upgrade call to your provider will fail because no matching subscription can be found. The error is logged, but the customer still sees a success state.
Important Notes
- Subscriptions only. This feature only triggers if the customer purchased the subscription version of the eligible product. It will not trigger for one-time purchases.
- Frequency on replacements. When replacing a product, the new item inherits the original subscription’s frequency. Selecting a different frequency is not supported unless using the Both upgrade type.
- Multi-product upsells. Subscription upgrade settings must be configured individually for each product in a multi-product upsell.
- One subscription per post-purchase flow. Only one subscription offer can be accepted per post-purchase page. If your funnel has multiple steps that include subscription products, only the first accepted offer will go through. The funnel editor will show a warning if it detects this conflict.
- Shopify selling plans are not supported. This feature only works with Recharge, Skio, and Loop.
Troubleshooting
The Subscription Upgrade offer type does not appear in my funnel editor
The Subscription Upgrade offer type does not appear in my funnel editor
- Feature not enabled on your account. Contact support via the in-app chat to have Subscription Upgrades activated. It requires manual enablement by the Aftersell team.
- API token not saved. Go to Settings > Subscription Upgrades, make sure you have selected a provider (not “None”), entered a valid token, and clicked Save. Refresh the funnel editor after saving.
I cannot find the Subscription Upgrades section in Settings (Loop users)
I cannot find the Subscription Upgrades section in Settings (Loop users)
My customer sees an unexpected product in their order
My customer sees an unexpected product in their order
- Rename the offer product to something clear, such as “Subscription Upgrade” or “Plan Change”
- Set the price to $0 if no extra charge is intended
- Add a description to the product in Shopify Admin explaining what it represents
The upgrade offer was accepted but the subscription was not modified
The upgrade offer was accepted but the subscription was not modified
- Your provider API token is still valid and has the correct permissions (Read and Write on Orders, Products, Subscriptions)
- The eligible product in the funnel matches what the customer actually subscribed to
- For Loop: The target selling plan exists in your Loop dashboard for the configured frequency. Aftersell cannot create selling plans programmatically.
- For Loop (multi-line subscriptions): The split operation involves multiple API calls and may take up to 24 hours. Check your Loop dashboard for any duplicate or in-progress subscription lines.
The customer accepted the offer but their subscription was not changed, and an unexpected product was added to their order
The customer accepted the offer but their subscription was not changed, and an unexpected product was added to their order
- Your provider API token is valid and has the correct permissions.
- The eligible product in the funnel matches what the customer actually subscribed to.
- For Loop: the target selling plan exists in your Loop dashboard.
My upgrade offer is showing to customers who are not subscribers
My upgrade offer is showing to customers who are not subscribers
- Check that Show to all customers is not enabled - this overrides all other triggers.
- Add a Product trigger matching your eligible subscription product.
- Add a Subscription trigger set to Include.
- Check funnel priority - a higher-priority funnel with broader triggers may be firing first.
The Order Browser shows 'Cannot upsell a subscription to an order that already contains one'
The Order Browser shows 'Cannot upsell a subscription to an order that already contains one'
I am getting a 'product not found' error when adding my upsell product
I am getting a 'product not found' error when adding my upsell product
I am using Loop and cannot change the billing frequency
I am using Loop and cannot change the billing frequency
The selling plan picker dropdown is empty
The selling plan picker dropdown is empty
- Confirm that selling plans are configured in your Recharge or Skio dashboard
- Make sure your API token has read access to Plans (Recharge) or the appropriate scopes (Skio)
- Save your API token again and refresh the page