> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ordergroove.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ordergroove.com/_mcp/server.

# A/B testing your Subscription Manager

You can A/B test different versions of your Subscription Manager — including themes and Cancel Flows — by integrating your own A/B testing platform, such as LaunchDarkly, AB Tasty, or Optimizely. This gives you full control over variant bucketing and experiment configuration while still using Ordergroove's theme system.

The same approach works outside of testing: you can use it to show different Subscription Manager themes for different business cases, even when you aren't running an experiment.

This guide covers setting up the themes, routing customers to the correct variant, and ending the test.

---

## Create the themes you'd like to test

In RC3, go to the [Subscription Manager](https://rc3.ordergroove.com/subscriptions/manager/) page and create the two themes you want to compare. Typically your "A" theme is the control — your live theme — and your "B" theme is the variant, held as a draft. For the variant you can use an existing draft theme, duplicate one of your current themes, or create a new one.

Once you've decided which draft theme is your variant, open it and note the ID in the URL. For a theme editor at `https://rc3.ordergroove.com/subscriptions/manager/68ed0b19937ea0e734b27e34/`, the theme ID is `68ed0b19937ea0e734b27e34`. Your live theme has no ID — `live` appears in the URL instead.

#### Name the variant clearly

Rename your draft theme so it's obvious it's part of a running A/B test. Anyone who opens the theme list later will know not to edit or publish it mid-experiment.

---

## Link customers to the correct variant

With the variant theme ID in hand, find where you currently link customers to the Subscription Manager. The location and URL depend on your eCommerce platform. On Shopify, most merchants have the theme file `ordergroove_subscription_interface_link.liquid`, which links to `/apps/subscriptions/manage/`. If you have the Ordergroove SMI block instead, contact Ordergroove for instructions.

Next, bucket your customers into the "A" and "B" variants. This may mean using a third-party A/B testing platform or writing your own bucketing logic. Either way, make sure the same customer gets the same variant for the duration of their session — either store the assignment in a cookie, or make the bucketing deterministic from a stable customer attribute such as the customer ID.

Once a customer is assigned, point them at the matching theme:

* **"A" customers** keep the existing URL, which loads the live theme: `/apps/subscriptions/manage/`
* **"B" customers** get a `main_theme` query parameter set to the variant theme ID you noted above: `/apps/subscriptions/manage/?main_theme=68ed0b19937ea0e734b27e34`

Here's how that could look on Shopify:

**`ordergroove_subscription_interface_link.liquid`**

```liquid title="ordergroove_subscription_interface_link.liquid"
{% if customer %}
  {% assign random_seed = 'now' | date: '%N' %}
  {% assign bucket_check = random_seed | modulo: 2 %}

  {% if bucket_check == 0 %}
    {% assign subscription_url = '/apps/subscriptions/manage/' %}
  {% else %}
    {% assign subscription_url = '/apps/subscriptions/manage/?main_theme=68ed0b19937ea0e734b27e34' %}
  {% endif %}

  <p>
    <a href="{{ subscription_url }}"
       class="btn btn--small">
      Manage Your Subscriptions
    </a>
  </p>
{% endif %}
```

#### This example doesn't persist assignments

The bucketing above is non-deterministic — it re-rolls on every page load, so the same customer can land in a different variant each visit. That will skew your results. Replace it with cookie-backed or attribute-based bucketing before running a real test.

---

## Finish your A/B test

When the test is over, restore your Subscription Manager link to what it was before. Removing the `main_theme` parameter sends everyone back to the live theme.

If the variant won, [publish it from the Theme Editor](/lifecycle/sm/theme-editor) before you remove the parameter. Publishing makes that theme live and converts the previous live theme into a draft, so every customer gets the winning experience from the unmodified link.