Cupones descuento en WooCommerce a través de la URL

Como ya sabrás, todas las tiendas WooCommerce cuentan con un campo para introducir cupones o códigos descuento tanto en la página del carrito de compra, como en la de pago. Obviamente este campo es vital cuando lanzas promociones basadas en códigos descuento, pero también puede ser motivo de distracción y carritos abandonados.

La razón de esto es muy sencilla. Muchos clientes cuando van a finalizar la compra y ven el campo para canjear un código descuento, sienten la necesidad de aprovecharlo para ahorrarse algo de dinero. El problema de esto es que muchas veces acaban saliendo de la página de pago en busca de códigos descuento y al final terminan abandonando la compra o en el mejor de los casos prefieren retrasarla un tiempo hasta que consigan un nuevo cupón o código descuento.

Pero tranquilo, para evitar que esto ocurra voy a explicarte cómo ocultar ese campo para después aplicar cupones descuento en WooCommerce a través de la URL.

Ocultar el campo de cupones descuento en WooCommerce sin deshabilitar la opción.

Si has navegado un poco por el panel de ajustes de WooCommerce, te habrás fijado que dentro de la pestaña «Finalizar compra» hay un apartado «Cupones» en el que desmarcando la casilla, puedes no sólo ocultar el campo de cupones del formulario, sino también deshabilitar por completo el uso de cupones descuento en tu tienda.

Esta la forma más sencilla de hacerlo si no tienes pensado ofrecer nunca cupones descuento a tus clientes. Pero claro, en el caso que nos ocupa si que queremos seguir usando la opción de cupones descuento, sólo que no queremos que se muestre en la página del carrito, ni en la de pago.

Entonces, ¿cómo lo hacemos?

Pues muy sencillo. Usando el siguiente código snippet. (Si no sabes cómo usar correctamente los códigos snippet en WooCommerce, te recomiendo que leas esto antes).

// Oculta el campo de cupones descuento del formulario
function ocultar_campo_cupones( $enabled ) {
	
        if ( is_cart() || is_checkout() ) {
		$enabled = false;
	}
	
	return $enabled;
}
add_filter( 'woocommerce_coupons_enabled', 'ocultar_campo_cupones' );

Aplicar cupones descuento en WooCommerce enviando una URL a los clientes.

Ya hemos ocultado el campo de los cupones descuento en el formulario del carrito y en el de la página de pago. Ahora es el momento de configurar la URL para aplicar el cupón descuento que hayamos creado en WooCommerce, pero antes es necesario instalar un plugin capaz de procesar los códigos descuento a través de la URL.

Para conseguir eso tienes 2 opciones:

  • Usar el plugin premium URL Coupons de Wootheme. Cuenta diferentes ajustes personalizables desde el panel de cupones de WooCommerce, permitiéndote entre otras cosas: definir URLs únicas, seleccionar los productos y variaciones de productos que se añadirán al carro cuando el cliente haga clic en la URL, definir una página de redirección, etc
  • Usar el plugin gratuito WooCommerce Coupon Links. Es un plugin mucho más simple que el anterior y no permite tanta personalización. De hecho, ni siquiera dispone de interfaz de configuración. Pero lo he probado y puedo asegurar que funciona bastante bien.

En este caso yo te voy a explicar cómo hacerlo con el plugin gratuito WooCommerce Coupon Links.

Para instalarlo simplemente descargar el archivo .zip desde el repositorio de Github. Después accede a tu panel de WordPress y entra en «Plugins > Añadir nuevo«. Para terminar, haz clic en «Subir plugin«, selecciona el archivo .zip, después clic en «Instalar plugin» y por último, clic en «Activar plugin«.

Una vez instalado, no tienes que configurar ningún ajuste. El plugin ya estará listo y operativo.

Para definir la URL con el cupón descuento voy a mostrarte un ejemplo de cómo lo he hecho yo para que el descuento se aplique a un producto en concreto.

La estructura de la URL sería la siguiente:

http://www.tutienda.com/carro/?add-to-cart=ID-PRODUCTO&coupon_code=CÓDIGO-CUPÓN

Lo único que hay que hacer es sustituir el valor «ID-PRODUCTO» por el número de ID del producto y «CÓDIGO-CUPÓN» por nombre del código descuento.

Para identificar el ID del producto en cuestión, simplemente entra en «Productos» y coloca el cursor del ratón encima del producto que te interese. Haciendo eso verás que justo debajo del nombre del producto aparece su valor de ID.

Obtener ID producto WooCommerce

Para este ejemplo he creado también un cupón descuento del 20% del valor del producto y lo he llamado «cinrundesc20«. Por tanto, este sería el aspecto que debería tener la URL final:

http://www.tutienda.com/carro/?add-to-cart=277&coupon_code=cinrundesc20

Con esta configuración, cualquier usuario que visite esa URL irá a parar directamente a la página del carro de compra de tu tienda, con el producto ya añadido y el cupón descuento aplicado.

Aplicar URL cupón descuento WooCommerce

Como ves, el sistema para aplicar cupones descuento en WooCommerce a través de la URL es bastante sencillo y te permite seguir usando cupones descuento en tu tienda sin necesidad de mostrar el campo en el formulario de compra.

Una técnica de venta interesante, aplicada a este caso, podría consistir en enviar alguna campaña de email marketing a tu lista de clientes ofreciéndoles el cupón descuento para un determinado producto, simplemente haciendo clic en el enlace de la URL.

De esta forma haces el trabajo por ellos y aumentas la probabilidad de que cada clic al enlace acabe en compra. Con esta técnica el cliente ya no tiene que preocuparse de introducir ningún cupón, ni tampoco perder tiempo en añadir el producto al carro.

23 comentarios en “Cupones descuento en WooCommerce a través de la URL”

  1. Hola Antonio,

    Tengo un pequeño problema y no se si me podrás ayudar.
    He creado un cupón y me aparece el campo para aplicar el código del cupón pero no puedo meter el código en el campo porque no me deja teclear.
    ¿Como puedo solucionar esto?

    ;Muchas gracias.

  2. Alguna idea de como adaptar ese código para ocultar el campo de cupones SOLO en una de las dos páginas? Carrito o checkout.
    Mi problema es que he unificado las dos y me sale dos veces… Y con tu código se ocultan los dos (como era de esperar).
    Gracias!

  3. Hola! Gracias por tu aporte. Tengo una duda: para enviar un código por correo postal a un usuario (que no se dispone de su email), ¿hay alguna forma de hacer que el usuario cuando se registre e introduzca ese código se le asigne un Rol concreto?
    Ese código (cupón) llevaría un descuento pero no sería acumulable si hay descuentos en la web.
    Alguna solución?

  4. Hola Antonio soy un fiel seguidor de tus consejos.

    Con este plugin me has terminado de enamorar, pero tengo una duda: en el caso de nuestro pequeño ecommerce no utilizamos carrito, si no que utilizamos un checkout directo y este plugin no nos funciona, ¿como habría que variar la url para que funcionase?

    Gracias Antonio

  5. Hola Antonio, muy interesante post. Sabes si hay alguna forma de que un producto que tenemos a precio 0 a través de algún cupón, plugin, etc… se le pueda establecer un precio?. Esto es útil cuando nuestro proveedor no nos deja poner el precio en la web, pero si podemos enviar el precio a clientes a través de mailing , por ejemplo. Gracias

  6. Antonio tu blog me lee el pensamiento!. Gracias por su esfuerzo.
    Tengo una pregunta. Como estrategia de lanzamiento quiero aplicar un descuento en toda la tienda por un tiempo limitado?. Me podrías recomendar un plugin?. Gracias.

    1. Hola Marcela,

      Yo lo que haría sería crear un cupón con fecha de caducidad y después mostrar una barra fija en la tienda con una cuenta atrás del tiempo que resta para finalizar la promoción. Esto último puedes hacerlo con el plugin YITH Topbar Countdown.

      Espero que te sirva.

      Saludos!

  7. Hola, gracias por tu tiempo dedicado a esta página. El asunto es que inserto el código en referencia en functions.php (en el child theme) y sigo viendo la opción del cupón en el Carrito de Compras. Alguna sugerencia? Gracias de antemano.

    1. Hola Alan,

      Acabo de ver tu comentario.

      Aunque sea tarde, te contesto por si acaso.

      A mi si que me oculta el campo del cupón.

      ¿Has probado en el código en otro tema diferentes? Puede que tu tema use el mismo hook para modificar el comportamiento del campo de cupones y por eso no te funciona el snippet.

      Saludos!

  8. Hola Antonio.
    Gracias y felicidades por el post.
    Lo que yo busco es que aparezca el formulario del cupón directamente en la página de producto. ¿Es posible?
    Saludos,

    1. Hola Carles,

      Posible es, pero no conozco un plugin que lo haga. Habría que modificar el código fuente de tu tema para incluir el campo de cupón descuento en la ficha de producto.

      Salvo que sea un requisito indispensable para tu proyecto, creo que no merece la pena el esfuerzo para el beneficio que te va a aportar.

      Saludos!

  9. Hola gracias por el aporte pero yo a todo cliente que se inscribe con su mail tengo que mandarle un codigo de descuento como hago eso? Cómo le mando a su mail ese codigo? Me interesa que el descuento se pueda aplicar en todas las categoria. Muchas gracias

  10. Hola Antonio, el plugin funciona bien, pero cuando en el producto hay atributos sale un error indicando que ese atributo es un campo requerido y no genera el carrito con el producto.

    Funciona si antes tienes el producto en el carrito, pero no es tan interesante como dar al link sin mas.

    Enhorabuena por la web

  11. Grande! Siempre he creído que poner el cupón en el formulario puede provocar fuga de conversiones jeje Voy a probarlo ya mismo!

    Por cierto, aprovechando el saludo te consulto una cosa relacionada… ¿sabes si hay forma de ofrecer cupones a cambio de interacción social? por ejemplo, si se suscriben a tus redes sociales reciben un descuento (en este caso sería aplicar el cupón a través de un enlace directo) o si te valoran en una red de opiniones de ecommerce, etc…

    ¿sabes si hay o se te ocurre alguna forma de cruzar estas interacciones para que reciban el cupón?

    muchas gracias 😉

  12. Hola,

    me ha parecido muy interesante tu blog y en concreto este post, te agradezco mucho tu aportación.
    Dicho esto, existe alguna manera de aplicar el cupon no a un producto concreto sinó a un importe? Me explico, si en el carrito hay un total de 95€ de compra total, automáticamente se aplique un descuento de 10€ al importe total de este, quedando 85€ a pagar por el usuario.
    Sé que se puede hacer si el usuario escribe el código del cupón ya que se puede especificar por importe total y importe de descuento, pero me interesaria que no fuera necesario que el usuario tecleara el código de cupón. Muchas gracias y un saludo!

      1. Muchas gracias Antonio,

        afortunadamente ya encontré un plugin similar. WooCommerce auto added coupons, que hace exactamente lo que necesitaba. Igualmente, muchas gracias por contestar. Un saludo!

Dejar un comentario

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

Responsable: Antonio Cantero, siendo la Finalidad; envío de mis publicaciones así como correos comerciales. La Legitimación; es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing Active Campaign ubicada en EEUU y acogida al Privacy Shield. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos en contacto@woodemia.com