> ## Documentation Index
> Fetch the complete documentation index at: https://docs.smartwpplugins.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Requirements, installing either build, and what happens on activation

export const Media = ({kind = 'Screenshot', children}) => <div style={{
  display: 'flex',
  flexDirection: 'column',
  alignItems: 'center',
  justifyContent: 'center',
  gap: '0.5rem',
  textAlign: 'center',
  padding: '2.75rem 1.5rem',
  margin: '1.5rem 0',
  border: '1.5px dashed #b4c0d4',
  borderRadius: '0.75rem',
  background: 'rgba(148, 163, 184, 0.07)'
}}>
    <span style={{
  fontSize: '1.5rem',
  lineHeight: 1
}}>
      {kind === 'Video' ? '▶️' : '🖼️'}
    </span>
    <span style={{
  fontSize: '0.75rem',
  fontWeight: 700,
  letterSpacing: '0.08em',
  textTransform: 'uppercase',
  color: '#64748b'
}}>
      {kind} pending
    </span>
    <span style={{
  fontSize: '0.875rem',
  color: '#64748b',
  maxWidth: '34rem'
}}>
      {children}
    </span>
  </div>;

export const Pro = () => <span style={{
  display: 'inline-flex',
  alignItems: 'center',
  verticalAlign: 'middle',
  fontSize: '0.68em',
  fontWeight: 700,
  letterSpacing: '0.07em',
  lineHeight: 1,
  padding: '0.32em 0.55em',
  borderRadius: '0.3em',
  background: '#f5b301',
  color: '#2b2000',
  marginLeft: '0.4em',
  textTransform: 'uppercase'
}}>
    Pro
  </span>;

## Requirements

|             | Minimum |
| ----------- | ------- |
| WordPress   | 6.5     |
| WooCommerce | 8.0     |
| PHP         | 7.4     |

Tested up to WordPress 7.1. CartPresets supports High-Performance Order Storage, and works with both the classic and block-based cart and checkout.

WooCommerce Subscriptions is optional. With it, presets can contain subscription products and you get control over how far a discount reaches into renewals — see [Subscriptions](/cartpresets/building/subscriptions).

## Installing the free build

Search for **CartPresets** under **Plugins → Add New**, install, and activate. Or download the zip and upload it under **Plugins → Add New → Upload Plugin**.

## Installing Pro<Pro />

Pro ships as a separate zip from your purchase email or account area.

<Steps>
  <Step title="Deactivate and delete the free build, if you have it">
    Your presets and settings live in database tables, not in the plugin folder, so deleting the free build does not touch them. Leave the uninstall cleanup options alone — they are opt-in and off by default, but check before you delete.
  </Step>

  <Step title="Upload the Pro zip">
    **Plugins → Add New → Upload Plugin**, choose the zip, install, activate.
  </Step>

  <Step title="Activate your licence">
    **Cart Presets → License**, paste the key from your purchase email, and click Activate. See [Licence and updates](/cartpresets/licence).
  </Step>
</Steps>

<Warning>
  Run one build at a time. If both are active, the second to load refuses to start and says so, rather than letting two copies fight over the same tables.
</Warning>

<Media>The Plugins screen with CartPresets Pro active and the licence notice above it</Media>

## What activation does

Activation creates four database tables, carrying your site's table prefix:

| Table                      | Holds                                                          |
| -------------------------- | -------------------------------------------------------------- |
| `cartpresets_presets`      | One row per preset — name, slug, status, dates, caps, settings |
| `cartpresets_items`        | The items inside each preset                                   |
| `cartpresets_redemptions`  | One row per claim, for purchase limits                         |
| `cartpresets_slug_history` | Old slugs, so renamed links keep working for 30 days           |

It also registers the `/preset/` rewrite rule and flushes permalinks once.

No settings are written at activation. Everything falls back to its shipped default until you save the settings screen for the first time, which means a fresh install and a reset install behave identically.

## Moving between builds

Both builds read and write the same tables, so switching either way migrates nothing and loses nothing.

**Free to Pro.** Your existing presets are untouched. Any Pro setting you were never able to reach is still at its default, ready to set.

**Pro to free.** Your presets, items and settings stay exactly as they are. The Pro controls stop being editable, and your stored answers stay on the record — reinstalling Pro turns them back on rather than asking you to set them up again.

Two things stop *applying* rather than staying on, because leaving them running would be worse:

* **An automatic coupon** is no longer applied. A discount you can no longer see or switch off would keep discounting orders.
* **Custom items** are not added to the cart. They stay with the preset and come back if you upgrade, and the editor marks them so rather than quietly pricing something the cart will drop.

A schedule already set and a cap already filled are still honoured. Those switch a link **off**, and moving to the free build must not put a link back on sale that your own schedule or cap had stopped.

## Uninstalling

Deleting the plugin removes nothing by default — not your presets, not your settings, not the carrier product. Each category has its own opt-in switch under **Settings → Data control**. See [Data and uninstall](/cartpresets/settings/data-and-uninstall).
