# Theme and app compatibility

> Which themes AndOr works with, what the cart drawer needs, how AndOr works next to other apps, and the known limits.

Source: https://backtrackhq.com/docs/resources/compatibility/

AndOr has two parts, and each has its own needs:

- **Checkout rules** run inside Shopify's checkout. They don't depend
  on your theme.
- **Storefront widgets and upsell offers** are theme blocks. They
  depend on your theme for where they go and for the cart drawer.

## Shopify plans

| | Works? |
| --- | --- |
| All Shopify plans except Shopify Starter | Yes. You don't need Shopify Plus, not even to hide express payment methods. |
| Shopify Starter | No. |
| Shopify Plus | Yes. Two conditions need Plus, and say so in their name. See [Conditions that need Shopify Plus](https://backtrackhq.com/docs/rules/limits/#conditions-that-need-shopify-plus). |

Rules run on Shopify's standard one-page checkout, with nothing extra
to turn on. See [Which stores can use rules](https://backtrackhq.com/docs/rules/limits/#which-stores-can-use-rules).

## Themes

| Theme | Widgets | Cart drawer and instant updates | More |
| --- | --- | --- | --- |
| **Horizon** | Yes, as app blocks in the theme editor | Horizon 4.0 or later | [Horizon](https://backtrackhq.com/docs/themes/horizon/) |
| **Free themes built on Horizon** (Fabric, Tinker and others) | Yes, as app blocks | At their latest version | [Horizon](https://backtrackhq.com/docs/themes/horizon/) |
| **Dawn** | Yes, as app blocks in the theme editor | Dawn 15.5 or later | [Dawn](https://backtrackhq.com/docs/themes/dawn/) |
| **Free themes built on Dawn** (Sense, Refresh and others) | Yes, as app blocks | At their latest version | [Dawn](https://backtrackhq.com/docs/themes/dawn/) |
| **Other Online Store 2.0 themes** | Yes, where a section accepts app blocks. Use [one-line tags](https://backtrackhq.com/docs/developers/one-line-tags/) where it doesn't. | Only if the theme sends Shopify's `shopify:cart:view` and `shopify:cart:lines-update` events. Most paid themes don't yet. | [Custom themes](https://backtrackhq.com/docs/developers/custom-themes/) |
| **Vintage themes** (Debut, Brooklyn) | One-line tags, card recipes and the app embed. No app blocks. Not tested on a real vintage theme. | No, and no live updates without a reload | [Vintage themes](https://backtrackhq.com/docs/themes/vintage/) |

> **Caution:** App blocks need an Online Store 2.0 theme. On a vintage
> theme, turn on the app embed and paste one-line tags.

**Why the cart drawer needs a recent theme:** apps can't place a block
inside a cart drawer. AndOr fills the drawer when the theme says the
drawer opened, with Shopify's storefront cart events. Horizon 4.0+ and
Dawn 15.5+ send them. Older themes and many custom themes do not. If
your theme doesn't send them, the drawer shows no AndOr widgets. The
widgets on the page still work. See
[Cart drawer](https://backtrackhq.com/docs/developers/custom-themes/#cart-drawer).

**Instant cart updates:** some themes don't send Shopify's cart
events. On those, the goal bar and the pickers update when the page
reloads, not the moment a shopper changes the cart.

The full list of what needs what is on
[Theme requirements](https://backtrackhq.com/docs/get-started/theme-requirements/).

**The app embed:** turn on **AndOr Discount Display** once per theme.
If you change or publish a new theme, turn it on there too. See
[App embed](https://backtrackhq.com/docs/widgets/app-embed/).

## Other apps

- **Discounts from other apps:** AndOr can't read them, so widgets
  can't show them. Discounts made in Shopify can show. See
  [Show discounts you already have](https://backtrackhq.com/docs/widgets/show-existing-discounts/).
- **Function limits:** Shopify allows at most 25 active functions of
  each type on a store, shared with every app. If other apps use some,
  fewer are left for AndOr. See
  [How many rules you can run](https://backtrackhq.com/docs/rules/limits/#how-many-rules-you-can-run).
- **Analytics:** Shopify's own discounts and other apps' discounts
  don't count toward AndOr's numbers. See
  [How we count](https://backtrackhq.com/docs/analytics/how-we-count/).

## Subscriptions

- Rules can check **Cart has subscription item** and **Cart has no
  subscription item**. See [Condition reference](https://backtrackhq.com/docs/building-rules/condition-reference/).
- Discount rules have subscription settings, for example **Applies on
  subscription** and a **Recurring cycle limit**. See
  [Product discount](https://backtrackhq.com/docs/rules/product-discount/).
- A discount for subscription purchases only can't show on the
  storefront. A product page can't tell a subscription shopper apart.
  See [Widgets not showing](https://backtrackhq.com/docs/help/widgets-not-showing/).

## Known limits

- Rules don't run in Shopify POS, and payment rules can't change
  methods inside Shop Pay. See [Where rules don't run](https://backtrackhq.com/docs/rules/limits/#where-rules-dont-run).
- Payment methods with a logo as their name can't be renamed. See
  [Payment method limits](https://backtrackhq.com/docs/rules/limits/#payment-method-limits).
- Some discounts can't show on the storefront, for example ones with
  conditions or a maximum discount amount. See
  [Widgets not showing](https://backtrackhq.com/docs/help/widgets-not-showing/).
- The goal bar only counts the cart subtotal, and only shows automatic
  discounts. See [What the goal bar needs](https://backtrackhq.com/docs/widgets/goal-bar/#what-it-needs-to-appear).
- Shopify never discounts gift cards, so no widget shows on them.

For every checkout limit, see [Limits](https://backtrackhq.com/docs/rules/limits/).
