Skip to main content

Content Logic

Write the shipping line once Variables fill in each product

Reusable variables, formulas and if/else blocks that resolve from product data, so one record renders correctly for every channel.

  • 7 variable scopes
  • {{scope.key}} in every content field
  • Resolved on export

Key features

  • One syntax, seven scopes

    Type {{ in any content field and pick from defaults, global, brand, category, product, channel or conditional values.

  • Formulas over your own fields

    Compute price per unit, savings or margin from fields the product already carries, with the result visible before you save.

  • Different content per channel

    Trim a title for Amazon, strip HTML for a feed, wrap the description in your webshop template, all from the same record.

What it is for

Three jobs a prompt handles badly

AI is good at prose. These are the parts that have to come out identical every single time.

  • Format per channel

    Amazon trims titles, a feed wants plain text, your webshop wants HTML. One transformation per channel, applied when the product exports.

    Result: one product record instead of three spreadsheets.

  • Split B2B from B2C

    A conditional block shows ex-VAT pricing and specifications on one channel, and retail pricing and lifestyle copy on another.

    Result: two audiences served from the same catalog.

  • Feed the prompt

    Drop {{brand.tagline}} or {{category.benefits}} into an enrichment prompt so the AI writes with facts you control.

    Result: the model stops guessing your brand details.

How it works

Set it up in three steps

None of this needs a developer.

  1. 01

    Look at what you already have

    no setup

    The Defaults tab lists product identity, pricing, inventory and date fields as variables before you configure anything at all.

    A list of {{keys}} you can paste into any content field.

  2. 02

    Add the values only you know

    about 10 minutes

    Global values like a return policy, brand fields like a tagline, computed variables like margin, and if/else blocks for the rest.

    Rules that live in one place instead of in every description.

  3. 03

    Reference them where you write

    four places

    Bulk edits, enrichment prompts, export templates and automation actions all accept the same {{scope.key}} syntax.

    Each product resolves its own value, per channel.

Formulas

Compute a value instead of typing it

A product variable is a formula over fields the product already carries, and the result is visible before you save it.

  • Arithmetic and math

    Plus, minus, times, divide and modulo, with round(), ceil(), floor(), min(), max() and abs() for price and margin work.

  • Text functions

    concat(), uppercase() and lowercase(), to build a display name or an SEO title out of other variables.

  • Live preview

    The formula resolves against a real product while you type, so a broken one never reaches a save.

Computed variables: {{product.price_per_unit}}, {{product.savings}}, {{product.margin}}. Each one is a formula over fields the product already has.

Conditional blocks

Stock drops, the copy changes

A conditional block picks its content from a product field. Stock under five adds a warning, a price over fifty adds free shipping, and a date range adds a campaign line and takes it away again.

Conditional blocks read like {{if sale_banner}}: pick the field, pick the operator, and write the content for each branch.

Where it applies

The same {{scope.key}} works in four places

Define it once, then reference it wherever you write content.

  • Bulk editing

    Find and replace, append, prepend and set-field-value all resolve variables per product.

  • Enrichment prompts

    Give the model the brand tone and the category benefits instead of repeating them in every prompt.

  • Export templates

    Each export resolves the variables for the channel the file is going to.

  • Automations

    An action inside a pipeline writes the resolved value, not the variable syntax.

FAQs

Content Logic questions, answered

Variables, formulas and conditional blocks, and where each one stops.

Still have questions?

Can't find the answer you're looking for? Please get in touch with our team.

Contact Support

Two braces around a scope and a key: {{product.name}}, {{global.company_name}}, {{brand.tagline}}. Type {{ in any content field and autocomplete lists what is available. The syntax is stored on the product; it is replaced with the real value at export, so a channel never receives the braces.

Defaults (built-in product, pricing, inventory and date fields), Global (shared key-value pairs), Brands (fields each brand fills in), Categories (per-category data), Products (values computed with a formula), Channels (transformations per sales channel) and Conditional (if/else blocks). Defaults needs no setup; the other six are yours to define.

Yes, with conditional blocks and channel transformations. The same product can render specifications and ex-VAT pricing on a B2B channel and lifestyle copy with retail pricing on a B2C one. It does not manage two price lists for you: the second price is a formula over the first, or an attribute you import.

You reference them inside the prompt. {{brand.tone}} and {{category.benefits}} resolve per product before the prompt is sent, so the model receives the facts rather than a placeholder. It does not make the model follow the values: the prompt still has to ask it to.

Arithmetic (+, -, *, /, %), math functions (round, ceil, floor, abs, min, max) and text functions (concat, uppercase, lowercase). They combine, so a price including VAT, a margin percentage or a formatted display name are all one expression. There is no scripting language behind it.

You pick a product field, an operator (equals, contains, greater than, is empty, and the rest) and the content for each branch. Conditions combine with AND and OR, and you can add else-if branches. The block evaluates per product at the moment the content resolves, so a stock change is reflected on the next export rather than on a schedule.

Next step

Define one variable and see it resolve

Start free and open the Defaults tab, where the first set of variables is already waiting.