By default with WooCommerce, customers will be presented with a shipping option as part of checkout and be allowed to select “Free Shipping” if it’s available on their order.
Free Shipping could be available because they’ve reached over a certain basket or order value for example.
The actual behaviour you’d like is for WooCommerce to Automatically select the free shipping option if it’s available.
Of course there are code solutions for this, but we’re fans of well written plugins for WooCommerce and WordPress store owners.
Here’s a plugin that will help you hide other paid shipping options when free shipping is available in WooCommerce