Use this guide to set up a workaround that offers your Skio subscribers an upgrade to a longer delivery frequency, such as Monthly to Quarterly, in a Rebuy post-purchase offer right after checkout. Rebuy has no built-in setting that changes an existing subscription from a post-purchase offer, because Shopify does not let a post-purchase offer modify a subscription. The workaround connects a Rebuy post-purchase offer to a Shopify Flow workflow and a Skio Journey that you build, and Skio applies the new frequency to the customer's next subscription order.
The Skio subscription upgrade workaround is set up across your Rebuy Admin, the Shopify Flow app, and your Skio dashboard. Each step below names the tool it happens in.
Applies to: merchants using Rebuy Post-Purchase Offers with Skio for subscriptions. The Skio subscription upgrade also needs the Shopify Flow app and Skio Journeys.
What you need before you set up the Skio subscription upgrade
The Skio subscription upgrade needs each of the following in place before you start:
Rebuy Post-Purchase Offers included in your Rebuy plan. See Rebuy Plans and Packages: Feature Availability by Plan.
Rebuy turned on as the post-purchase page provider in your Shopify checkout settings. See Enabling Post-Purchase in Shopify.
Skio managing your subscriptions, with access to Skio Journeys.
The Shopify Flow app installed on your store.
How the Skio subscription upgrade works
The Skio subscription upgrade workaround passes the customer's choice from a Rebuy post-purchase offer to Skio through the parts below, each of which you set up yourself. The following table lists each part, where you set it up, and what it does.
Part | Where you set it up | What it does |
Frequency variants | Your subscription product in Shopify, with each variant titled to match its Skio selling plan group and sold only through that purchase option | Give each delivery frequency its own variant, so the Rebuy data source can tell which frequency the customer bought |
$0 upgrade placeholder | A separate product in Shopify | The $0 item the customer adds to their order by accepting the upgrade offer. Its variant title names the new frequency. |
Rebuy post-purchase flow | Rebuy Admin, under Post-Purchase | Shows the upgrade offer to customers who bought a shorter frequency |
Shopify Flow workflow | Shopify Flow app | Adds a customer tag such as Rebuy:Upgrade_to_Quarterly when the customer accepts the upgrade offer, and removes the tag 24 hours later |
Skio Journey | Skio dashboard | Finds the customer tag and changes the subscription's variant and shipping interval for the next subscription order |
Step 1: Add a variant for each delivery frequency (Shopify and Skio)
The Skio subscription upgrade starts with one variant per delivery frequency on your subscription product, for example Monthly, Quarterly, and Annually. Frequency variants let the Rebuy data source target customers by the frequency they bought, and give the Skio Journey a variant to switch the subscription to.
In your Shopify admin, open your subscription product.
Add an option, such as Frequency, with one value for each delivery frequency you sell. Title each value with the same name as the Skio selling plan group it belongs to, as listed in the product's Purchase options card.
In Skio, attach each frequency variant to its matching Skio selling plan group.
In the product's Purchase options card, check Only sell this product with these purchase options, so each frequency variant can be bought only as a subscription.
Save the product.
Repeat these steps for every subscription product you want to offer the upgrade on.
Important: Rebuy widgets add products to the cart as one-time purchases unless the widget is set to default to subscription. A Rebuy widget that shows a product set to Only sell this product with these purchase options returns the cart error "Variant can only be purchased with a selling plan." when a shopper adds it. To prevent the error, do one of the following for every Rebuy widget that can show your subscription product: in the widget's Product Settings, under General, set Product Type to Both and check Subscription is Default, or add the subscription product to an Exclusion Filter in the widget's data source.
Step 2: Create a $0 upgrade placeholder product for each upgrade (Shopify)
The $0 upgrade placeholder is the product the customer adds to their order by accepting the Skio subscription upgrade offer. Shopify does not let a post-purchase offer modify a subscription or add a subscription to an order that already contains one, so the placeholder, a one-time item, stands in for the upgrade on the post-purchase page and its variant title carries the new frequency into the Shopify Flow workflow. Create one placeholder product for each upgrade you offer, for example one for Quarterly and one for Annually, so each upgrade offer names exactly one new frequency.
Set up each placeholder product in Shopify with the following:
One variant titled with the new frequency, for example Quarterly. Add a single option, such as Frequency, with one value. The variant title becomes part of the customer tag, so type it exactly as you want the tag to read.
A price of $0 on the variant.
Inventory tracking turned off, so the placeholder is always available to offer.
The Online Store sales channel selected under the product's publishing settings.
Product status set to Active or Unlisted. Unlisted keeps the placeholder out of your storefront's collections and search. An unlisted placeholder appears in the Skio upgrade offer only when your Rebuy data source returns it as a specific product you chose by name, and is left out when the data source returns it through a collection or a tag.
Step 3: Create the upgrade offer widget and its data source (Rebuy Admin)
The Skio subscription upgrade offer is a Rebuy post-purchase widget whose data source returns the $0 placeholder only to customers who bought a shorter frequency.
In your Rebuy Admin, go to Post-Purchase > Post-Purchase Widgets and create a new widget. For every widget setting, see Creating a Post-Purchase Offer.
In the widget's data source, add a rule for the upgrade from Monthly to Quarterly:
IF: choose Product with the operator Contains Any, select your subscription product, and check only its Monthly variant.
RETURN: choose Product and select your Quarterly placeholder product.
Add a rule for each other upgrade you offer, for example an IF on the Quarterly variant that returns the Annually placeholder.
Write the offer title and description so the customer knows what accepting changes: the new delivery frequency, and that the change starts with their next subscription order. The offer itself shows a $0 price, since nothing is charged on the post-purchase page.
Save the widget.
Step 4: Create the Rebuy post-purchase flow (Rebuy Admin)
The Rebuy post-purchase flow puts the Skio subscription upgrade widget live and decides where the upgrade offer sits among your other post-purchase offers.
In your Rebuy Admin, go to Post-Purchase > Post-Purchase Flows and click New Flow. Give the flow a name such as Skio frequency upgrade.
Choose the Skio subscription upgrade widget as the flow's offer and click Save.
On the Post-Purchase Flows page, toggle the flow to active.
Drag the flow above any general post-purchase flows. Rebuy evaluates post-purchase flows from top to bottom and shows the first flow that matches the order, so a general flow placed higher shows instead of the upgrade.
Note the flow's number in the ID column on the Post-Purchase Flows page. You need this Rebuy post-purchase flow ID if you limit the Shopify Flow workflow to the Skio upgrade flow.
Keep the Skio subscription upgrade in its own Rebuy post-purchase flow, without other upgrade offers on its accept or decline path, so a customer can accept only one upgrade per order. For more on flow setup and priority, see Creating Post-Purchase Flows.
Step 5: Build the Shopify Flow workflow that tags the customer (Shopify Flow)
The Shopify Flow workflow adds a temporary customer tag when the customer accepts the Skio subscription upgrade offer, and the Skio Journey looks for that tag.
To skip building the workflow by hand, import the ready-made skio-subscription-upgrade-shopify-flow.flow workflow file instead.
The file and its instructions are under Import the Shopify Flow workflow file for the Skio subscription upgrade, the last section of this article.
In your Shopify admin, click Apps > Flow, then click Create workflow.
Click Select a trigger, choose Rebuy Personalization Engine, and select Rebuy Post Purchase Event.
Add a Condition that checks
rebuyEvent.eventTypeis equal toOFFER_ACCEPTED. In the workflow editor, the condition reads Rebuy event event type is equal to OFFER_ACCEPTED.On the True branch, add the action Add customer tags with the tag
Rebuy:Upgrade_to_{{rebuyEvent.product.variantTitle}}. A placeholder variant titled Quarterly produces the tag Rebuy:Upgrade_to_Quarterly.Under Add customer tags, add a Wait action set to 24 hours, then a Remove customer tags action with the same tag value.
Optional: to record the upgrade on the order too, add a second action on the True branch, Add order tags, with the same tag value.
Click Turn on workflow.
The Rebuy Post Purchase Event trigger runs for offers accepted in every Rebuy post-purchase flow on your store, not only the Skio upgrade flow. If another Rebuy post-purchase flow can offer a product whose variant title matches one of your upgrade tags, such as your subscription product's Quarterly variant, add rebuyEvent.rebuyFlowId is equal to your upgrade flow's ID to the Condition, using the number you copied from the ID column on the Post-Purchase Flows page. That check makes sure only offers accepted in the Skio upgrade flow tag the customer.
Shopify Flow is a Shopify app, and Rebuy Support does not build or troubleshoot Shopify Flow workflows. For every variable the Rebuy Post Purchase Event trigger provides, see Rebuy Post-Purchase Shopify Flow Triggers.
Step 6: Build the Skio Journey that applies the upgrade (Skio)
The Skio Journey reads the customer tag from the Shopify Flow workflow and changes the customer's subscription. Build the Skio Journey in your Skio dashboard with the following setup:
Trigger: after an order is completed, followed by a delay of 1 hour.
Condition: the customer has the upgrade tag, typed exactly as the Shopify Flow workflow creates it, including capital letters, for example Rebuy:Upgrade_to_Quarterly. Add one condition for each upgrade tag if you offer more than one upgrade.
Actions when the tag is present:
Swap the subscription product to the new frequency variant.
Keep the quantity at 1. Skio charges the subscription's quantity on every later subscription order, so a quantity above 1 charges for that many units each time.
Change the shipping interval, for example to 12 weeks for Quarterly.
Remove the $0 placeholder product from the subscription.
Keep the Skio Journey delay under 24 hours, since the Shopify Flow workflow removes the tag 24 hours after the customer accepts.
Skio Journeys are a Skio feature. For help building or troubleshooting a Skio Journey, contact Skio Support.
Test the Skio subscription upgrade
Test the Skio subscription upgrade end to end with a real test order before you offer it to customers.
Place a test order for the frequency variant you upgrade from, for example Monthly, paying by credit card. The post-purchase page appears only for orders that meet Shopify's requirements, listed in Shopify's Post-Purchase Offer Considerations & Limitations.
Accept the upgrade offer on the post-purchase page.
In your Shopify admin, open the customer and confirm the upgrade tag, for example Rebuy:Upgrade_to_Quarterly. If you added an order tag, confirm it on the order too.
After the Skio Journey delay, open the subscription in Skio and confirm the variant and shipping interval changed, the quantity is 1, and the $0 placeholder is gone.
If any check fails, use the table under Troubleshoot the Skio subscription upgrade.
Troubleshoot the Skio subscription upgrade
The following table lists what you might see while testing the Skio subscription upgrade and what to check for each.
What you see | What to check |
The upgrade offer does not appear on the post-purchase page | Rebuy is turned on as the post-purchase provider in Shopify. The placeholder is on the Online Store sales channel and has inventory tracking off. The data source rule returns the placeholder, which you can confirm in the Rebuy Post-Purchase Flows table in your browser's developer console during checkout. No higher-priority Rebuy post-purchase flow matches the order first. |
The customer accepted the offer but has no tag | The Shopify Flow workflow is turned on. The condition value |
The tag reads Rebuy:Upgrade_to_Default Title | The placeholder has no option value, so Shopify titles its variant Default Title. Add a single option with the frequency as its value. |
The customer has the tag but the subscription did not change | The Skio Journey is active, the tag in its condition matches the Shopify Flow tag exactly, the Journey delay has passed, and the delay is under 24 hours. |
What to keep in mind with the Skio subscription upgrade
The Skio subscription upgrade changes a subscription through Rebuy, Shopify Flow, and Skio together, so keep the following in mind:
The upgrade applies to the customer's next subscription order. The order the customer just placed keeps its original frequency and quantity.
Offer one upgrade per order, since the Skio Journey applies one frequency change. Keeping the upgrade in its own Rebuy post-purchase flow handles this.
Each subscription product needs its own frequency variants, placeholder products, data source rules, and Skio Journey conditions.
The upgrade tag stays on the customer for 24 hours. A second subscription order from the same customer within those 24 hours also meets the Skio Journey condition, so test that case in Skio before you go live.
The $0 placeholder is added to the customer's order as a line item when they accept, so it appears on the order and in any fulfillment app that reads order lines. Check how your fulfillment app handles $0 items.
Frequently asked questions
Can a Rebuy post-purchase offer upgrade a customer's Skio subscription frequency?
Yes, a Rebuy post-purchase offer can start an upgrade of a customer's Skio subscription frequency through a workaround you set up across Rebuy, Shopify Flow, and Skio. The customer accepts a $0 placeholder product in your Rebuy post-purchase offer, your Shopify Flow workflow tags the customer, and your Skio Journey reads the tag and changes the customer's next subscription order.
Note: Upgrading a subscription's frequency is not currently a built-in feature of Rebuy Post-Purchase Offers. The Skio subscription upgrade is a workaround that depends on a Shopify Flow workflow and a Skio Journey you build and maintain.
The Skio subscription upgrade workaround makes the subscription change in Skio rather than in the post-purchase offer, because Shopify does not let a post-purchase offer modify an existing subscription. Keep the following in mind:
The new frequency starts with the customer's next subscription order, and the order they just placed stays as it is.
Rebuy Support does not build or troubleshoot the Shopify Flow workflow or the Skio Journey.
The full workaround setup is in How to Upgrade Skio Subscriptions to a Longer Frequency with Rebuy Post-Purchase Offers.
Which subscription apps does the Rebuy post-purchase frequency upgrade workaround work with?
The Rebuy post-purchase frequency upgrade workaround is documented for Skio only, because it relies on Skio Journeys to read a Shopify customer tag and change the customer's subscription. Upgrading a subscription's frequency is not a built-in feature of Rebuy Post-Purchase Offers for any subscription app, including apps such as Recharge or Appstle.
Keep the following in mind if your store uses a subscription app other than Skio:
The Rebuy Post Purchase Event trigger in Shopify Flow can tag a customer who accepts a Rebuy post-purchase offer with any subscription app. Whether your subscription app can change a subscription based on that customer tag is a question for your subscription app's support team.
Rebuy does not document or support a frequency upgrade workaround for subscription apps other than Skio.
Import the Shopify Flow workflow file for the Skio subscription upgrade
The skio-subscription-upgrade-shopify-flow.flow file is a Shopify Flow workflow you can import instead of building the Skio subscription upgrade workflow by hand. It imports as a workflow named Add Upgrade Tags v3, which contains the following:
The Rebuy Post Purchase Event trigger.
A Condition that checks
rebuyEvent.eventTypeis equal toOFFER_ACCEPTED.An Add customer tags action with the tag
Rebuy:Upgrade_to_{{rebuyEvent.product.variantTitle}}, followed by a Wait of 24 hours and a Remove customer tags action with the same tag.An Add order tags action with the same tag, on its own branch.
To import the Skio subscription upgrade workflow file:
Download the skio-subscription-upgrade-shopify-flow.flow file attached below this section.
In your Shopify admin, click Apps > Flow.
On the Workflows page, click Import and select the skio-subscription-upgrade-shopify-flow.flow file.
Open the imported workflow. If you do not want order tags, delete the Add order tags action. If another Rebuy post-purchase flow on your store can offer a product whose variant title matches one of your upgrade tags, add
rebuyEvent.rebuyFlowIdis equal to your upgrade flow's ID to the Condition.Click Turn on workflow.
The imported workflow tags customers with the title of the placeholder variant they accept, so a placeholder variant titled Quarterly still produces the tag Rebuy:Upgrade_to_Quarterly.








