Modificadores

Descripción general #
Los Modifiers te permiten cambiar los datos después de la sincronización, sin tocar tu feed de datos ni involucrar a un desarrollador. Actualmente, los Modifiers son compatibles con Products, Categories, Customers y Pages.
Los Modifiers se evalúan de arriba hacia abajo, por lo que el orden en el que aparecen en la lista es importante. Los ejemplos a continuación usan datos de productos, pero la misma función de Modifier se puede usar con los otros tipos de datos admitidos.
Hay dos formas de crear un Modifier: usando AI Modifiers, que es el enfoque recomendado, o eligiendo uno de los tipos de Modifier estándar para transformaciones más simples y predefinidas.
AI Modifiers #
Los AI Modifiers son la manera predeterminada y recomendada de crear Modifiers. En lugar de configurar campos y reglas individuales, simplemente describes lo que quieres que haga el Modifier en lenguaje natural, y la IA genera una función de Python que transforma tus datos de producto en consecuencia.
Este enfoque es mucho más flexible que los tipos de Modifier estándar. Puedes describir lógica compleja, combinar múltiples condiciones, calcular nuevos valores a partir de atributos existentes y manejar casos especiales, todo sin escribir ningún código tú mismo.
- Haz clic en Add Modifier y selecciona AI Modifier como tipo (esto está seleccionado por defecto).
- En la página del Modifier, haz clic en el botón para abrir la barra lateral Ask.
- En la barra lateral Ask, describe lo que debe hacer el Modifier. Sé lo más específico posible sobre la lógica, los atributos involucrados y el resultado esperado.
- La IA genera una función de Python basada en tu descripción.
- Prueba el Modifier usando la vista previa Before & After antes de guardar.
Ejemplos de prompts:
- “Crear un atributo llamado
variant_stock_percentageque muestre cuántas variantes de un producto están actualmente en stock, como un porcentaje entre 0 y 100.” - “Establecer
availabilityenIn stocksistockes mayor que 0, de lo contrario establecerlo enOut of stock.” - “Crear un atributo
discount_percentagecalculando la diferencia porcentual entrelist_priceyprice, redondeada al entero más cercano.”
La función de Python generada por la IA es de solo lectura — no puedes editarla directamente. Para cambiar la lógica, continúa la conversación en la barra lateral Ask y permite que se actualice la función. Ask Clerk.io puede investigar tu tienda y configuración antes de crear el Modifier, lo cual le ayuda a comprender el contexto detrás de tu solicitud.
Tipos de Modifier estándar #
Para transformaciones más simples, hay disponibles tipos de Modifier estándar. Estos cubren un conjunto de operaciones predefinidas y son fáciles de configurar, pero están más limitados en lo que pueden hacer en comparación con los AI Modifiers.
Todos los Modifier estándar tienen un campo de entrada if. Si se añade una declaración, el Modifier solo se ejecuta en los productos donde dicha declaración sea verdadera.
| Tipo | Efecto |
|---|---|
Create new attribute | Añade un atributo a todos los productos |
Delete attribute | Elimina un atributo en todos los productos |
Delete product | Elimina completamente el producto |
Update attribute | Actualiza un atributo usando un patrón regex |
Change attribute type | Cambia el tipo de un atributo en todos los productos |
Split attribute by separator | Divide una cadena por el separador en una lista de cadenas |
Append value | Añade un valor a un atributo de lista existente |
Evaluate an expression | Evalúa una expresión matemática en un atributo |
Capitalize value | Formatea una cadena en capitalización de título |
Make value uppercase | Formatea una cadena a todo mayúsculas |
Make value lowercase | Formatea una cadena a todo minúsculas |
Create formatted attribute | Crea un nuevo atributo formateando datos existentes |
A continuación se describe cada tipo de Modifier estándar.
Create new attribute #
Toma un new_value que muestra qué valor debe tener el atributo; se puede usar tanto para un nuevo atributo como para reemplazar uno existente.
Delete attribute #
Elimina el atributo especificado de todos los productos, o de algunos en función de una declaración if.
Delete product #
Elimina el/los producto(s) especificado(s) según una declaración if.
Update attribute #
Este Modifier utiliza regex con la librería de Python. Si regex es nuevo para ti, considera utilizar AI Modifiers en su lugar — pueden manejar las mismas transformaciones sin ningún conocimiento de regex.
Update toma el atributo regexp, que es una expresión regex que coincide con algunas partes del atributo y reemplaza cada grupo coincidente con el contenido de replace_by. Aquí tienes una herramienta útil para crear tu regex.
Un ejemplo de regex podría ser []+ con un replace_by de ’/’, esto tomaría todos los lugares en el atributo donde hay múltiples / seguidos y los reemplazaría por un solo /. Así, https://test//tests se convertiría en https:/test/tests.
Ejemplo #
En este ejemplo, queremos eliminar la última parte de una URL usando un patrón regex. La URL inicial es: https://example.domain/product/153//__example. Para eliminar la parte //__example, podemos utilizar el siguiente regex: \/\/__example.
Como simplemente queremos eliminar esta parte de la URL sin reemplazarla por nada, el campo Replace by se deja vacío.

Change attribute type #
Permite cambiar los tipos de un atributo. Así que, si los datos son un número y necesitas que sean una cadena, puedes usar esto para hacer el cambio de tipo. Los tipos de atributo son: string,int,float y boolean.
Split attribute #
Permite dividir una cadena por un separador, formando una lista de cadenas. Por defecto, divide por coma si no se especifica otro separador.
Ejemplo #
Aquí estamos dividiendo un atributo con categorías convirtiéndolo en una lista: "lineman, chute" a ["lineman","chute"].
Append value #
Permite añadir nuevos valores a un atributo de lista existente.
Esto podría ser agregar cadenas adicionales a un atributo tags o añadir una nueva categoría a un atributo categories.
Evaluate an expression #
La acción Expression evalúa una expresión matemática, que puede incluir atributos, constantes y operadores. Así, si defines esta expresión: price * 0.8, el sistema calculará el resultado multiplicando el valor del atributo price por 0.8, aplicando un descuento del 20%.
Ejemplo #
Si introduces en el campo New Value la cadena: price * 0.8 y el precio es 100, entonces el resultado sería 80.
New formatted attribute #
Esta acción crea un nuevo atributo basado en datos existentes, aplicando formato o transformaciones a su valor.
Para hacer referencia a un atributo existente, encierra su nombre entre llaves sin espacios: {attributeName}.
- Copiar un atributo: configura New Value como
{MPN}. - Concatenar texto y atributos:
€ + {price}.
Si incluyes espacios dentro de las llaves, como { attribute }, el sistema guardará la cadena literal (incluyendo las llaves), no el valor del atributo.
Ejemplo #
Puedes combinar atributos, añadir prefijos o sufijos, o cambiar cómo aparecen los datos. Por ejemplo, para crear un precio formateado como €100,00, configura New Value como: € + {price}.
If Statements #
Si añades cualquier declaración en el campo if, el comando solo se ejecutará en los atributos donde la declaración dada sea verdadera.
Los operadores disponibles son:
| Operador | Significado |
|---|---|
== | Coincide con todos los productos donde el atributo es igual al valor. |
!= | Coincide con todos los productos donde el atributo no es igual al valor. |
> | Coincide con todos los productos donde el atributo es mayor al valor. |
>= | Coincide con todos los productos donde el atributo es mayor o igual a valor. |
< | Coincide con todos los productos donde el atributo es menor al valor. |
in | Coincide una subcadena en una cadena o un elemento en una lista |
or | Coincide si x O y es válido |
and | Coincide si x Y y son válidos |
Ejemplo #
Crear un nuevo atributo Availability configurado en Available, If stock > 0.

Crear atributos a partir de listas #
Un caso de uso común es crear un atributo separado a partir de valores en un atributo de lista existente. Por ejemplo, si tienes un atributo tags que contiene valores como Female, Male y Unisex, puedes crear un atributo gender dedicado para usar en los facets de Search.
El operador in verifica si un valor existe dentro de una lista. La sintaxis es:
"value" in attribute_name
Para crear un atributo gender a partir de tags, configura múltiples Modifiers en secuencia:
| Attribute | New Value | If |
|---|---|---|
gender | Female | "Female" in tags |
gender | Male | "Male" in tags |
gender | Unisex | "Unisex" in tags |
Cada Modifier se ejecuta solo cuando su condición es verdadera. El orden importa: si un producto tiene múltiples tags coincidentes, el último Modifier coincidente determina el valor final.
Nota: El valor que estás verificando debe ir entre comillas (por ejemplo,"Female"), mientras que el nombre del atributo se escribe sin comillas (por ejemplo,tags).
Combinando condiciones #
Puedes combinar múltiples condiciones utilizando los operadores and y or.
Coincidir productos donde brand es Nike Y stock es mayor a 0:
brand == "Nike" and stock > 0
Coincidir productos donde la categoría contiene shoes O boots:
"shoes" in categories or "boots" in categories
Coincidir productos con un tag específico Y precio superior a 100:
"premium" in tags and price > 100
Prueba y guardado #
Antes de hacer clic en Save & Run, que aplica los Modifiers en todo tu catálogo, es recomendable probar primero tu nuevo Modifier. Puedes hacerlo en la sección See how your modifiers impact your product data.
Aquí, puedes seleccionar un producto y ver cómo lo afecta el Modifier usando la visualización Before & After.

Puedes incluir o excluir Modifiers individuales de la vista previa. Usa la casilla Include in preview en cada Modifier para eliminarlo temporalmente del cálculo de la vista previa al probar un producto. Esta selección solo afecta la vista previa y no el Modifier en vivo — todos los Modifiers se aplicarán al hacer clic en Save & Run.
Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.