Tipos de metafields de Shopify: referencia completa para migradores desde WooCommerce (2026)
Referencia completa de todos los tipos de metafields de Shopify: single_line_text, multi_line_text, number_integer, number_decimal, boolean, color, date, file_reference, tipos list, metaobject_reference y cuándo usar cada uno.
Los campos personalizados de WooCommerce (post meta) eran cadenas de texto sin tipo — podías almacenar cualquier dato en cualquier formato. Los metafields de Shopify son tipados — cada campo tiene un tipo declarado que determina cómo se almacena el valor, cómo se valida, cómo se muestra en el Editor de Temas y si puede usarse como filtro en Búsqueda y Descubrimiento. Elegir el tipo correcto al crear definiciones de metafield es importante: afecta a la visualización en el escaparate, al acceso en Liquid, a la experiencia de edición en el Administrador y a si el campo puede usarse como filtro en Búsqueda y Descubrimiento. Esta es la referencia completa de cada tipo de metafield de Shopify.
Tipos de texto
| Tipo | Caso de uso | Límite de caracteres | Acceso en Liquid |
|---|---|---|---|
single_line_text_field | Etiquetas cortas, especificaciones, nombres | Ilimitado | {{ product.metafields.ns.key }} |
multi_line_text_field | Párrafos, instrucciones de cuidado, notas | Ilimitado | {{ product.metafields.ns.key | newline_to_br }} |
- single_line_text_field: ideal para etiquetas cortas, valores de clasificación, códigos. Se almacena como cadena de texto simple. Se muestra como un campo de texto de una línea en el Administrador. Puede usarse como filtro en Búsqueda y Descubrimiento.
- multi_line_text_field: para texto más largo con saltos de línea. Se almacena con caracteres de nueva línea. Usa
{{ value | newline_to_br }}en Liquid para renderizar los saltos de línea como HTML. No puede usarse como filtro en Búsqueda y Descubrimiento.
Tipos numéricos
| Tipo | Caso de uso | Ejemplo de valor |
|---|---|---|
number_integer | Recuentos, edades, años, unidades enteras | 42 |
number_decimal | Pesos, precios, medidas | 14,5 |
- Ambos tipos se almacenan internamente como cadenas de texto, pero se validan como números.
- En Liquid:
{{ product.metafields.ns.weight | times: 1 }}para hacer operaciones aritméticas. - Usa
number_integerpara valores que siempre son números enteros (edad en meses, cantidad, año). - Usa
number_decimalpara medidas (peso en kg, dimensiones, porcentaje de ABV).
Tipo booleano
boolean: verdadero o falso. Úsalo para indicadores sí/no: vegano, apto para lavavajillas, premiado, en stock, envío gratuito.- Liquid:
{% if product.metafields.ns.vegan.value %}— nota: se necesita .value para el acceso booleano en Liquid. - Visualización en el Administrador: se muestra como una casilla de verificación en el editor de productos.
- Úsalo para todo lo que sea una condición binaria — no para cosas con 3 o más estados (usa single_line_text para esos).
Tipos de fecha y hora
| Tipo | Formato | Caso de uso |
|---|---|---|
date | AAAA-MM-DD | Fecha de lanzamiento, año de cosecha, fecha de caducidad |
date_time | ISO 8601 con hora | Fecha y hora de evento, marca de tiempo |
- Liquid:
{{ product.metafields.ns.launch_date | date: "%d de %B de %Y" }}— usa el filtro date para el formato. - Usa
datepara fechas sin componente de hora (año de cosecha, fecha de fabricación). - El Administrador muestra un selector de fecha para ambos tipos.
Tipo color
color: almacena un valor de color hexadecimal (#RRGGBB). Úsalo cuando el hexadecimal específico sea necesario para la visualización (por ejemplo, mostrar una muestra de color).- Liquid:
{{ product.metafields.ns.primary_color }}→ "#3a8c9c". - Úsalo en atributo style:
style="background: {{ product.metafields.ns.color }}". - Distinto de un nombre de color (usa single_line_text para "Azul marino medianoche" — los nombres de color son texto).
Tipo URL
url: almacena una cadena URL con validación. Úsalo para enlaces externos, enlaces a documentos PDF, enlaces de vídeo.- Liquid:
<a href="{{ product.metafields.ns.guide_url }}">Descargar guía</a>. - Validado como formato URL — el Administrador no acepta cadenas que no sean URL.
Tipo JSON
json: almacena JSON arbitrario. Úsalo solo cuando ningún otro tipo encaje y necesites datos estructurados.- Liquid:
{{ product.metafields.ns.specs | json }}— devuelve la cadena JSON sin procesar. - Para acceder a claves específicas: requiere JavaScript personalizado o procesamiento en el lado del servidor.
- Evítalo para datos simples — usa campos tipados en su lugar. El JSON es más difícil de mostrar en Liquid y más difícil de editar por los comerciantes en el Administrador.
Tipos de dimensión
| Tipo | Formato | Caso de uso |
|---|---|---|
dimension | { value: 150, unit: "cm" } | Alto, ancho, fondo |
volume | { value: 500, unit: "ml" } | Volumen de líquido, capacidad |
weight | { value: 1.5, unit: "kg" } | Peso del producto (distinto del peso de la variante) |
- Liquid:
{{ product.metafields.ns.height.value }}{{ product.metafields.ns.height.unit }}. - El Administrador muestra un selector de unidad junto al campo de valor.
- Úsalos cuando la flexibilidad de unidades sea importante. Para medidas con unidad fija (siempre en cm),
number_decimalcon la unidad en el nombre de la clave (height_cm) es más sencillo.
Tipo rating
rating: almacena una puntuación con una escala. Formato: { value: "4.5", scale_min: "0", scale_max: "5" }.- Úsalo para: puntuaciones de dificultad, puntuaciones técnicas, puntuaciones de calidad curadas.
- Distinto de las reseñas de productos (que están en la app de reseñas, no en metafields).
Tipos de referencia a archivo
| Tipo | Caso de uso |
|---|---|
file_reference | Cualquier archivo — PDF, imagen, vídeo |
image_reference | Solo imágenes (se renderiza a través de la CDN de Shopify) |
page_reference | Enlace a una página de Shopify |
product_reference | Enlace a otro producto de Shopify |
variant_reference | Enlace a una variante de producto específica |
collection_reference | Enlace a una colección de Shopify |
metaobject_reference | Enlace a un registro de metaobjeto |
file_reference en la práctica
{% assign pdf = product.metafields.ns.manual.value %}
{% if pdf != blank %}
<a href="{{ pdf | file_url }}" download>Descargar manual del producto (PDF)</a>
{% endif %}
product_reference en la práctica (producto relacionado)
{% assign related = product.metafields.ns.compatible_product.value %}
{% if related != blank %}
<div class="related-product">
<a href="{{ related.url }}">{{ related.title }}</a>
{{ related.price | money }}
</div>
{% endif %}
Tipos list
Cada tipo (excepto JSON, rating y tipos de referencia a archivo) puede llevar el prefijo list. para almacenar múltiples valores:
| Tipo list | Caso de uso | Ejemplos de valores |
|---|---|---|
list.single_line_text_field | Etiquetas, categorías, modelos compatibles | ["Algodón", "Poliéster", "Elastano"] |
list.number_integer | Múltiples valores numéricos | [38, 39, 40, 41, 42] |
list.product_reference | Múltiples productos relacionados | Lista de GIDs de producto |
list.color | Muestras de color disponibles | ["#2c2926", "#ffffff", "#3a8c9c"] |
{% comment %} Renderizar un metafield list en Liquid {% endcomment %}
{% for material in product.metafields.ns.materials.value %}
<li>{{ material }}</li>
{% endfor %}
Referencia a metaobjeto
Los metaobjetos son registros estructurados personalizados — piensa en los tipos de publicación personalizados de WordPress. Un metafield metaobject_reference enlaza un producto con un registro de metaobjeto:
- Caso de uso: marcas como metaobjetos. Cada marca tiene: nombre, logotipo, descripción, URL del sitio web. Los productos referencian su metaobjeto de marca.
- Liquid:
{{ product.metafields.ns.brand.value.fields.name.value }}. - Ventajas: actualiza el registro de la marca una vez y todos los productos que lo referencian se actualizan automáticamente.
Elegir el tipo correcto: guía rápida
| Dato | Tipo recomendado | Por qué |
|---|---|---|
| Nombre de color ("Azul marino medianoche") | single_line_text | Texto, no un valor hexadecimal |
| Hexadecimal de color para muestra | color | Valida como hexadecimal, se renderiza correctamente |
| Dimensiones (Al × An × Fo) | single_line_text "75 × 43 × 33 cm" | Más sencillo que el tipo dimension para mostrar |
| Peso (siempre en kg) | number_decimal clave: weight_kg | Más sencillo que el tipo weight |
| Manual en PDF | file_reference | Almacenado en Shopify Files, servido desde CDN |
| Múltiples artículos compatibles | list.single_line_text | Array de valores de texto |
| Indicador sí/no | boolean | Verdadero/falso explícito, se renderiza como casilla |
| Año (p. ej., 1987) | number_integer o single_line_text | Entero si necesitas ordenar; texto si es solo para mostrar |
| URL externa | url | Formato validado, limpio en Liquid |
| Producto relacionado | product_reference | Enlaza al objeto producto real en Liquid |
Configuración de acceso desde el escaparate
- Cada definición de metafield debe tener habilitado el "Acceso desde el escaparate" para que sea legible a través de la Storefront API o del motor de plantillas Liquid de Shopify en los temas.
- Para habilitarlo: Administrador → Configuración → Datos personalizados → [namespace del metafield] → editar definición → activar "Acceso desde el escaparate".
- Sin acceso desde el escaparate: el valor del metafield NO está disponible en
product.metafields.namespace.keyen Liquid ni en la Storefront API. El campo es solo del administrador. - Habilita el acceso desde el escaparate para todos los metafields orientados al producto. Solo los campos internos del administrador (notas internas, precio de coste) deben permanecer restringidos al escaparate.
El error más común con los tipos de metafield es usar single_line_text para todo — es seguro, pero no aprovecha las características específicas de cada tipo. Un metafield product_reference te da el objeto producto completo en Liquid (título, precio, URL, imágenes) en lugar de solo una cadena con el handle del producto. Un metafield file_reference te da automáticamente una URL de la CDN de Shopify. Un metafield boolean se renderiza como una casilla de verificación en el editor de productos del Administrador, lo que es mucho menos propenso a errores para la edición por parte del comerciante que un campo single_line_text donde tienen que escribir "true" o "false". Dedica diez minutos a la selección del tipo al crear definiciones de metafield — se rentabiliza tanto en la experiencia de edición del comerciante como en la simplicidad de las plantillas Liquid.
Migra tu tienda con k-sync
Conecta tu tienda WooCommerce, valida tus productos y publícalos en Shopify en minutos. Gratis hasta 50 productos.
Empezar gratisLectura relacionada
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.