Placeholders

How to bind a Studio element to product data using expressions and placeholder chips, set up fallbacks, and configure advanced per-placeholder settings like content reuse, approval, and tagging.

Updated October 7, 2026

Placeholders connect the elements on your canvas to real product data — titles, prices, images, ad copy, reviews — so one template can generate a unique ad for every product in your catalog. This article covers binding an element, writing expressions, and the advanced settings that control exactly which content a placeholder is allowed to use. For the full list of available fields, see Available placeholders.

Binding an element#

Select a text, image, video, or audio element (shape and frame elements can't hold a placeholder directly) and open the Properties tab. A Binding section appears — press + to create a placeholder for that element.

Once a placeholder exists, its expression is an editable field that mixes literal text with placeholder chips — click into it and start typing, or open the placeholder menu (the down-arrow at the end of the field, described below) to insert a reference to a product field. For example:

{{Title}} - Shop your gear at Renable! - {{Average review score}} of {{Review scale}} from {{Number of reviews}} reviewers

When the template renders for a specific product, this resolves into something like:

Seagate Game drive PS5 4TB - Shop your gear at Renable! - 5 of 5 from 4 reviewers

Removing a binding (the Remove action in the Binding section) deletes the placeholder from the element entirely; the element falls back to its static content.

The placeholder menu#

The down-arrow at the end of an expression field opens the placeholder menu. It's the same menu in Studio bindings and automations, a channel's Fields and Rules tabs, and prompts. (A catalog's Mapping and Rules tabs list your feed's columns instead, as a plain list.)

Searching#

The search field is ready as soon as the menu opens — just type. A search looks at each placeholder's name and description, at the name Google gives the field (sale_price, gtin), and at common words for it: "inventory" finds Stock count, "barcode" or "ean" finds GTIN, "sku" finds ID and "url" finds Link. When a placeholder matches on a word other than its name, the row says which ("matches inventory").

Use ↑ and ↓ to move through the list and Enter to insert. Tab and Shift+Tab jump from group to group, and Enter on a group's header folds or unfolds it. Esc clears the search; with the search empty, Esc closes the menu.

Groups#

Placeholders are grouped by topic, always in the same order, and listed alphabetically inside each group. A text field shows Product, Price & stock, AI copy, Reviews, Product details, Custom attributes, Identifiers, Catalog and Advanced. Image and video fields start with the media: Processed images (Product image and the other image categories, plus Image template and Image gallery), Feed images (Image link and Additional image link — your feed's own images) and Video, followed by Advanced. A field only shows the groups that hold something of its type — an image field has no Video group, for example.

Identifiers, Catalog and Advanced start folded. Click a group's header to open or fold it; the number beside it is how many placeholders it holds. A search opens every group.

Where a value comes from#

Each row has a small marker saying where its value comes from:

  • From your feed — the value as your feed gives it, after the catalog's rules have run.
  • Calculated — worked out from values in your feed, such as Discount amount and Discount percentage.
  • Catalog settings — taken from the catalog's settings, such as Catalog name and Currency symbol.
  • Added by Renable — content Renable adds: AI-written copy, processed images, reviews, videos and templates.

The chips under the search field filter by it: All, From your feed (which includes calculated values and catalog settings) and Added by Renable. Each chip shows how many placeholders it would list for the current search.

The strip at the bottom of the menu describes the highlighted placeholder: its name, where its value comes from, the name Google gives the field when it has one, and what it inserts.

Custom attributes#

Custom attributes lists the attributes your catalogs carry beyond the standard fields — energy_efficiency_class, custom_label_0 and the like — by the name your feed gives them. In Studio these are the attributes of the catalogs in the project picked in the Preview panel; on a channel or a prompt, of the catalogs it reads products from. When an attribute isn't in every one of those catalogs, its row says how many have it ("1 of 3 catalogs").

Click an attribute to insert it. Its chip reads Attribute: and the name (for example Attribute: energy_efficiency_class), and products that don't have the attribute leave it empty.

For an attribute that isn't listed — one you've only just mapped, say — choose Use another attribute… at the end of the group and type its name exactly as your feed spells it. If a search matches nothing at all, the menu also offers Use your search as a custom attribute. An attribute name can't contain <, > or =. In Studio with no project picked in the Preview panel, the group offers only Use another attribute….

The same group appears in a condition's field menu, in a template's automations and a channel's rules, so a condition can test a custom attribute. It compares the attribute's value as text, and a product without the attribute reads as empty, so is blank is true for it.

Example values#

When you've picked a sample product, each row shows what it would insert for that product, on the right, and the strip at the bottom repeats it ("For this product: …"). An image placeholder shows a small picture, and a placeholder holding several values shows the first with "+2 more". The sample product is the one picked in Studio's Preview panel, the sample product on a channel's Fields or Rules tab, or the sample product on a prompt. Without one, the strip says "Pick a sample product to see an example."

The examples only show what's already stored for the product — opening the menu never writes copy, renders a template or uses credits. So some rows have no example:

  • empty — the placeholder exists for this product but inserts nothing.
  • not fetched yet — Renable hasn't fetched its own copy of this feed image yet. It does so the first time a template or prompt needs it.
  • No value at all — nothing is stored for this product ("Not set for this product."), or the placeholder isn't stored on the product, like a template or the Placeholder option ("No example: this isn't stored on the product.").

On a channel, the examples are what the channel writes: Image link is your feed's own image address, exactly as the feed gives it. In Studio and prompts, Image link is Renable's own copy of that image.

Fallbacks#

Not every product has every kind of content. Add a fallback so the placeholder tries something else when its primary source is missing — click the ⋮ menu at the end of the expression field and choose Add fallback. The option appears once the expression holds a placeholder: text you type is never missing, so a fallback under it could never be used. For example, a placeholder can try the Short title field first, and fall back to the regular product Title if a short title isn't available. Fallbacks chain, so you can stack several in priority order.

Missing content#

When a placeholder can't find content anywhere in its fallback chain, that's "missing content." Missing content on a product usually means some required creative is absent for that product, and you'd typically want to pause that product from running in ads — done with an automation on the channel, not in the template itself (see Channel automations). Otherwise you risk publishing an ad that looks broken or incomplete.

Sometimes missing content is fine. You can allow it two ways:

  • Add a final, empty fallback (an empty expression at the end of the chain).
  • Click the placeholder chip and turn off "Require content for this placeholder" in the settings that open (this label reads "Fallback to the next placeholder..." instead, if the chip already has a fallback chained after it). Once it's off, the chip shows a small icon confirming it's OK for this content to be missing.

Advanced placeholder settings#

Click any placeholder chip to open its settings. These apply per-placeholder, so you can mix strict and lenient placeholders in the same template:

  • "Reuse the same {content} as other placeholders used" — on by default, so multiple placeholders of the same kind (for example two "Reason to buy" placeholders) all pull the same piece of content. Turn this off to give each placeholder a different item instead — it goes missing once the available content runs out. Useful for building a list of several distinct reasons to buy, images, or reviews.
  • "Only use content approved by a human" — restrict this placeholder to only use content a human has explicitly approved, giving you full editorial control over what AI-written or AI-selected content reaches ads. Approve content from a project's Content page — see Reviewing and approving content.
  • "Skip content flagged by quality checks" (images only today) — skip content that failed an automatic quality check. Flagged content is normally still used in your ads; turn this on when you'd rather this placeholder fall back than risk a poor result. Approving the content clears the flag and makes it usable again. See Reviewing and approving content.
  • "Only use images set as primary" (images only) — restrict to the single primary image your catalog feed designates for the product, ignoring any other gallery images or AI-generated alternatives.
  • "Use content from the project" — point the placeholder at content stored on the project instead of on the product (company taglines, brand reviews, and similar shared assets), useful as a shared fallback across all products.
  • "Only content with one of these tags" — restrict the placeholder to only consider content tagged with one or more specific tags. Content is only picked up by a placeholder that explicitly names its tag, which lets you, for example, prewrite seasonal copy with a prompt and activate it in a template only when you add that tag to the relevant placeholder (or automatically via an automation).
  • "Only content in these languages" — restrict the placeholder to content written in one or more specific languages.

The two approval settings — "Only use content approved by a human" and "Skip content flagged by quality checks" — are about choosing between existing pieces of content, so they don't appear on a chip that renders an ad template into a channel field (a design block's image or video, for example). Nothing is chosen there: the ad is drawn for each product from the template you picked. Approve the content the template itself pulls in instead, on the placeholders inside that template.

Transforming a value with steps#

A placeholder's value can go through steps before it's used — replace text, change its case, do some maths, format a date, split it into a list and filter it, and more. Click the chip, then + Add step (or the Add transform step icon at the top of its settings), and pick a step from Text, Numbers or Lists. Steps run in order, top to bottom; drag them to reorder, and with a sample product picked each step shows what it produces. These are the same steps a catalog uses on its feed, and every one of them is described in Steps: changing a value before it is used.

Formatting prices and other numbers#

A number is written exactly as it is unless a Format number step says otherwise — the rule is explained in Languages and localization. When you insert a price, a discount or an average review score into an expression, its chip comes with a Format number step already in place: two decimals for prices and discount amounts, no decimals for a discount percentage, and one for an average review score. Click the chip to change it:

  • Round to decimals — how many decimals to show. Leave it empty (As is) to keep the number's own decimals.
  • Decimal separator and Thousands separator — each starts on the separators of the catalog's language. In Studio the menu names the preview catalog's, for example Catalog language (sv-SE: 4 490,50), and reads Catalog default with no preview catalog picked; either way each catalog's ads use its own language's. Pick a separator here to override it for this one placeholder.

Steps run in order, so anything that changes the number — a Math step, say — goes before Format number, and text steps such as Replace go after it. Format number turns the number into text, so a Math step after it has to read that text back and can get it wrong. The same "+ Add step" menu holds every other step too — Replace, Trim whitespace, Build text, Split and the rest; see Steps: changing a value before it is used.

A Math step calculates with a fixed number or with another field: type the number into its box, or pick the field there instead — for example Price minus Sale price gives the saving. Type a number with a dot or a comma as the decimal separator; thousands separators and units are not read, so 1,5 is one and a half, 1.000 is one, and 1 000 or 12 kr isn't a number. When you leave the box, the number shows the way it was read (1,50 becomes 1.5). If what you type isn't a number, the box says so and nothing is saved. If the other field has no value for a product, the result is empty and the placeholder's fallback is used. The field you pick can have steps of its own, which is how you calculate part of a formula first. Format the result with a Format number step after the Math step; the field you calculate with cannot be formatted first.

Two steps calculate with dates: Date difference counts the days (or another unit) between the placeholder's date and another date such as Today's date, and Shift date moves a date forward or back. How they count, time zones, and what a date that changes every day costs in renders are explained in Working with dates.

Review stars are the exception: an Average review stars or Review stars placeholder has a Show half stars switch in its settings instead of a step, which rounds the score to the nearest half star rather than a whole one. A new Review stars placeholder starts with it on, a new Average review stars placeholder with it off. Golden emoji stars always show whole stars, so the switch only matters with Show golden emoji stars off.

Aimée can set bindings for you#

You don't have to build every expression by hand — you can ask Aimée, in the same chat drawer used everywhere in Studio, to bind an element to a specific field, add a fallback, or restrict a placeholder to approved content, and she'll edit the binding directly. See Working with Aimée.

Next steps#