A lot of companies are starting to offer Route insurance to their customers, and Route has a plugin for WooCommerce. However, Route has chosen to do what some would consider unethical – for the insurance to be on by default.

Now, Route does have a toggle in their control panel on their site to turn this off – but, to make things even more frustrating and shady, when you attempt to turn it off, it doesn’t turn it off. This is by design. Rather, Route says they will contact you in 5-10 business days! Really!? The problem gets worse. Route never contacts their customers – possibly hoping that they will forget?

This presents a number of problems. First, it will piss off your customers if they don’t see they are buying something extra. Especially on large orders. Customers don’t like feeling like they were tricked into buying something. Second, it brings up legal issues in a number of states where Route is essentially opting customers into binding arbitration without their consent. Many states require an active click by a customer. This is never a good practice to have something clicked which obligates someone legally.

The solution? Well, we can override their settings by using the following code. Just add it to your functions.php file. NOTE: This will reset the Route Insurance to “OFF” anytime the customer leaves the checkout page, or reloads it. So, for example, they turn on Route, then go back to shopping, then come back to the checkout. They will now need to turn Route back on.

//turn off route auto-apply
if ( is_plugin_active( 'routeapp/routeapp.php' ) ) {
	add_action('woocommerce_before_checkout_form', 'cart_route_insurance_set_session', 20);
	function cart_route_insurance_set_session() {
			WC()->session->set('checkbox_checked', FALSE );