> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wisepim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables de producto (calculadas)

> Calcula nuevos valores por producto con fórmulas: márgenes, precios formateados, nombres para mostrar y otros valores derivados de los datos existentes del producto.

Las variables de producto convierten los datos existentes del producto en nuevos valores mediante fórmulas. A diferencia de otras variables, no son estáticas. Cada una se recalcula por producto según los propios campos de ese producto. Úsalas para calcular márgenes, formatear precios, construir nombres para mostrar y más.

Configúralas en la pestaña **Productos** en **Configuración > [Content Logic](/es/workflows/content-logic)**.

## Crea una variable de producto

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/ZdmnAJ65bwRiVjL1/images/marketing-screenshots/settings/content-logic-products-light-branded.webp?fit=max&auto=format&n=ZdmnAJ65bwRiVjL1&q=85&s=71d8b55181aee6fadfe37fd459819e83" alt="WISEPIM content logic, the Products tab where dynamic products rules are defined" width="2400" height="1445" data-path="images/marketing-screenshots/settings/content-logic-products-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/ZdmnAJ65bwRiVjL1/images/marketing-screenshots/settings/content-logic-products-dark-branded.webp?fit=max&auto=format&n=ZdmnAJ65bwRiVjL1&q=85&s=0fee25d877ce649a7c7f2a4266caa5ed" alt="WISEPIM content logic, the Products tab where dynamic products rules are defined" width="2400" height="1445" data-path="images/marketing-screenshots/settings/content-logic-products-dark-branded.webp" />

<Steps>
  <Step title="Agrega una variable">
    Dale una etiqueta, una clave y una fórmula.
  </Step>

  <Step title="Construye la fórmula">
    Referencia campos con `{{product.field}}` y combínalos con operadores y funciones. Usa los botones **Insertar campo** e **Insertar operador**, o escribe `{{` para el autocompletado.
  </Step>

  <Step title="Revisa la vista previa">
    La vista previa en vivo resuelve tu fórmula con datos de ejemplo, así que puedes confirmar el resultado antes de guardar.
  </Step>

  <Step title="Referénciala en el contenido">
    Usa `{{product.your_key}}` en cualquier lugar donde se admitan variables.
  </Step>
</Steps>

## Operadores y funciones

| Tipo        | Disponibles                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------- |
| Aritméticos | `+` (sumar), `-` (restar), `*` (multiplicar), `/` (dividir), `%` (módulo), `( )` (agrupación) |
| Matemáticos | `round()`, `floor()`, `ceil()`, `min(,)`, `max(,)`, `abs()`                                   |
| Texto       | `concat(,)`, `uppercase()`, `lowercase()`                                                     |

<Tip>
  Para usar un operador como texto literal, escápalo con una barra invertida. `S\/M\/L` se muestra como "S/M/L".
</Tip>

## Fórmulas comunes

Cada ejemplo muestra la fórmula y el resultado que produce con datos de ejemplo.

### Precio con IVA incluido

Calcula el precio con IVA incluido a partir del precio base.

**Fórmula:**

```
round({{product.price}} * 1.21 * 100) / 100
```

**Resultado:** €129.99 → `€157.29`

Usa `1.21` para 21% de IVA, `1.09` para 9%, etc. El patrón `round(...*100)/100` mantiene dos decimales.

### Porcentaje de margen de ganancia

Muestra el margen como un porcentaje limpio.

**Fórmula:**

```
round(({{product.price}} - {{product.cost}}) / {{product.price}} * 100)
```

**Resultado:** Precio €129.99, Costo €75.00 → `42%`

Referéncialo como `{{product.margin_pct_display}}` en reportes internos o verificaciones de calidad de datos.

### Precio por unidad de peso

Útil para catálogos B2B donde los compradores comparan precio-por-kg o precio-por-unidad.

**Fórmula:**

```
round({{product.price}} / {{product.weight}} * 100) / 100
```

**Resultado:** €2.45 / 0.085 kg → `€28.82/kg`

### Nombre para mostrar con SKU y marca

Construye un nombre estandarizado para exportaciones y catálogos.

**Fórmula:**

```
{{product.brand}} | {{product.name}} ({{product.sku}})
```

**Resultado:** `Fischer | Stainless Steel Hex Bolt M10x50 (SS-HB-M1050)`

### Monto y porcentaje de ahorro

Calcula el descuento real para productos en oferta.

**Fórmula (ahorro):**

```
round(({{product.price}} - {{product.special_price}}) * 100) / 100
```

**Resultado:** `€30.00`

**Fórmula (porcentaje de ahorro):**

```
round(({{product.price}} - {{product.special_price}}) / {{product.price}} * 100)
```

**Resultado:** `23%`

### Volumen y peso dimensional

Calcula el peso volumétrico para estimar los costos de envío.

**Fórmula (volumen en cm³):**

```
{{product.length}} * {{product.width}} * {{product.height}}
```

**Resultado:** 50 × 17 × 17 → `14450 cm³`

**Fórmula (peso dimensional en kg, usando divisor 5000):**

```
round({{product.length}} * {{product.width}} * {{product.height}} / 5000 * 100) / 100
```

**Resultado:** `2.89 kg`

### Precio mínimo de venta desde el margen objetivo

Calcula el precio piso que mantiene un margen mínimo.

**Fórmula:**

```
round({{product.cost}} / (1 - 0.30) * 100) / 100
```

**Resultado:** Costo €75.00, Margen objetivo 30% → `€107.14`

Cambia `0.30` a tu margen mínimo deseado.

### Valor de stock (costo × cantidad)

Calcula el valor del inventario por producto para reportes.

**Fórmula:**

```
round({{product.cost}} * {{product.stock_quantity}} * 100) / 100
```

**Resultado:** Costo €2.45, Stock 500 → `€1225.00`

### Cadena de especificaciones formateada

Construye una línea de especificaciones estandarizada a partir de varios campos.

**Fórmula:**

```
concat({{product.weight}}, " ", {{product.weight_unit}}, " | ", {{product.length}}, "×", {{product.width}}, "×", {{product.height}}, " ", {{product.dimension_unit}})
```

**Resultado:** `0.085 kg | 50×17×17 mm`

### Precio de venta basado en un margen fijo

Calcula el precio de venta aplicando un margen fijo al costo.

**Fórmula:**

```
round({{product.cost}} * 1.60 * 100) / 100
```

**Resultado:** Costo €75.00, 60% de margen → `€120.00`

## Consejos

* **Revisa la vista previa antes de guardar.** Usa valores de ejemplo para mostrar cómo se resuelve tu fórmula.
* **Rellena los campos que referencias.** Si un campo referenciado está vacío, la fórmula se resuelve a una cadena vacía y el cálculo no se ejecuta.
* **Formatea los precios con limpieza.** Envuelve las fórmulas de precios en `round(...*100)/100` para obtener resultados ordenados de dos decimales.
* **Combina tipos de variables.** Las variables de producto pueden referenciar otras variables de producto, globales, de marca y de categoría en sus fórmulas.

## Relacionado

<CardGroup cols={2}>
  <Card title="Variables globales" icon="globe" href="/es/workflows/content-logic/global-variables">
    Reutiliza contenido a nivel de empresa en todos los productos.
  </Card>

  <Card title="Variables de marca" icon="tag" href="/es/workflows/content-logic/brand-variables">
    Guarda valores distintos por marca.
  </Card>

  <Card title="Variables de categoría" icon="folder-tree" href="/es/workflows/content-logic/category-variables">
    Guarda valores distintos por categoría.
  </Card>

  <Card title="Bloques condicionales" icon="git-branch" href="/es/workflows/content-logic/conditional-blocks">
    Muestra contenido solo cuando se cumplen las condiciones.
  </Card>
</CardGroup>
