Configuración de Shopify Markets y multidivisa para el tema Vertex
Vertex está totalmente conectado a Shopify Markets de fábrica — sin apps, sin convertidores de divisa de terceros, sin scripts de FX. Si vende a equipos de compras en varios países, cuentas de distribuidor en diferentes divisas u opera catálogos comerciales para regiones separadas, esta guía le lleva desde una tienda inicial de un solo mercado a un pulido storefront B2B + B2C multi-mercado en aproximadamente 30 minutos.
Los compradores B2B en Shopify están fijados a un único mercado por su asignación de empresa — no pueden cambiar libremente de divisa. Vertex aún renderiza la pastilla de divisa para ellos (informativa) para que siempre vean en qué divisa están pagando de un vistazo. A los equipos de compras les encanta esto — elimina un correo de ida y vuelta por presupuesto. El desplegable simplemente contendrá una opción.
Lo que controla realmente "Markets"
Shopify Markets es el subsistema nativo que controla, por grupo de país / región:
- Divisa que el comprador ve y paga (autoconvertida desde la divisa de su tienda, O anulada mediante una lista de precios específica del mercado)
- Idioma en el que se renderiza el storefront (extraído de su JSON de
locales/; Vertex incluye inglés, francés, italiano, alemán, español) - Estrategia de precios — conversión automática a tipos FX en vivo con porcentaje de ajuste opcional, O una lista de precios manual fija por mercado
- Dominio / subcarpeta —
example.com/fr-ca/o un dominio.catotalmente separado - Redirección de geolocalización — autosugerir o autorredirigir a visitantes no coincidentes a su mercado más cercano
- Tratamiento de impuestos + aranceles (en mercados que soportan DDP, como Shopify Markets Pro)
El trabajo de Vertex es renderizar esta configuración fielmente: la pastilla de divisa, la pastilla de idioma, las etiquetas hreflang, el formato de precios por mercado y la barra de bienvenida B2B consultan el objeto localization activo en cada solicitud.
Requisitos previos
| Requisito | Por qué |
|---|---|
| Plan de Shopify: Basic o superior | Markets está incluido en cada plan de pago, pero necesita al menos Basic para mercados secundarios. Shopify Plus desbloquea mercados ilimitados + Markets Pro (aranceles + DDP). |
| Al menos un mercado secundario publicado | La pastilla de divisa de Vertex se renderiza cuando localization.available_countries.size > 0. Sin un mercado secundario, solo existe un país y el desplegable no tiene nada a lo que cambiar — aunque la pastilla en sí aún se renderiza para compradores B2B (consulte Caso especial: B2B + Markets a continuación). |
| Tema publicado O previsualizado | Algunas configuraciones de Markets (redirección de geolocalización, mercado predeterminado) solo se renderizan correctamente cuando el tema está publicado o se está previsualizando a través del customizer. |
| Locales instalados | Si quiere un selector de idioma (no solo un selector de divisa), publique el locale correspondiente en Settings ▸ Languages. Vertex incluye traducciones completas de UI para inglés, francés, italiano, alemán y español. |
Markets — incluyendo multidivisa y multiidioma — está incluido en cada plan de Shopify. Solo paga por la conversión FX a través de las comisiones de Shopify Payments (ya parte de su comisión por transacción), no por la propia funcionalidad de Markets. El cobro de aranceles + DDP (Markets Pro) es el add-on de pago.
Paso a paso: activar Markets
Paso 1 — Abrir Markets en el panel de Shopify
En su panel de Shopify, navegue a Settings ▸ Markets.
Aterrizará en una página que lista su Primary market (creado automáticamente cuando abrió su tienda, normalmente su país de constitución) más los Secondary markets que haya añadido.

Paso 2 — Configurar el Primary market
Haga clic en su Primary market. Confirme:
- Country / region es correcta (esto controla los impuestos + aranceles predeterminados)
- Currency es la divisa de su tienda (no se puede cambiar una vez que existen pedidos)
- Language es su idioma predeterminado (el locale marcado como "Default" en Settings ▸ Languages)
Este es el mercado de respaldo — cada visitante que no esté emparejado con un mercado secundario ve los precios e idioma del Primary.
Paso 3 — Añadir un Secondary market
Haga clic en Add market arriba a la derecha.
Para cada nuevo mercado, configurará:
| Campo | Qué introducir |
|---|---|
| Market name | Etiqueta interna — "European Union", "Canada", "Asia-Pacific Wholesale" |
| Countries / regions | Uno o más países que comparten los precios + divisa + idioma de este mercado. Los compradores de la UE pueden compartir un mercado; UK + UE podría dividirse si quiere un tratamiento de IVA distinto. |
| Currency | La divisa local (p. ej., EUR para la UE, GBP para UK, CAD para Canadá). Shopify autoconvertirá desde la divisa de su tienda a los tipos en vivo a menos que suba una lista de precios manual. |
| Languages | Uno o más locales publicados en Settings ▸ Languages. El idioma predeterminado para este mercado se autodetecta desde el país si tiene un locale coincidente. |
| Pricing strategy | Adjust prices by % from store currency (p. ej., +5% para cubrir el riesgo FX) O Use a manual price list para ese mercado. |
| Domain / subfolder | example.com/fr-fr/ (subcarpeta, recomendado para SEO) O un ccTLD separado como example.fr. |
Las URLs de subcarpeta (example.com/fr-fr/) consolidan la autoridad del dominio, se emparejan automáticamente con etiquetas hreflang por Vertex y requieren cero trabajo de DNS. Los dominios ccTLD separados dividen su autoridad y requieren configuración manual de hreflang. Recomiende subcarpetas a menos que tenga una razón fiscal o legal contundente para usar ccTLDs.

Paso 4 — Elija su estrategia de precios
Tiene tres opciones para los precios en cada mercado secundario:
Opción A — Autoconversión desde la divisa de la tienda (predeterminado)
Shopify convierte los precios de la divisa de su tienda a la divisa del mercado al tipo FX en vivo, redondeado a su formato elegido (p. ej., terminaciones en .99). Actualización una vez al día. Gratis; sin mantenimiento manual.
Opción B — Autoconversión + ajuste Igual que A, más un ajuste porcentual (p. ej., +5%, -10%) aplicado a cada producto en este mercado. Útil cuando quiere absorber el riesgo FX o ejecutar un descuento/recargo regional uniformemente.
Opción C — Lista de precios manual por mercado Suba un CSV (o use la UI del panel) con precios explícitos por variante por mercado. Necesaria cuando tiene precios contractuales fijos en una región — común para distribuidores B2B con precios negociados de distribuidor regional.
Si un comprador B2B tiene sesión iniciada y su empresa tiene un catálogo asignado, los precios del catálogo tienen prioridad sobre los precios de Markets para ese comprador. Los precios de Markets son el respaldo cuando un comprador B2B no tiene catálogo asignado, o para compradores B2C / invitados en ese mercado.
Paso 5 — (Opcional) Activar redirección de geolocalización
Todavía en Settings ▸ Markets, desplácese hasta la tarjeta Geolocation.
Dos opciones:
- Recommend a different market — muestra una pequeña barra en la parte superior del storefront ("Parece que está en Francia. ¿Visitar nuestra tienda francesa?") con una elección Visit / Stay. Menos agresivo — recomendado para B2B porque algunos compradores de compras usan deliberadamente un storefront de EE. UU. para comparar precios.
- Automatically redirect — redirige del lado del servidor al visitante a su mercado más cercano sin elección. Mayor conversión en B2C puro, pero puede frustrar a compradores B2B y bots.
Elija Recommend a menos que tenga una razón contundente en contrario. Vertex respeta lo que elija — no se requieren cambios de código del tema.
Paso 6 — Publique sus mercados secundarios
Cada mercado tiene un conmutador Active / Inactive en la lista de mercados. Cambie a Active cuando esté listo para que los compradores lo vean. La pastilla de divisa en Vertex comenzará a mostrar la divisa del nuevo mercado en su desplegable inmediatamente en la siguiente carga de página.
Cómo Vertex renderiza el selector
Las pastillas de divisa + idioma de Vertex se renderizan mediante un único snippet compartido — snippets/localization-switchers.liquid — que se incluye en dos lugares:
- Encabezado de escritorio (≥1170px) — en línea en la barra ámbar de bienvenida B2B para compradores B2B con sesión iniciada, O en línea en el encabezado blanco principal para invitados + compradores B2C
- Cajón móvil + tablet (<1170px) — en la parte superior del cajón hamburguesa, como dos pastillas en una cuadrícula de 2 columnas para alcance con una mano

Anatomía de la pastilla
Cada pastilla es un botón redondeado compacto con tres elementos:
- Avatar circular de bandera — la bandera del país, extraída de un sprite o respaldo al código de país ISO
- Pila de texto de 2 líneas — etiqueta de cejilla ("Currency" o "Language") encima del código ISO ("EUR", "FR")
- Chevron — indica que la pastilla abre un panel desplegable
Tocar una pastilla abre un panel desplegable personalizado — Vertex incluye deliberadamente cero elementos nativos <select> en cualquier parte del chrome. Cada desplegable usa un patrón compartido <details> + <summary> + panel personalizado que:
- Renderiza un icono de marca de verificación junto a la opción actualmente seleccionada
- Resalta el estado de hover
- Se cierra al pulsar Escape / clic fuera / apertura de desplegable hermano (exclusión mutua)
- Se anima al entrar con un fundido de 120 ms
Esto significa navegación de teclado completa y soporte para AT (tecnología de asistencia), sin parecerse en nada a un desplegable predeterminado del navegador.
La regla "siempre renderizar"
Un detalle crítico: localization-switchers.liquid comprueba localization.available_countries.size > 0 — no > 1.
Esto significa:
- Tiendas con un mercado publicado — la pastilla se renderiza, el desplegable contiene una única opción (su mercado de origen)
- Tiendas con dos o más mercados — la pastilla se renderiza, el desplegable contiene todos los mercados publicados
- Compradores B2B fijados a un único mercado — la pastilla se renderiza (informativa), el desplegable contiene una opción (su mercado)
Esta decisión es deliberada. Los compradores B2B que pagan en EUR quieren ver EUR en cada página incluso si no pueden cambiar — es una garantía de que no están a punto de ser cobrados en USD. Los equipos de compras han señalado preocupaciones sobre cambios silenciosos de divisa en pruebas de usuario repetidamente; mostrar el distintivo de divisa previene esa confusión.
Si quiere ocultar la pastilla de divisa por completo (p. ej., tiene un mercado y quiere descongestionar), abra Customize, haga clic en la sección Header y desactive Show currency switcher (en Localization switchers). La pastilla de idioma (Show language switcher) es independiente.
Caso especial: B2B + Markets
Shopify B2B tiene una regla estricta: cada empresa está fijada a exactamente un mercado. Cuando crea una empresa en Settings ▸ Customers ▸ Companies, elige el mercado al que pertenece. Los compradores en esa empresa siempre verán la divisa, idioma y catálogo de ese mercado — no pueden cambiar.
Vertex respeta esto de extremo a extremo:
| Lo que se renderiza para el comprador B2B | Comportamiento |
|---|---|
| Pastilla de divisa | Se renderiza. El desplegable tiene 1 opción (la divisa de su mercado). Se muestra como la divisa con la que se le cobrará en el checkout. |
| Pastilla de idioma | Se renderiza si hay más de un idioma publicado en su mercado. De lo contrario, se renderiza con una única opción. |
| Selector de envío | Se renderiza si el comprador tiene más de una dirección de envío autorizada para su empresa. Independiente del mercado. |
| Selector de empresa | Se renderiza solo si el comprador está asociado a más de una empresa (raro; normalmente personal de cuentas por pagar en empresas matriz). |
| Precios por volumen + NET-30 + exento de impuestos | Todo extraído del mercado de la empresa + asignación de catálogo. No alterado por nada en los selectores de localización. |
Si un comprador pregunta "¿por qué mi pastilla de divisa no cambia de divisa?", la respuesta es porque los compradores B2B están fijados, no porque la pastilla esté rota. Eliminar la pastilla para evitar la pregunta crea un problema peor — los compradores ya no ven en qué divisa están pagando. Déjela activada.
Verificación de su configuración
Después de publicar Markets + el tema Vertex, recorra esta lista de verificación:
- Abra el storefront en una ventana de incógnito. Debería ver su Primary market por defecto (USD si EE. UU., GBP si UK, etc.).
- Haga clic en la pastilla de divisa en el encabezado de escritorio. Deberían aparecer todos sus mercados publicados. Seleccionar uno debería recargar la página en la nueva divisa.
- Cambie a un breakpoint móvil (o abra en un teléfono real). Abra el cajón hamburguesa. Las pastillas de divisa + idioma deberían aparecer en la parte superior del cajón en una cuadrícula de 2 columnas.
- Inicie sesión como un comprador B2B de prueba. La pastilla ahora debería renderizarse en la barra ámbar de bienvenida (escritorio) o permanecer en el cajón (móvil). El desplegable debería mostrar solo la divisa del mercado del comprador.
- Inspeccione el HTML de la página. Busque etiquetas
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/" />en<head>— una por locale publicado. Estas son emitidas por el snippet SEO de Vertex automáticamente. - Abra Google Search Console ▸ International targeting. Después de que Google recorra (1–14 días), sus etiquetas hreflang deberían aparecer validadas sin errores.
Resolución de problemas
"Mi pastilla de divisa no se muestra"
Causas más comunes, ordenadas por frecuencia:
- Solo un mercado publicado. La pastilla se renderiza con una opción — asegúrese de que está mirando en el sitio correcto (barra de bienvenida para B2B, encabezado principal para invitados, cajón para móvil/tablet).
- Selector de divisa desactivado en la sección Header. Abra Customize, haga clic en la sección Header y confirme que Show currency switcher (en Localization switchers) está activado.
- Modo Storefront configurado como "B2B-only" + sin comprador B2B con sesión iniciada. El modo B2B-only oculta el encabezado principal para invitados por completo. Inicie sesión o cambie a Hybrid.
- Tema no publicado. Markets solo se renderiza correctamente en el tema publicado. El tema de vista previa funciona para el customizer pero no siempre renderiza Markets correctamente.
- Caché. Refresque con fuerza (Ctrl+Shift+R) o abra en incógnito.
"Los precios no se convierten a la divisa local"
- El mercado está Inactive. Cambie a Active en Settings ▸ Markets.
- Está previsualizando el tema en una URL con Markets deshabilitado. La conversión de divisa solo ocurre en el tema publicado a través de la URL del mercado real del comprador (p. ej.,
/fr-fr/). - Anulación de catálogo B2B. Los compradores B2B con un catálogo asignado ven los precios del catálogo, no los precios de Markets. Este es el comportamiento correcto.
- Storefront en caché. Shopify almacena en caché los storefronts agresivamente. Espere 5 minutos o refresque con fuerza.
"Etiquetas hreflang faltantes"
- Idiomas no publicados. Vaya a Settings ▸ Languages y asegúrese de que cada idioma está Published, no solo Visible.
- Tema demasiado antiguo. Las etiquetas hreflang se incluyen en Vertex v1.0.0 y posteriores. Compruebe la versión de su tema en Online Store ▸ Themes.
- Anulaciones de código personalizado. Si ha personalizado
theme.liquid, puede haber eliminado el include{% render 'meta-tags' %}(o equivalente). Restáurelo.
"La redirección de geolocalización es demasiado agresiva"
Cambie de Automatically redirect a Recommend a different market en Settings ▸ Markets ▸ Geolocation. La última muestra una educada barra "¿Visitar nuestra tienda francesa?" en lugar de una redirección dura.
"El comprador B2B ve la divisa incorrecta"
La divisa del comprador está determinada por la asignación de mercado de la empresa en Settings ▸ Customers ▸ Companies ▸ [Empresa] ▸ Market. Cambie el mercado aquí, no en el tema.
Impacto SEO de la configuración multi-mercado
Un storefront multi-mercado bien configurado es una fuerte señal de SEO internacional. Vertex emite automáticamente:
<link rel="alternate" hreflang="xx-yy" ... />para cada locale publicado en su tienda. Le dice a Google "esta misma página está disponible en esta URL en este idioma para esta región". Crítico para clasificarse en SERPs localizadas.<html lang="xx" dir="ltr|rtl">basado en el locale activo. Ayuda a los lectores de pantalla + herramientas de traducción del navegador a reconocer el idioma.<meta property="og:locale" content="xx_YY">para el locale activo +og:locale:alternatepara hermanos. Impulsa vistas previas Open Graph correctas por región.- JSON-LD localizado — los schemas Product, BreadcrumbList, Organization y FAQPage todos usan las cadenas renderizadas localmente (nombres, descripciones, respuestas FAQ) — no la copia maestra en inglés.
Resultado: Google puede servir a compradores franceses su URL /fr-fr/, a compradores alemanes su URL /de-de/ y a compradores españoles su URL /es-es/ — sin mostrarles nunca la versión en inglés a menos que la pidan explícitamente.
Si hace B2B internacional, mencione la divisa esperada del comprador en su formulario RFQ. La página RFQ de Vertex no autodetecta la divisa, así que querrá un campo de texto libre "Divisa del presupuesto" si negocia regularmente en varias divisas.
Lectura relacionada
- Visión general — Por qué Vertex está construido sobre Markets de forma nativa
- Instalación — Instalación del tema + activación de B2B
- Guía de modos Storefront — Cómo interactúan Hybrid / B2B-only / B2C-only con Markets
- Guía de configuración B2B — Empresas, catálogos, fijación de mercado
- Guía de presets de demostración — Cada preset funciona idénticamente en todos los mercados
- Panel de la cuenta de cliente — Visualización de divisa por comprador
- Guía de la página RFQ — Captura de divisa de presupuesto en RFQs internacionales
- Referencia de ajustes del tema — Localization ▸ Text direction (los selectores de divisa / idioma viven en la sección Header, no en Theme settings)
- Preguntas frecuentes y resolución de problemas — Más problemas de divisa + Markets
Resumen
- Shopify Markets es el subsistema nativo que controla divisa, idioma, precios y dominios por mercado. Gratis en cada plan de pago.
- La pastilla de divisa de Vertex se renderiza incluso para escenarios B2B de un solo mercado y de una sola opción — informativa por diseño.
- Los compradores B2B están fijados a un mercado por su empresa; la pastilla se convierte en un distintivo de "divisa actual".
- Las etiquetas hreflang se emiten automáticamente para cada locale publicado. Ayuda a Google a servir a los buscadores internacionales la URL correcta.
- Las listas de precios manuales anulan la autoconversión cuando necesita precios regionales fijos de distribuidor.
- La geolocalización debe establecerse en Recommend, no en Auto-redirect, en contextos B2B.
Tiempo hasta el primer renderizado multidivisa: ~30 minutos incluyendo la publicación del tema + verificación del mercado.