MindKlip
PricePilot

Product Swap

Replace products in subscriptions based on rules you define.

Available on Large Business plans and above. Product Swap replaces products in subscriptions based on rules you define, so a subscription keeps renewing when its product is unavailable.

Rule types

TypeWhen it triggersUse case
Out-of-stock swap (oos_swap)When the source variant's Shopify inventory drops to or below a configurable threshold (default: 0)Switch to an alternative product when stock runs low
Seasonal rotation (seasonal_rotation)During a defined date rangeSwap to seasonal variants on a schedule, such as holiday flavors
Discontinuation (discontinuation)When manually triggeredMove every subscriber off a discontinued product to a replacement

How swaps work

  1. PricePilot checks each active swap rule against your current inventory and schedule.
  2. For each matching rule, it identifies all subscriptions that contain the source variant.
  3. The source variant is replaced with the target variant in each subscription via the Recharge API.
  4. If Klaviyo notifications are enabled for the rule, customers are notified of the swap.

Fallback targets

For out-of-stock rules, you can configure a chain of fallback variants in case the primary target is also unavailable. PricePilot checks each fallback in order and uses the first one with enough stock. If no target has inventory above the threshold, the swap is skipped.

You can add, remove, and reorder fallback variants from the rule form.

Price strategies

Each rule has a price strategy that sets the subscription price after the swap:

StrategyBehavior
Use target price (default)The subscription price changes to the target variant's Shopify price
Keep source priceThe subscription price stays the same, which suits a similar product at a different price
Custom adjustmentThe target variant's Shopify price plus a custom delta (use negative values for discounts)

Auto-revert

Out-of-stock rules can revert automatically when the original variant is back in stock. When enabled:

  • PricePilot checks for revert candidates every 4 hours.
  • A swap is considered for revert only after at least 4 hours have passed since it was applied.
  • The source variant's inventory must be above the rule's threshold before a revert occurs.
  • Reverted swaps are logged as a separate execution linked to the original.

Execution safeguards

Two optional settings control the pace and volume of swaps:

  • Max executions per cycle: caps the number of subscriptions a single rule can swap per run. Use it for a gradual rollout.
  • Cooldown hours: a quiet period after a rule fires before it can run again, so one rule cannot swap repeatedly in quick succession.

Dry-run mode

Before applying swaps, preview them with a dry run. It shows:

  • Which subscriptions would be affected
  • The source and target variants
  • The number of customers impacted
  • A per-rule breakdown of matched subscriptions

A dry run makes no changes. Preview all rules at once or a single rule from the Rules tab.

Priority and deduplication

  • Rules are evaluated by priority (lower number = higher priority).
  • Each subscription can only be swapped once per rule evaluation cycle.
  • If a subscription matches multiple rules, only the highest-priority rule applies.

Variant labels

When you create a swap rule, PricePilot stores the product and variant names alongside the variant IDs and shows them in the rules list and execution history.

Customer notifications

When Klaviyo is connected, PricePilot can send an event for each swap:

  • PP Product Swap: sent when a subscription is swapped to a new variant.
  • PP Product Swap Revert: sent when an auto-revert restores the original variant.

Each event includes the source variant, target variant, swap reason, price before and after, and shop identifier. Use them in Klaviyo to trigger an email flow that tells the customer about the change.

Statistics

The Product Swap dashboard shows:

  • Active rules: the number of enabled swap rules
  • Executions (24h / 7d): how many swaps ran recently
  • Failures (7d): failed swap attempts. Check the Executions tab if this is not zero
  • Last execution: when the most recent swap run happened

Execution history

Every swap is logged with a status:

  • Pending: swap identified but not yet processed
  • Applied: swapped in Recharge
  • Failed: the swap failed; the error is stored
  • Reverted: the swap was reversed by auto-revert or a later rule
  • Dry run: the result of a dry-run preview

For reverted executions, the history links the original swap and the revert. View it from the Executions tab in the Product Swap section.

Swap rules are evaluated every 4 hours.

On this page