Understanding selling plan IDs

Selling plan IDs are not stable identifiers and may change at any time. If your integration relies on hard-coded selling plan IDs, it may break if these IDs update.

This guide explains why selling plan IDs change, and what methods to use instead.


Why selling plan IDs change

Selling plan IDs can change as part of normal sync behavior between Recharge and Shopify.

This may occur when you:

  • Update a product in Shopify (variants, pricing, publish state)
  • Modify a selling plan (name, frequency, configuration)
  • Trigger a sync between Recharge and Shopify

During these updates, Shopify may generate new selling plan IDs. Recharge then syncs and stores those updated IDs.

What can go wrong

Hard-coding selling plan IDs can cause:

  • Add-to-cart failures
  • Missing or incorrect subscription options
  • Broken purchase flows

These issues can occur without warning when IDs change.


Recommended approach

Do not hard-code selling plan IDs.

Instead, always retrieve selling plans dynamically at runtime. When selecting a selling plan, use its attributes (e.g., name or interval) rather than relying on a specific ID.