Free Ride for Craft CMS

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.

  1. Go to Free Ride → Rules and press New rule.
  2. Give it a Name — "Free over $50" — and let the Handle fill itself in.
  3. Under What this rule does, choose Offer a free shipping method.
  4. Set a Customer-facing name if you want something other than the plugin's default, Free Shipping.
  5. On the Conditions tab, add Item Subtotal, set it to is greater than or equal to, and enter 50.
  6. 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 wantMode
A separate $0 option at checkoutOffer 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 spendBlock 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.