Product Swap
Automatically replace products in subscriptions based on rules you define.
Available on Large Business plans and above. Product Swap automatically replaces products in subscriptions based on rules you define. This keeps subscriptions active even when products are unavailable.
Rule types
| Type | When it triggers | Use case |
|---|---|---|
Out-of-stock swap (oos_swap) | When the source variant's Shopify inventory drops to or below a configurable threshold (default: 0) | Automatically switch to an alternative product when stock runs low |
Seasonal rotation (seasonal_rotation) | During a defined date range (start date → end date) | Swap to seasonal variants on a schedule (e.g., holiday flavors) |
Discontinuation (discontinuation) | When manually triggered | Transition all subscribers off a discontinued product to a replacement |
How swaps work
- PricePilot checks each active swap rule against your current inventory and schedule.
- For each matching rule, it identifies all subscriptions that contain the source variant.
- The source variant is replaced with the target variant in each subscription via the Recharge API.
- If Klaviyo notifications are enabled for the rule, customers are notified of the swap.
Fallback targets
For out-of-stock rules, you may 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 sufficient stock. If no target has inventory above the threshold, the swap is skipped entirely.
You can add, remove, and reorder fallback variants from the rule form.
Price strategies
Each rule includes a price strategy that controls how the subscription price is handled after the swap:
| Strategy | Behavior |
|---|---|
| Use target price (default) | The subscription price changes to the target variant's Shopify price |
| Keep source price | The subscription price stays the same — useful when the replacement is a similar product at a different price point |
| Custom adjustment | The target variant's Shopify price plus a custom delta (use negative values for discounts) |
Auto-revert
Out-of-stock rules can be configured to automatically revert when the original variant comes back in stock. When enabled:
- PricePilot checks for revert candidates every 4 hours.
- A swap may be 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 help you control the pace and volume of swaps:
- Max executions per cycle: Caps the number of subscriptions a single rule can swap per evaluation run. Useful for gradual rollouts.
- Cooldown hours: A quiet period (in hours) after a rule fires before it can run again. Prevents the same rule from repeatedly swapping in rapid succession.
Dry-run mode
Before applying swaps, you can preview the impact using a dry run. The dry run shows:
- Which subscriptions would be affected
- The source and target variants
- The number of customers impacted
- A per-rule breakdown of matched subscriptions
No changes are made during a dry run — it's purely informational. You may 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 creating swap rules, PricePilot stores human-readable product and variant names alongside the variant IDs. These labels are displayed in the rules list and execution history for easy reference.
Customer notifications
When Klaviyo is configured, PricePilot can send notification events for swaps:
- 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. You can use these in Klaviyo to trigger email flows notifying customers about the change.
Statistics
The Product Swap dashboard displays key metrics:
- Active rules: Number of currently enabled swap rules
- Executions (24h / 7d): How many swaps were processed recently
- Failures (7d): Failed swap attempts — review the Executions tab if this is non-zero
- Last execution: Timestamp of the most recent swap run
Execution history
Every swap is logged with status tracking:
- Pending: Swap identified but not yet processed
- Applied: Successfully swapped in Recharge
- Failed: Swap attempt failed (error details stored)
- Reverted: Swap was reversed (either by auto-revert or a subsequent rule)
- Dry run: Result of a dry-run preview
For reverted executions, the history shows the link between the original swap and the revert. View execution history from the Executions tab in the Product Swap section.
Swap rules are evaluated automatically every 4 hours.