blog webempresa

Cómo excluir provincias en WooCommerce

por | Mar 3, 2022 | WooCommerce

Cómo excluir provincias en WooCommerce

Ay… ¿quién no ha tenido algún encontronazo en una tienda física cuando al ir a pagar, te encuentras con que no aceptan tarjeta o, en algunos casos, efectivo? Pues una cosa parecida ocurre en aquellas tiendas online que parece que envían a todo el mundo o a todos los territorios de un país… pero no. “Solo servimos en Península y Baleares”. Puede que sea la frase más odiada por la población canaria 🇮🇨.

Hoy te voy a explicar cómo evitar malentendidos en el proceso de finalizar compra quitando aquellos territorios a los que tu tienda no realiza envíos.

Lo siento gente de Canarias y ciudades autónomas, me consta que sufrís esto y mucho 😔. Pero podéis aprovechar y hacer lo mismo desde vuestras tiendas online hacia la Península 😈.

Antes de empezar, necesitas saber lo que es el fichero de funciones de la plantilla (functions.php de WordPress), o bien un plugin de WordPress como Code Snippets que te permita añadir código a WordPress. Ya que hablaremos de cómo introducir código de ambas formas.

 

 

Por qué excluir provincias de WooCommerce

 

Hay lugares en el mundo donde existen condiciones geográficas y de fiscalidad especiales y diferentes a la “normal del país” al que servimos nuestro producto físico.

En este artículo hablaremos del caso de las Islas Canarias, Ceuta y Melilla, los territorios singulares de España. Aunque esto también se puede aplicar a cualquier otro territorio donde las empresas de envío ofrezcan distintas tarifas, o que haya un control aduanero como puede ser el caso de Reino Unido con Gibraltar.

finalizar compra

No solo son agentes externos los que influyen en tu decisión de no servir en ciertos territorios. A lo mejor tu e-commerce es una tienda de alimentación o de producto de cercanía que solo reparte a determinados sitios muy cerca de tu almacén y no quieres que aparezcan los lugares a los que no das servicio.

Vamos a ver algunas de las ventajas de excluir provincias en tu tienda de WooCommerce:

Simplificas tu tienda online al mínimo evitando así errores de despistes en la compra. Si hay menos lugares que elegir en el formulario, menos posibilidades tienes de que alguna persona se equivoque a la hora de rellenar sus datos.

Facilitas el proceso de compra de tus visitantes y por tanto puedes disminuir el tiempo de relleno de los datos de compra.

Evitas la frustración de tus usuarios cuando van a terminar la compra y descubren que en su provincia no servís el producto 😭.

Streamline Icon WooCommerce Webempresa

Sí, lo sé, desde WooCommerce > Ajustes > Envíos > Añadir zona de envío se pueden establecer tarifas para las distintas provincias e incluso obviarlas. Pero luego, en los gastos de envío, cuando la persona introduce su dirección y se actualiza el carrito… ¡Oh! ¡Sorpresa! Aparece un mensaje que dice “lo siento, no hay un método de envío disponible para tu zona”.

Esto puede ser un punto de dolor muy intenso para la persona que quiera terminar la compra en tu sitio, ya que será en ese momento cuando se entere de que no servís a esa zona.

Lo mejor es evitar el posible cabreo no dando opción a esos lugares en el formulario de compra y reforzarlo con algún tipo de aviso en el carrito hacia las zonas donde sí servís 😊.

Pero sí, voy a dejar de hablar de los beneficios y los posibles problemas a evitar y te digo cómo hacerlo. Básicamente tienes dos formas: Exclusión de algunas zonas, o estableciendo las zonas a las que sí envías. Quitar o restablecer, tú eliges 😉.

 

Cómo excluir envíos a ciertas provincias con WooCommerce

 

Es un asunto relativamente sencillo. En nuestro plugin de snippets o functions.php, ponemos el siguiente código:

add_filter ('woocommerce_states', 'webempresa_limita_envios');

function webempresa_limita_envios ($provincias) {
   unset ($provincias ['ES'] ['CE']);
   unset ($provincias ['ES'] ['ML']);
   unset ($provincias ['ES'] ['TF']);
   unset ($provincias ['ES'] ['GC']);
   return $provincias;
   }

Por supuesto cambiando o adaptando las provincias y países según te convenga. (Lee el código que copies, no copies a ciegas porfi…).

El código que estás copiando y pegando lo que hará es que en la lista de provincias del país España (ES) quitará las correspondientes a Ceuta (CE), Melilla (ML), Tenerife (TF) y Gran Canaria (GC). Te dejo un listado de los códigos que utilizan la normativa ISO 3166-2.

👉 Listado completo de códigos de provincias de España en la wikipedia.
👉 Listado de todos los países con los enlaces a sus páginas propias.

Nótese que la normativa fija la provincia con el esquema:

“Código de país-Código de provincia”.

Nuestro esquema en WooCommerce será:

[‘Código de país’] [‘Código de provincia’]

Simplemente pilla los códigos de las provincias que aparecen en el link que te paso de Wikipedia (si eres boomer, preboomer o millenial te sonarán a los códigos de las matrículas de los coches antiguos 😬) y pégalo siguiendo la estructura que te he comentado.

Listo, ya sabemos como excluir provincias por países con WooCommerce.

 

Cómo permitir envíos solo a ciertas provincias

 

Otra forma de mejorar la apariencia del listado de ubicaciones a las que tus clientes te pueden comprar es creando tu propia lista de provincias a las que sirves. Esta otra opción es la recomendable en casos en que sean menos numerosas las zonas a las que envíes que las disponibles, como tiendas de cercanía, repartos a domicilio diarios, etc. Vamos a ver cómo.

El principio es el mismo que el anterior: el filtro woocommerce_states, lo vamos a redefinir incluyendo solo las provincias donde “tenemos almacenes disponibles” (es un “invent” que me he marcado como ejemplo de una tienda donde solo sirve donde tienen almacenes):

add_filter ('woocommerce_states', 'webempresa_mis_provincias');

function webempresa_mis_provincias ($provincias) {
   $provincias ['ES'] = array(
      'CA' => 'Cádiz',
      'SE' => 'Sevilla',
      'O'  => 'Asturias',
      'A'  => 'Alicante',
      );
   return $provincias;
}

📝 Las tildes están formateadas en HTML (lo de … de “Cádiz”). Eso lo puedes hacer poniendo la palabra con tilde en esta web y copiando el resultado 😉. Así te evitas problemas de formato.

Y recuerda, si has venido a esta sección directamente, este código lo puedes pegar en el archivo functions.php de tu tema o en un plugin de snippets como el archiconocido Code Snippets.

 

Algunas formas de evitar malentendidos con tus potenciales clientes

Vale, genial, y te estarás preguntando:

A ver Flavia, estás continuamente diciendo que tenemos que informar a nuestros clientes para evitar malentendidos.

 

Si sólo me dices cómo eliminar del listado las provincias donde no servimos ¿no estaríamos añadiendo más frustración y confusión a nuestros potenciales compradores?

Pues sí, mialma, tienes toda la razón del mundo 😉.

Con la exclusión de provincias nos estamos evitando errores que pueden ocurrir en los pedidos, pero no nos estamos ocupando de la parte de usabilidad de dar información precisa al nuestres usuaries.

Lo mejor, por tanto, es que informes de tus envíos activamente en tu web. Te indicamos varias formas de hacerlo 🙌:

  • ☝️ Con el banner de tienda. Que puedes activar desde Apariencia > Personalizar > WooCommerce > Aviso en la tienda y marcando la opción “Activar el aviso en la tienda”.

    Lo malo es que puede ser algo invasivo y quizás no sea el mejor sitio donde se tenga que informar de ello.

Activa aviso en Woocommerce

 

 

    • ✌️ Dejándolo claro en el copy de tu web. Si sois una tienda de productos de cercanía, en el texto que aparece anunciando tu web desde el inicio ya debería aparecer tu zona de envío, por ejemplo:

De la huerta a tu casa
Servimos en los alrededores de Murcia dos veces al día.

Si es por barrios, podéis incluso limitar por códigos postales desde las Zonas de envío en WooCommerce > Ajustes > Envío > Añadir o editar Zona de envío, y ahí especificar el nombre de la zona, el país o las provincias, y pulsando en “Limitar a códigos postales específicos“, tendrás acceso a un nuevo campo donde incluirlos individualmente (uno por línea) o por rangos.

Un ejemplo es el caso de la web de Zelai Alai, que lo incluye dentro de su copywriting.

Ejemplo se sirve en Vitoria
  • 👌 Informa a tus clientes por qué zonas sirves tus productos desde las condiciones de compra. Recuerda que deben aceptarlas para terminar dicho proceso y pagar. Así dejas todo atado y bien atado 😉.
  • 🤟 Con algún mensaje desde el carrito o el checkout. Puedes hacerlo por medio de un plugin como Cart Notices for WooCommerce o con el código que te muestro a continuación:
// En la página de finalizar compra, antes del formulario

add_action( 'woocommerce_before_checkout_form', 'webempresa_aviso_checkout', 11 );

function webempresa_aviso_checkout() {

   wc_print_notice( __( 'Recuerda que solo servimos a la zona de La Alcarria', 'woocommerce' ), 'notice' );

}

// En la página del carrito, antes de la tabla de productos en el carro

add_action( 'woocommerce_before_cart_table', 'webempresa_aviso_carrito', 20 );
function webempresa_aviso_carrito() {

    wc_print_notice( __( 'Recuerda que solo servimos a la zona de La Alcarria', 'woocommerce' ), 'notice' );

}

Recuerda incluir el código en el archivo functions.php de tu tema o usando un plugin de trozos de código como Code Snippets.

 

Conclusión y recomendaciones

 

Cuando queremos abordar mejoras en nuestro sitio web, normalmente hay dos formas de abordarlo:

  • La parte técnica de evitar errores, donde hemos establecido qué zonas de envío sí que van a aparecer en nuestro formulario de finalizar compra.
  •  

  • La parte de la experiencia de uso donde informamos activamente a las personas que visitan tu tienda a qué sitios pueden recibir tus productos.

Una sin la otra puede producir confusión. Es por ello que te recomendamos que más allá de resolver la cuestión técnica, informes siempre de lo que ocurre en tu web.

Y por supuesto, aprovecha para incluir mensajes atractivos y de cercanía, que puedan aportar a tu marca mucho más que un simple mensaje rancio de “no nos da la gana enviar a tu zona porque nos sale caro”. Cambia el chip y di que “intentamos que nuestro servicio sea de la mejor calidad posible y por ello procuramos llegar a donde sabemos que podemos llegar”.

Be honest my friend, querer llegar a todos lados, como si fueras una empresa de paquetería internacional, puede que no sea la estrategia adecuada 😄.

Te lo cuento también en video:

¿Te ha resultado útil este artículo?

Promo abril