Channel & craft
Liquid (Braze templating)
Also known as: liquid templating · Shopify liquid · braze liquid
A templating language used in Braze, Shopify, and Jekyll for inserting dynamic variables, conditionals, loops, and filters into email, push, and in-app content — enables personalisation without code-level integration.
Liquid is the templating language originally created by Shopify, now widely used in Braze, Jekyll, and other marketing platforms for dynamic content injection. Core syntax: {{ variable }} for output, {% tag %} for logic (if/else, for loops, assignments), and pipe filters ({{ name | upcase }}) for transformation. In Braze specifically, Liquid accesses custom attributes ({{${first_name}}}), event properties, and connected content (external API calls). Operators use Liquid for personalisation tokens, conditional content blocks (show block A for segment X, block B for segment Y), date formatting (countdown timers, delivery-window display), and currency/locale handling for global programs. Common mistakes: unescaped user input opening XSS in connected-content fetches, missing default filters that render empty when the attribute is blank, and over-nested conditionals that become unreadable. Best practice: keep Liquid shallow, test with edge-case personalisation data, always add | default filters.
Try the tool
Read next
Liquid for lifecycle marketers — the complete Braze reference
Every personalised field in every Braze message runs through Liquid. Get it right and personalisation quietly improves every send. Get it wrong and 50,000 people see 'Hi {{${first_name}}}'. This reference covers the syntax and the production habits that stop that happening.
Personalisation that doesn't feel creepy
There's a line between personalisation that earns trust and personalisation that breaks it. It's not where most people think it is — it's about how you signal what you know, not what you know. Here's the line, how programs cross it without noticing, and the patterns that keep you on the right side.