Skip to main content

How to Upgrade Skio Subscriptions to a Longer Frequency with Rebuy Post-Purchase Offers

A workaround to upgrade Skio subscribers to a longer delivery frequency using a Rebuy post-purchase offer, Shopify Flow, and a Skio Journey.

Written by Tom

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:


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.

  1. In your Shopify admin, open your subscription product.

  2. 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.

  3. In Skio, attach each frequency variant to its matching Skio selling plan group.

  4. 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.

  5. Save the product.

Skio subscription upgrade, Shopify subscription product with a Frequency option and one variant for each delivery frequency, such as Monthly, Quarterly, and Annually, each attached to a matching Skio selling plan

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.

Skio subscription upgrade, $0 placeholder product in Shopify with one Quarterly variant priced at $0.00, inventory tracking turned off, and the Online Store sales channel selected

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.

  1. 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.

  2. 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.

  3. Add a rule for each other upgrade you offer, for example an IF on the Quarterly variant that returns the Annually placeholder.

  4. 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.

  5. Save the widget.

Skio subscription upgrade, Rebuy post-purchase data source rule where IF Product Contains Any the Monthly variant returns the Quarterly $0 placeholder product

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.

  1. 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.

  2. Choose the Skio subscription upgrade widget as the flow's offer and click Save.

  3. On the Post-Purchase Flows page, toggle the flow to active.

  4. 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.

  5. 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.

Skio subscription upgrade, Rebuy Post-Purchase Flows page showing the active 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.

  1. In your Shopify admin, click Apps > Flow, then click Create workflow.

  2. Click Select a trigger, choose Rebuy Personalization Engine, and select Rebuy Post Purchase Event.

  3. Add a Condition that checks rebuyEvent.eventType is equal to OFFER_ACCEPTED. In the workflow editor, the condition reads Rebuy event event type is equal to OFFER_ACCEPTED.

  4. 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.

  5. Under Add customer tags, add a Wait action set to 24 hours, then a Remove customer tags action with the same tag value.

  6. 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.

  7. Click Turn on workflow.

Skio subscription upgrade, Shopify Flow workflow that adds the customer tag Rebuy:Upgradeto plus the variant title when a Rebuy post-purchase offer is accepted, waits 24 hours, then removes the tag, with an optional order tag on a separate branch

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:

  1. Trigger: after an order is completed, followed by a delay of 1 hour.

  2. 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.

  3. 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.

  4. Keep the Skio Journey delay under 24 hours, since the Shopify Flow workflow removes the tag 24 hours after the customer accepts.

Skio subscription upgrade, Skio Journey that waits 1 hour after an order, checks for the Rebuy:Upgrade_to_Quarterly customer tag, then swaps the variant with quantity 1, changes the shipping interval, and removes the $0 placeholder

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.

  1. 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.

  2. Accept the upgrade offer on the post-purchase page.

  3. 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.

  4. 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 OFFER_ACCEPTED matches exactly, and so does the Rebuy post-purchase flow ID if you added that check.

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

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.eventType is equal to OFFER_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:

  1. Download the skio-subscription-upgrade-shopify-flow.flow file attached below this section.

  2. In your Shopify admin, click Apps > Flow.

  3. On the Workflows page, click Import and select the skio-subscription-upgrade-shopify-flow.flow file.

  4. 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.rebuyFlowId is equal to your upgrade flow's ID to the Condition.

  5. 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.

Did this answer your question?