Free for Craft Commerce 5
Free shipping, on your terms
Commerce can price shipping conditionally. Free Ride handles the free shipping offer itself: one ordered list of rules, the conditions stores actually use, and a cart that can say "$12.00 more for free shipping" and be right about it.
Progress that tells the truth
A cart is only "$12 away" when every other condition on that rule already passes. A cart shipping somewhere the rule excludes isn't $12 away from anything, so it's told nothing rather than something wrong.
{% set progress = craft.freeride.progress() %}
{% if progress.eligible %}
<p>{{ progress.message }}</p>
{% elseif progress.isAchievable %}
<p>{{ progress.message }}</p> {# Spend $12.00 more for free shipping #}
<progress value="{{ progress.percent }}" max="1"></progress>
{% endif %}
Features
Three things a rule can do, one list that decides between them, and a trace of every decision.
Offer it, waive it, block it
A rule can put a $0 method on the checkout, drop the cost of the method the customer chose to $0, or veto free shipping for the order entirely.
- "Free express over $200" without duplicating the express method
- Optionally hide the paid methods while free shipping applies
One list, read top to bottom
Blocking rules run first and veto everything after them. Then the granting rules, in order. "Free over $75, never on canoes, free express over $200" is three rules on one screen.
The conditions stores ask for
Every order condition Commerce has, plus postal codes with wildcards and ranges, country and state, cart product types (any, only or none), related items, largest dimension, distinct items, day of week and time of day.
- Customer conditions, date windows and per-site targeting
- Rules belong to a store, so every store gets its own policy
A simulator that can't disagree
Give it an order or cart number and it shows which rule matched, or exactly which condition failed, and what the customer would pay. It reads the same evaluation checkout uses.
Taxed correctly
The waiver runs directly after Commerce's shipping adjuster and before tax, so a customer is never taxed on shipping they weren't charged for.
Moves between environments
Rules live in the database, the same choice Commerce makes for its own shipping rules. Export them to JSON and import them elsewhere. Matching handles are updated, not duplicated.
Free Ride in the control panel
Real screens from a Craft 5 install running Commerce: the ordered rule list, a rule's conditions, and the simulator explaining a decision.
Screenshots from a live install, not mockups.
Frequently Asked Questions
The questions worth answering before you install it.
Yes. No editions, no licence key, no trial.
Commerce can make a shipping rule cost nothing. It can't veto free shipping for an order, waive the method the customer already picked, or tell a cart how far it is from qualifying. Free Ride does all three from one ordered list.
Blocking rules are checked first, and one match stops everything. After that, every matching rule does its job: each matching free-method rule offers its method, and the first matching waiver waives the method the customer picked. The first match in the list decides the progress message and whether paid methods are hidden.
It only reports a distance when exactly one condition on a rule is failing and it's a threshold the customer can cross: spend, quantity or weight. If anything else is in the way, a number would be wrong, so it stays quiet.
Usually. A waiver zeroes the cost of whatever method the customer chose, including methods other plugins register, as long as that method is priced through Commerce's own shipping adjuster. Hiding the paid options runs after every plugin has added its methods. A plugin that charges shipping through an adjuster of its own, after Commerce's, is out of a waiver's reach.
No. They're in the database, like Commerce's own shipping methods and rules. Use php craft freeride/rules/export and freeride/rules/import to move them between environments.
Craft CMS 5.3+, Craft Commerce 5.0+, PHP 8.2+.
Free, and it stays free
No editions, no licence key, no trial. Install it, add a rule, and point the simulator at a cart.