Installation
Requirements
- Craft CMS 5.3 or later
- Craft Commerce 5.0 or later
- PHP 8.2 or later
Free Ride works on Commerce Pro and Enterprise alike. Commerce 5 has no Lite edition, so there is no edition gate on shipping methods to worry about.
Install
composer require justinholtweb/craft-freeride
php craft plugin/install freeride
Or find Free Ride in the Craft Plugin Store and install it from there.
Free Ride is free. There are no editions, no paid tier, and nothing held back.
Nothing changes until you say so
Installing Free Ride creates one empty table and no rules. Until you add a rule, every cart is charged exactly what Commerce would have charged it, and the progress API has nothing to say.
Your first rule
The classic one: free shipping over $50.
- Go to Free Ride → Rules and press New rule.
- Give it a Name — "Free over $50" — and let the Handle fill itself in.
- Under What this rule does, choose Offer a free shipping method.
- Set a Customer-facing name if you want something other than the plugin's default, Free Shipping.
- On the Conditions tab, add Item Subtotal, set it to is greater than or equal to, and
enter
50. - Save. The rule is enabled by default.
Add something to a cart worth $50 and a Free Shipping option appears at checkout at $0,
alongside your paid methods. Under $50, it doesn't — and
{{ craft.freeride.message() }} says how much more the customer needs to spend.
Before you trust it on a live store, open Free Ride → Simulator, paste in a cart number, and read the decision. See Usage.
Which mode do I want?
| You want | Mode |
|---|---|
| A separate $0 option at checkout | Offer a free shipping method |
| The method they already chose to cost $0 — "free express over $200" | Waive the cost of the chosen method |
| Certain orders never to get free shipping, whatever they spend | Block free shipping |
Usage covers how the three interact.
Multi-store installs
Rules belong to a store. The Rules screen shows one store at a time, and each store gets its own ordered list — a policy for your US store and a different one for your EU store, without one leaking into the other.
Moving rules to production
Rules live in the database, not project config — the same call Commerce makes for its own shipping
methods and rules — so they don't deploy with project.yaml. Export them from one environment and
import them into the next:
php craft freeride/rules/export --file=rules.json
php craft freeride/rules/import --file=rules.json
See Configuration for what that does and doesn't carry across.