Hay cosas de las que no te das cuenta hasta que pasan, y a mi, por una cosa o por otra, me pasa o ha pasado casi de todo.
Una de ellas es de la que te hablo hoy, para la que tuve que buscar una solución.
Resulta que ofrecí una oferta de lanzamiento de cursos gratuitos en mi plataforma de cursos online, hasta ahí todo genial, tuvo una acogida bestial.
¿He dicho bestial?
Exactamente, precisamente esa acogida tan bestial me hizo ser consciente de algunas cosas…
Índice de contenidos
WooCommerce envía demasiados emails
Pues sí, como mínimo, por cada pedido, WooCommerce envía estos correos:
- Confirmación del pedido al administrador.
- Confirmación del pedido al cliente.
- Creación de la cuenta al cliente.
Además, si hay pasarelas de pago por medio, también los de aprobación y ejecución del pedido, si hay una reserva por medio también el de reserva, si envías factura, otro, y así todo.
Vamos, que a lo tonto, según el producto y tu Ecommerce, se pueden llegar a generar la friolera de 7 o más emails por cada pedido, y eso sin hacer cosas raras, en una situación de lo más normalito ¡una burrada!
Los servidores de correo tienen límites
Pues sí, aunque no te lo creas, conocí lo que es morir de éxito en lo que se refiere al correo electrónico.
Ahora me saldrá alguno diciendo que si «ni puta idea», que «pues vaya descubrimiento», «eso lo sabía yo de siempre», o «vaya tiendas de mierda que tienes/haces que no venden nada».
Y todos tenéis razón, ni tengo ni he montado ningún Amazon o similar.
He desarrollado tiendas online desde hace años, que luego han tenido mucho éxito, pero todas parten con clientes cero, y yo no me entero de su vida una vez están en marcha, ni me llaman si se les rompe el email.
Y tampoco he vendido yo miles de productos o servicios al día nunca, no tengo esa suerte, de momento.
Pues sí, resulta que descubrí que los servidores de correo tienen límites, diarios, mensuales, de todo.
Yo utilizo normalmente en mis webs servidores SMTP de GMail, para descargar de consumo de recursos al servidor, y para evitar errores comunes de envío en WooCommerce, una muy buena costumbre, que esta vez jugó en mi contra.
Porque resulta que las cuentas normales de GMail, que son las que uso para aprovechar su servidor SMTP, tienen un límite de envío de 500 emails diarios.
Resulta que ese límite me lo comí en la primera hora de lanzamiento de los cursos, con los primeros 200 alumnos inscritos (200 alumnos x 3 emails por pedido = GMail petado todo el día).
Así que rápidamente tomé medidas, siendo la primera desactivar el servidor SMTP y que, por un día, PHP Mail() hiciese su trabajo, ya que en el hosting no tenía esa tremenda limitación.
Por supuesto, puedes usar un servicio de email transaccional y más cosas, pero no es esto de lo que te quiero hablar hoy, sino de qué hacer para evitar en lo posible este envío masivo de correos electrónicos de WooCommerce.
¿Qué puedo hacer para limitar el número de emails que manda WooCommerce?
Lo más obvio para controlar esta hemorragia de emails es ir a la página de ajustes de correo electrónico del mismo WooCommerce y desactivar aquellos que no consideres vitales.
Este es un ejemplo de los que tengo en una de mis webs…
Desactivar emails es fácil, solo tienes que hacer clic en uno de ellos y, en la siguiente pantalla, desmarcar la primera casilla, sí, esa que pone «Activar este aviso por correo electrónico».
Haz esto en todos los correos que no sean imprescindibles, en serio, vivirás más y mejor.
El problema es que esto no vale para todas las tiendas, en muchas ocasiones es imperativo recibir todos los correos, no te puedes poner a desactivar emails como un desquiciado.
Además, puedes desactivar los tuyos, los de administrador, pero no deberías desactivar los de los clientes, al menos no el de creación de la cuenta, y por supuesto ni de coña los de confirmación de pedido, no digamos los de envío de factura.
Entonces ¿cómo freno esta locura de emails de WooCommerce?
Mira tú, al menos puedes hacer una desactivación selectiva. ¿Qué te parece si desactivamos emails cuando el pedido sea de productos gratuitos, cuando sean de cero euros?
Ten seguro que ni a ti ni a tu cliente le importará no recibir el email de confirmación del pedido en este caso.
Cómo desactivar emails de WooCommerce para pedidos gratuitos
En estos casos puedes frenar, sin problema alguno, el envío de los correos de confirmación del pedido, tanto para ti como para el cliente.
Lo reconozco, estuve buscando a ver si encontraba algún plugin para esto pero tras un rato de agobio (los emails seguían llegando) preparé un sencillo código para desactivar los emails cuando los pedidos sean de coste 0, gratuitos.
Desactivar emails de WooCommerce al administrador en los pedidos gratuitos
Para desactivar los que llegan al administrador el código es este:
/* Sin email al admin si el producto es gratuito */ add_filter('woocommerce_email_enabled_new_order', function($enabled, $order) { if ($order instanceof WC_Order) { $order_total = floatval($order->get_total()); if ($order_total == 0) { return false; } } return $enabled; }, 10, 2);
Desactivar emails de WooCommerce al cliente en los pedidos gratuitos
En el caso de los clientes el código es este otro:
/* Sin email al cliente si el producto es gratuito */ add_filter( 'woocommerce_email_recipient_customer_completed_order', 'ayudawp_noemail_cliente_gratis', 10, 2 ); function ayudawp_noemail_cliente_gratis( $recipient, $order ) { $page = $_GET['page'] = isset( $_GET['page'] ) ? $_GET['page'] : ''; if ( 'wc-settings' === $page ) { return $recipient; } if ( (float) $order->get_total() === '0.00' ) $recipient = ''; return $recipient; }
En ambos casos, puedes dejar activos sin problema los correos de confirmación en los ajustes de WooCommerce, frenarán los correos de confirmación al administrador y el cliente solo cuando el importe del pedido sea 0 (cero).
Estos códigos deberías meterlos, bien al final del archivo functions.php del tema activo, o mejor en tu plugin de personalizaciones.
Oye, una paz, a partir de ese momento los pedidos siguieron entrando, el resto de emails se envían sin problema, pero te quitas una buena cantidad de correos, dos por cada pedido gratuito, que no aportan nada ni al cliente ni a ti.
¡De nada! 😀
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Pues muchas gracias, puede ser muy práctico en caso de regalar algo.
Imagino que te ocurrió con el curso de bloques de Gutemberg del que tuve la suerte de llegar a tiempo (GRACIAS otra vez).
Te lo menciono porque al «comprar» dicho curso tú web «ayudawp.com» me generó un usuario y una contraseña en el subdominio «campus».
Y ayer, al «comprar» el plugin de minimización que regalaste, la web me generó otro usuario (utilizando el mismo nombre/apellidos y el mismo e-mail) en el subdominio «servicios».
Por mi parte lo guardé en el navegador y asunto solucionado; pero te lo cuento por si te interesa saber que ahora el mismo usuario (yo) tiene dos cuentas diferentes en «ayudawp.com» dependiendo del subdominio.
Hola Fernando,
Me has hecho recordar que también pase por ese momento alguna vez en años pasados. Cómo tu, no sabía lo que era, y tampoco supe en el momento como resolverlo. Al tan punto que fue el propio soporte de Google quien nos tuvo que sacar de dudas y ofrecer un poco de ayudar con ello.
En nuestro caso también fue por una tienda en línea, no WooCommerce, si no Ecwid. Creo que todas tienen esa misma caracteristicas de enviar diversos correos de información, aunque son a elección.
Nos poso con una cuenta empresarial, el límite de correos diarios a recibir es mucho mayor, así que no fue ese el que alcanzamos. Hay otro limite, el cual es la cantidad de correos máximo que se puede recibir por minuto, y ese fue el que nos afecto a nosotros.
Todos los días se aprende algo nuevo!
Feliz día.
He puesto el código al final del archivo functions.php del tema activo y a mí no me funciona 🙁 ¿hay que personalizar algo en el código?
Me resultaría muy útil esta solución. Gracias por tu ayuda
Pues yo lo tengo activo en varias webs, con todo actualizado, y sigue funcionando, no sabría decirte qué puede funcionar mal en tu caso :/
Muchas gracias por contestar. He encontrado el problema que yo tenía. No sé si le puede afectar a alguien más y le podría interesar. He tenido que quitar (float) quedándome así la línea:
Con ese pequeño cambio todo funciona. Gracias por todo Fernando
Gracia por compartirlo aitor 🙂
hola!! mil gracias por la ayuda yo tengo una duda.
Se puede poner para que si hago un pedido manual no envie correo alguno al cliente??
GRACIAS ANTICIPADAS!!!