Oferta SiteGround Black Friday

Deja que sean tus clientes los que decidan el precio

Parece de locos ¿verdad?, ¡dejar que los clientes pongan el precio!, pero en realidad es más sensato de lo que puedas imaginar, hay muchas situaciones en las que podría ser incluso muy rentable dejar que sean tus clientes quienes pongan el precio de tus productos o servicios.

Digamos, por ejemplo, que tienes productos de muy bajo coste, con un stock exagerado, que necesitas liberar de tu almacén, o incluso productos que darías gratis con tal de que se los lleven. O también, que simplemente recibes donativos. Te sorprendería lo generosos que pueden llegar a ser los clientes, pagándote incluso más de lo que imaginabas o habrías puesto tú como precio.

Son muchas las situaciones posibles en las que ofrecer a tus clientes la posibilidad de poner ellos el precio a los productos puede revertir no en pérdida de ganancias, sino en justo lo contrario.

En cualquier caso, si te animas, es fácil de implementar un sistema por el que sean los clientes quienes decidan el precio de los productos.

Que tus clientes pongan su precio para un producto específico

Un modo sencillo de ofrecer esta funcionalidad es probar con algún producto de difícil salida, o al que incluso no sepas qué precio (habitualmente bajo) poner, incluso como experimento. Solo necesitas 2 cosas:

  1. El ID del producto.
  2. Poner el precio del producto elegido a 0 (cero).

El ID del producto puedes verlo fácilmente en el listado de productos.

ver id producto woocommerce

Y el precio, a cero euros, se lo pones tú editando el producto.

datos producto precio cero

Una vez publiques el anuncio, inicialmente se podría encargar por cero euros, totalmente gratis.

producto a precio cero

Pero vamos a aplicarle la magia del código para que el cliente pueda ponerle el precio que él quiera:

 /* Permitir al cliente poner su precio al producto con ID 7814 */
add_action( 'woocommerce_before_add_to_cart_button', 'ayudawp_caja_poner_precio', 9 );
function ayudawp_caja_poner_precio() {
global $product;
if ( 7814 !== $product->get_id() ) return;
woocommerce_form_field( 'set_price', array(
'type' => 'text',
'required' => true,
'label' => 'Pon tu precio ' . get_woocommerce_currency_symbol(),
));
}
add_filter( 'woocommerce_add_to_cart_validation', 'ayudawp_validacion_caja_poner_precio', 9999, 3 );
function ayudawp_validacion_caja_poner_precio( $passed, $product_id, $qty ) {
if ( isset( $_POST['set_price'] ) && sanitize_text_field( $_POST['set_price'] ) == '' ) {
wc_add_notice( 'Tienes que ponerle un precio, el que quieras', 'error' );
$passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_cart_item_data', 'ayudawp_datos_carrito_poner_precio', 9999, 2 );
function ayudawp_datos_carrito_poner_precio( $cart_item, $product_id ) {
if ( 7814 !== $product_id ) return $cart_item; 
$cart_item['set_price'] = sanitize_text_field( $_POST['set_price'] );
return $cart_item;
}
add_action( 'woocommerce_before_calculate_totals', 'ayudawp_alterar_precio', 9999 );
function ayudawp_alterar_precio( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return;
foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
if ( 7814 !== $product->get_id() ) continue;
$cart_item['data']->set_price( $cart_item['set_price'] );
} 
}

El código anterior, una vez guardado en tu archivo o plugin de funciones, mostrará una caja en la que, ahora sí, el cliente podrá elegir su precio.

producto precio cero pon tu precio

Que se añadirá al carrito con el precio elegido, para que pueda pagarlo por ese mismo importe.

producto precio cero pon tu precio en el carrito

En el código solamente tienes que cambiar el ID del producto de ejemplo por el del producto que tú hayas decidido ofrecer mediante esta estrategia de precio cero + pon tu precio.

¡Pruébalo, seguro que tus clientes te sorprenden gratamente! Ayuda hacer como en el ejemplo, poniendo un precio anterior bastante alto, para que casi cualquier precio que propongan les parezca que se están llevando una ganga.

Eso sí, debes estar también dispuesto a darles el producto por incluso cero euros, pues el código admite cualquier cantidad, también 0.

Que tus clientes pongan precio o hagan donaciones ampliamente

Otra posibilidad, para los que no gusten de códigos, es usar un plugin como Name Your Price, pensado inicialmente para webs de donativos, pero que puedes igualmente utilizarlo en cualquier situación.

Eso sí, aquí hay muchas más opciones. Para empezar, puedes crear reglas para categorías de productos completas, decidiendo el precio mínimo, incluso un precio máximo y uno sugerido, totalmente opcionales.

regla name your price woocommerce

O, si lo prefieres, puedes no crear reglas para categorías completas y decidir producto a producto, Simplemente editando un producto y especificando que sea un producto del tipo «Name your price».

editar producto name your price

Que se verá de este modo, una vez configurado a tu gusto…

producto woocommerce name your price

 

El plugin Name Your Price ofrece algunas posibilidades adicionales, pero no descartes la opción mediante código vista antes, si te sirve para tus objetivos.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.9 / 5. Total de votos: 7

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

4 comentarios en “Deja que sean tus clientes los que decidan el precio”

  1. Me parece una buena idea, Fernando, que los clientes pongan el precio. En la opción de usar el código, si en lugar de a un sólo producto se aplica a varios, ¿habría que repetir el código para cada ID de producto o bastaría con escribir los ID de cada producto en el mismo código?

    Saludos
    Jesús

  2. Jesús, el código del artículo de Fernando sólo sirve para un único ID de producto (tanto simple como variable). Poner más de uno provocará un error en la web. Ignoro si con alguna modificación en el código se podrán incluir varios ID de producto.
    Fernando: Tras realizar una prueba del código con un ID de producto virtual y pago de cero euros, el pedido se queda en estado PROCESANDO y no permite al cliente realizar la descarga del producto virtual, ya que sólo se puede realizar la descarga cuando el administrador cambie manualmente el estado a COMPLETADO. Lo cual genera un doble problema: para el cliente que puede sentirse engañado y para el administrador que tiene que estar pendiente para realizar el cambio de estado de cada pedido en el que el pago sea cero euros.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio