Enrique J. Ros

Precios diferentes según el tipo de cliente en WooCommerce

Una consulta recurrente en lo que respecta a WooCommerce es poder mostrar precios diferentes según el tipo de cliente.

Son varios los escenarios en los que esto es útil: un mismo ecommerce que vende tanto a distribuidores como a clientes finales, la necesidad de mostrar distintos precios en función del nivel de compras del cliente o, incluso, ocultar el precio a los visitantes que no sean clientes o a cualquiera de los tipos de clientes existentes.

Distintos precios según el rol de usuario

En realidad hacerlo no es complicado, y menos aún sabiendo ya cómo crear, editar y gestionar los roles de usuario en WordPress y en WooCommerce, algo que hemos ido viendo en diversos artículos:

Porque sí, lo has adivinado: vamos a hacer uso de los roles de usuario y sus diferentes capacidades para poder configurar diferentes precios que se mostrarán a distintos tipos de clientes. Pero no te preocupes porque no vamos a necesitar ensuciarnos demasiado, ya que la mayor parte del trabajo nos lo dará hecho un plugin. Y además gratuito.

WooCommerce Role Based Price

Actualización 2022: El plugin WooCommerce Role Based Price ha sido eliminado del repositorio. La alternativa es Role Based Pricing for WooCommerce.

Se trata del plugin WooCommerce Role Based Price, un plugin que sirve precisamente para eso, y que entre otras cosas nos va a permitir:

Y más cosas, que vamos a ir viendo en este artículo.

Creando los tipos de cliente

El uso de este plugin es bastante sencillo e intuitivo. Lo primero que necesitamos es, obviamente, crear los distintos tipos de clientes en función de los tipos que queramos manejar. Si no sabes cómo hacer esto puedes echar un vistazo a este artículo en el que explico cómo hacerlo.

Como todos ellos van a ser clientes y no necesitarán capacidades adicionales, puedes crearlos utilizando como base el rol por defecto de WooCommerce, Customer.

Si, por ejemplo, vas a vender tanto a clientes como a distribuidores, puedes duplicar el rol Customer (cliente) y renombrarlo como distribuidor. Con ello ya tienes los dos roles necesarios con los que trabajar: en este ejemplo, mostrarías a Customer los precios de venta al público, mientras que Distribuidor vería los precios para mayoristas.

Configurando los tipos de cliente

Ya he dicho que usar este plugin es muy sencillo. Al activarlo aparecerá una nueva pestaña en WooCommerce > Ajustes llamada, precisamente, WooCommerce Role Based Pricing.

En ella encontramos cuatro apartados, como puedes ver en la imagen:

De ellas nos van a ser especialmente útiles el primero y el tercero. El apartado User Role Rename sólo sirve, como su propio nombre indica, para poner nombres alternativos a los roles de usuario (puedes aprovechar y cambiar Customer por Cliente o cualquier otro que te guste más, si quieres), de forma que puedas usar estos nombres como un alias. El último apartado (Plugins), por el contrario, es para el uso de add-ons premium.

General

Comencemos entonces por la configuración general. En ella vemos dos opciones: Allowed User Roles y Allowed Product Pricing. En la primera incluiremos los roles a los que el plugin tendrá acceso, mientras que en la segunda los precios (normal/rebajado) que podremos variar en función del rol.

No te preocupes si te cuesta seguir la explicación. En seguida vamos a ver un ejemplo real con un vídeo, así que no vas a tener ningún problema. 🙂

Price Visibility

En este apartado podemos configurar a qué roles queremos ocultar (si es que queremos hacerlo) los precios y/o el botón de Añadir al carrito. Puedes ocultarlo no sólo a clientes, sino también a los visitantes que no tengan cuenta seleccionando el rol Visitor/Logged out users.

Si vas a ocultar precios a alguno de los roles, recuerda decirle al plugin qué tipos de productos son los que no quieres que muestren el precio (simples y/o variables) en el apartado Products To Hide. Si ahí no seleccionas nada, las anteriores opciones (ocultar los precios y ocultar el botón Añadir al carrito) no tendrán efecto.

Por último, también puedes configurar cómo deberían comportarse los productos variables ante los roles a los que estás ocultando datos: si mostrar o no mostrar las variaciones.

Configurando los precios

Una vez hecho esto, ya está todo listo. Desde este momento cuando vayas a la página de edición del producto verás, bajo las casillas para introducir el precio, un botón que dice Add / Edit Role Pricing. Al pulsarlo se abre una ventana modal que te mostrará los distintos roles habilitados y los respectivos campos de introducción de precio.

Atento al interruptor que activa y desactiva el precio según roles de usuarios arriba del todo, junto a la frase Enable Role Based Pricing. Por defecto está desactivado (en gris) y puede pasar desapercibido. Si no lo activas no se mostrarán los precios según rol.

Vídeo: distintos precios según el tipo de cliente en WooCommerce

Como mejor puedes ver el proceso completo es mediante un vídeo en el que muestro la configuración completa, de principio a fin, combinando los dos escenarios más comunes en este tipo de casos:

Para que no sea muy largo haré el ejemplo haciendo ambas cosas a la vez, es decir, los usuarios no registrados no podrán ver precios, y los clientes registrados verán precios distintos en función de si son clientes finales o distribuidores.

Conclusión

Ya has visto qué útil y flexible es el uso de los roles de usuario en WooCommerce, que nos permite hacer cosas como éstas. Si tienes cualquier duda, consulta o pregunta, ya sabes que tienes a tu disposición tanto los comentarios como el formulario de contacto.

Salir de la versión móvil