· Giraffe · Shopify vs WooCommerce, part 3

Changing checkout

Sooner or later every store wants checkout to follow its own rules. Free express shipping over a certain cart total. No courier delivery to P.O. boxes. Local pickup only for certain products. The two platforms handle this in very different ways.

WooCommerce: hooks, and anything goes

WooCommerce is built on WordPress's system of hooks: points where any plugin, or a few lines in your theme, can step in and change what happens. Shipping is a good example. Before rates are shown, WooCommerce passes them through a filter called woocommerce_package_rates, and your code can add, remove, rename or reprice any of them:

add_filter( 'woocommerce_package_rates', function ( $rates, $package ) {
    // Your rules here: any PHP, any data, any logic.
    return $rates;
}, 10, 2 );

That's real power. It also means every installed plugin can do the same thing to the same rates, in an order that isn't always obvious. When two plugins disagree about shipping, working out which one won is part of your job.

Shopify: Functions, inside a sandbox

Shopify doesn't let apps run code on its servers in the usual way. Checkout logic goes through Shopify Functions instead: small programs, compiled to WebAssembly, that Shopify runs itself under strict time and size limits. Each kind of Function is allowed to do specific things. A delivery customisation can hide, rename or reorder shipping options. A discount Function can make shipping free.

You can't do anything this way. But what you can do is reliable:

Which model is better?

If your checkout needs something truly unusual, WooCommerce will let you build it, and Shopify may not. For the rules most stores actually want (thresholds, exclusions, regions, product tags), Shopify's limits hardly matter, and not having to maintain anything is worth a lot.


This is the problem Giraffe Shipping was built for: write shipping rules for Shopify checkout in plain terms, with no code and no theme edits, and checkout follows them on every order.

Next: Shopify apps vs WooCommerce plugins.