Subscription Upgrades
This guide covers everything you need to know about setting up and using Subscription Upgrades in the Post-Purchase upsell flow. Not sure which feature you need? There are two separate subscription features in Aftersell:- Subscription upsell - offer a customer a new subscription product after checkout. See Subscriptions in Post-Purchase Offers.
- Subscription upgrade - modify a customer’s existing subscription after checkout. This is what this guide covers.
Prerequisites: API Configuration
Before Subscription Upgrades appear in your dashboard, 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.
- Granting access to Plans is recommended but not required.
- 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.
- 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.

Accessing Subscription Upgrades
Once your API token is configured:- In your Aftersell dashboard, go to Post-Purchase Funnels.
- Open an existing funnel or create a new one.
- Click Edit Offer on the upsell you want to configure.
- In the Edit Upsell Product panel, click Product Selection to expand it.
- The Subscription Upgrades section will appear directly below, marked as New.

Configuration
Step 1: Enable the Feature
Toggle Enable Subscription Upgrade on.Step 2: Select the Eligible Product
Choose the product the customer must already have as an active subscription for the upgrade offer to apply. If a customer checks out with this product as a subscription, they will be shown the upgrade offer on the post-purchase page.Step 3: Choose an Upgrade Method
Method A: Change Frequency Use this to move a 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
Subscription Upgrade Discount
You can offer a discount as an incentive for accepting the upgrade. In the Subscription Upgrades settings:- Discount type: Choose between Percentage or Fixed Amount.
- Discount value: Enter the amount. Percentage discounts have a maximum of 100%.
The Offer Product
Why can’t I use the subscription product itself as the upsell offer?
This is a Shopify platform limitation. Shopify’s post-purchase API does not allow adding a second subscription to an order that already contains one. Because of this, Aftersell automatically forces the purchase option to one-time when a subscription is already in the checkout. If your offer product is subscription-only (meaning it requires a selling plan and cannot be sold as a one-time purchase), the offer will be skipped entirely.What product should I use?
You need a product that can be sold as a one-time purchase. This is the product added to the customer’s order via Shopify’s post-purchase changeset. It is separate from the subscription modification that happens through your provider. Common approaches:- Use the same product if it supports both one-time and subscription purchase options. It will be added as a one-time line item, while the subscription is modified separately through your provider.
- Use a dedicated upgrade product - a low-cost or zero-cost product that acts as the order-level record of the upgrade. The actual value is in the subscription change handled by your provider.
- Use a complementary product - an add-on that pairs well with the upgrade, such as a sample pack when upgrading to a larger subscription.
How does the two-step process work?
When a customer accepts a subscription upgrade offer, two things happen:- Shopify changeset: The offer product is added to the order as a one-time line item via Shopify’s post-purchase API.
- Provider API call: Aftersell calls your subscription provider (Recharge, Skio, or Loop) to modify the customer’s existing subscription — changing the frequency, swapping the product, or both.
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:- Product trigger: Set this to the same product as your eligible (target) product.
- Subscription trigger: Set to Include, so the funnel 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 Method C (Change Frequency and Replace Product).
- 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.
Troubleshooting
The Subscription Upgrades section does not appear in my funnel editor. Go to Settings > Subscription Upgrades and make sure you have selected a provider (not “None”) and saved a valid API token. Both fields are required. Refresh the funnel editor after saving. The upgrade offer was accepted but the subscription was not modified.- Check that your API token is still valid and has the correct permissions.
- For Loop: confirm the target selling plan exists in your Loop dashboard for the configured frequency.
- For Loop with multi-line subscriptions: the split operation involves multiple API calls — one may have failed. Check your Loop dashboard for duplicate subscription lines.
- Review error logs in Sentry/Datadog for
aftersell.subscriptionUpgrademetrics.
- 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.
- 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.