En un mercado globalizado como el actual es cada vez más común abrir una tienda online dirigida a más de un país. Puede ocurrir entonces que, en ciertos casos, necesitemos ocultar ciertos productos o categorías a los visitantes de determinado país o región con WooCommerce.
No es lo mismo eso que simplemente filtrar bloques de contenido, claro está. Sin embargo, por suerte, hay una forma fácil, sencilla y rápida de hacerlo. Vamos a ver cómo.
Tabla de contenidos
Filtrar contenido según el país
Hace unos meses ya te contaba aquí mismo cómo puedes mostrar diferente contenido en función del país del visitante en WordPress, de forma que si tu web está dirigida al mercado internacional puedas mostrar u ocultar bloques de contenido, imágenes, etc, a tu público, en función del país desde el que está conectado:
Lo ideal es, en estos casos, tener una web separada y optimizada para cada uno de los mercados a los que la empresa se dirige, claro está, pero hay casos en los que eso no es posible. Por ejemplo el caso que comentaba entonces de un cliente que quería ver cómo respondía el mercado de Latinoamérica, pero no era algo ni mucho menos definitivo.
Otro caso evidente es el de una tienda con WooCommerce. El hecho de que ya estemos en un mercado global no significa que no existan productos dirigidos al público de un país específico, por cultura o por la misma idiosincrasia del producto.
O, simplemente, puede que aunque tengas un ecommerce orientado internacionalmente, no sea factible el envío de determinados productos por sus características (tamaño o peso, requiere refrigeración, etcétera) o por la legislación internacional o de algún país determinado.
En ese caso no tiene sentido crear tiendas separadas. Lo que aquí toca es, de nuevo, filtrar el contenido según la procedencia del comprador. Pero en este caso no nos sirve la solución que daba en el artículo que comento más arriba: aquí lo que necesitamos filtrar no son bloques de contenido, sino productos o incluso categorías.
Ocultar productos en función de la geolocalización del comprador en WooCommerce
Afortunadamente podemos hacer esto de forma muy sencilla con un plugin, que además es gratuito. Se trata de WooCommerce Geolocation Based Products, un plugin que te permite ocultar productos o incluso categorías completas en función de:
- El país del visitante
- La región, provincia o departamento
- La ciudad
Efectividad de la geolocalización
Ante todo hay que aclarar que este plugin utiliza la base de datos GeoLite2, así que no creas que es infalible. De hecho, la efectividad es limitada (siempre lo es cuando hablamos de geolocalización por medio de la IP), más aún cuando bajamos al nivel de ciudad.
En este enlace (recurso eliminado) puedes ver la precisión en la conversión. La tabla muestra la de la base de datos GeoIP2, pero si introduces un país en la caja de búsqueda te mostrará una comparación entre GeoIP2 y la que utiliza el plugin, GeoLite2: ésta es menos efectiva.
Por poner un ejemplo, a fecha de hoy, si quieres ocultar productos a nivel de ciudad en España (por ejemplo que los habitantes de Murcia no puedan podamos ver determinado producto o categoría de tu tienda) tendrás éxito sólo un 65% de las veces.
Afortunadamente, a nivel de país el asunto funciona bastante mejor. No hay cifras publicadas por Maxmind (los creadores de estas bases de datos) pero por las pruebas que he hecho, si el filtro se limita al nivel de país, funciona bastante bien.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 102 plugins (y subiendo cada mes) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Cómo ocultar un producto o una categoría de WooCommerce a ciertos países
Vamos a dejarnos ya de teoría y pasemos al lado práctico del asunto: ¿cómo ocultar productos o categorías por países en WooCommerce? Bien, pues comenzamos por instalar y activar el plugin. Una vez hecho esto, verás que ha aparecido un nuevo submenú en Productos > Geolocation.
Pues lo único que tienes que hacer es introducir ahí las reglas de visibilidad de los productos que quieres ocultar. Es todo bastante sencillo:
- El país al que se aplica la regla se define en la columna ISO Country Code, y hay que hacerlo mediante el código ISO 3166-1 alfa-2, que es el mismo que se utiliza en la table de configuración de los impuestos de WooCommerce. Puedes encontrar los códigos ISO 3166-1 de los nombres de países en esta página de Wikipedia; el que nos interesa es el que está en la columna Código alfa-2.
- La segunda columna es para, en caso necesario, filtrar los productos o categorías en función de la subdivisión territorial principal del país (provincias, estados o departamentos, según el país del que se trate) utilizando el código ISO 3166-2. Por ejemplo, puedes ocultar un producto en España a todos los sevillanos utilizando ES en la primera columna y SE en la segunda, o en Argentina a los mendocinos con AR y MZ. Tienes enlaces a las páginas con los códigos ISO 3166-2 de cada país en esta otra página de Wikipedia.
- La siguiente columna es la de la ciudad. No te aconsejo utlizarla por lo que hablábamos antes de la precisión, pero si realmente lo necesitas puedes probar, simplemente tienes que escribir el nombre de la ciudad. Recuerda que no sólo tendrás falsos negativos (estarás mostrando productos a visitantes que no deberían verlos) sino también falsos positivos (estarás ocultando productos a clientes que sí podrían comprarlos).
- La cuarta y quinta columnas son para seleccionar, respectivamente, a qué categorías o productos se aplica la regla (utiliza una u otra, en la de productos puedes añadir todos los que necesites).
- Y, por fin, en la última categoría defines si la regla quiere se para mostrar u ocultar. La opción de mostrar es útil para excepciones: si por ejemplo quieres mostrar sólo un producto de determinada categoría a los visitantes de un país, puedes ocultar la categoría entera en una línea, y en la siguiente mostrar ese producto concreto.
Vídeo: ocultar productos por país en WooCommerce
En fin, ya has visto que es fácil a más no poder. Pero como siempre me guste que lo puedas ver en vivo, aquí tienes un vídeo con el proceso:
Como siempre, para cualquier duda, consulta o pregunta tienes a tu disposición el formulario de contacto.
Hola!
Veo que este plugin es muy interesante, pero no veo la forma de aplicar el filtro, por ejemplo a todos los países menos uno.
O sea, que los productos no puedan verse en ningún país salvo en España.
Habría que hacer una fila para cada país?
Gracias por tu post
Hola 🙂
En teoría por lo que veo del funcionamiento del plugin, sí. No sé, porque no he probado a hacerlo, si el autor habrá previsto algo así. Puedes intentar a establecer una regla Hide en primer lugar usado un comodín (*) en el código de país, y a continuación una regla Show para ES, podría funcionar.
Si no, puedes consultar al autor si hay alguna forma eficiente de hacerlo en el foro de soporte del plugin, porque añadir uno a uno todos los países…
Un saludo.
Este plugin es demasiado original
gracias por tu aporte
Yo he descargado este plug in pero no me funciona en la pagina.
Puede ser porque no esta actualizado desde hace mucho o soy yo?
Hola Inma
Solicita soporte al autor en el foro de soporte en wordpress.org
Un saludo