A footer, a banner, or a promotional message that appears across dozens of templates and channels is slow to maintain and easy to get wrong. Change it in one place and you have to remember everywhere else it lives.
Content Blocks fix this. A Content Block is a single, centrally managed piece of content that you build once, store in Content Studio, and reference wherever you need it — across templates, campaigns, and channels. Add it to an Email and it renders the rich version; add the same block to a Mobile Push and it renders synchronized plain text. Update the source and everything using it resolves to the latest version.
Content Blocks are the evolution of content tags. The idea is the same — reusable content you maintain in one place — but blocks are built in Content Studio with full Liquid and Data Connections support, so the content can also personalize itself at execution time.
Because a block is inserted as a Liquid reference, it only renders in templates that support Liquid and Data Connections. A single block can carry visual content, HTML, synchronized plain text, Liquid personalization, and Data Connection lookups, all managed from one place.
This guide will walk you through how to create a Content Block in Content Studio, build and personalize it, save it, preview it, and insert it into your templates and campaigns.
How Content Blocks Work
You manage one source. Each place you use the block resolves the right output automatically.
- Create once, reuse everywhere: Build a block one time and reference it across templates, campaigns, and channels.
- Synchronized plain text: As you build in the visual editor, a plain text version is generated alongside your content in real time. You can show or hide it, review it as the content evolves, and edit it manually when needed.
- Update once, update everywhere: When a block is inserted dynamically using its Liquid reference, the latest saved version resolves wherever it is used.
How cross-channel blocks work
Content Blocks are supported across every Optimove channel. The same block resolves to the right output for the channel it's used in:
- Email and Overlay Messaging render the rich HTML content.
- Mobile Push, SMS, and Web Push render the synchronized plain text.
Sharing across instances and brands
A Content Block can be made available to multiple instances or brands, while the instance where it was created — the source instance — always owns it. This protects shared assets and reduces the risk of unintended changes.
- Edit and delete: A block can only be edited or deleted in the instance where it was created.
- Visibility: A block may be visible across multiple tenants or brands, depending on configuration.
- Dependencies: Deleting a block or removing tenant access can affect templates and campaigns that depend on it.
- New tenants: New tenants do not automatically inherit previously created blocks unless the blocks are explicitly attached.
Step-by-Step: How to Create and Use a Content Block
Step 1: Open Content Studio and create a Content Block
Content Studio is the central library where you create, search, view, and manage your Content Blocks.
Instructions:
- Navigate to Plan → Content Studio → Content Blocks.
- Click "+ Create".
- Choose your editor:
- Visual Editor — drag and drop ready-made components to build your block.
- HTML Editor — use existing code or write your own. (Coming soon.)
- Give your block a name in the title field at the top of the editor.
Step 2: Build your block in the Visual Editor
The Visual Editor lets you build a Content Block using drag-and-drop content elements. It is split into two main areas, controlled by the tabs on the right:
- Content — add individual content elements to the block.
- Row — structure the layout and control how the block behaves across devices.
Instructions:
- On the Content tab, drag the elements you need into the block. Supported elements include Title, Paragraph, List, Image, Button, Table, Divider, Spacer, Social, HTML, and Video.
- Select any element to edit its properties — font, color, alignment, spacing, and more — in the panel on the right.
- Switch to the Row tab to set backgrounds, borders, rounded corners, and spacing; define mobile stacking and responsive behavior; and build and configure column structures.
Step 3: Personalize with Liquid and Data Connections
Content Blocks aren't fixed content — they can adapt to each customer and campaign at execution time. You can personalize a block using Liquid, apply conditional logic, set fallback values for missing data, and pull in Data Connection lookups to reference dynamic values such as text, offers, or image URLs.
Instructions:
- Add Liquid personalization tags to your content to reference customer or campaign-level data.
- Apply Liquid logic as needed — for example, conditional blocks or fallback values so missing data still renders cleanly.
- To use a Data Connection lookup, copy an existing Data Connection reference from another channel's template and paste it into your block.
Step 4: Save your Content Block
You can save a Content Block at any time during creation. Saving stores the block, makes it available for reuse, and adds it to the shared library.
Instructions:
- Click Validate to check that your personalization tags are valid before saving.
- Click Save. On first save, the block name is stored and a unique Liquid reference is generated.
- Copy the Liquid reference from the Liquid Tag field at the top of the editor to reuse the block elsewhere.
The Liquid reference acts as the block's reusable tag in supported templates:
{{ content_block('termsuk-rbvnr41fw4') }}Step 5: Preview your Content Block
Preview lets you review a Content Block before using it in a template or campaign, so you can confirm it renders as expected and that personalization is working.
Instructions:
- Open the Preview tab in the editor.
- Choose Random customer data to preview with a sample customer, or select Data for customer ID and enter a specific Customer ID.
- Review how the block renders, and confirm that any Liquid-driven personalization resolves correctly.
Step 6: Insert the Content Block into templates and campaigns
Once saved, a Content Block is inserted using its Liquid reference. The block is resolved dynamically at execution time based on the channel, so the same reference works across channels.
Instructions:
- Copy the Liquid reference from the block's Liquid Tag field, for example
{{content_block('termsuk-rbvnr41fw4') }}. - We recommend inserting a Content Block into a template via an HTML block. Paste the reference into the HTML block where you want it to appear.
- In other channels, such as Mobile Push, paste the same Liquid reference — the block resolves to the appropriate format for that channel.
Custom Rows vs the Liquid reference
There are two ways to reuse a Content Block, and they behave differently. Choose based on whether you need centralized updates:
- Custom Row — visual reuse in email only. You can save a block as a Custom Row and drag and drop it directly into email templates, but content inserted this way does not use dynamic Liquid resolution and does not support update-once, update-everywhere.
- Liquid reference — dynamic. The latest saved version of the block resolves wherever the reference is used, so a single update applies everywhere.
Use the Liquid reference when you need centralized updates to apply everywhere.
Use Case Examples
- Compliance footers: Maintain a single regulatory footer (such as responsible-gambling logos and terms) as one block, and reference it across every Email and message so updates only happen in one place.
- Recurring promotions: Build a match-day promotion once and reference it wherever it runs. The rich version renders in Email, the synchronized plain text in Mobile Push.
- Multi-brand reuse: Share a common block across brands or instances while keeping ownership and updates controlled from the source instance.
FAQ
Can I add more than one row to a Content Block?
No. Each Content Block is limited to a single row, so additional rows cannot be added.
Where can I edit or delete a Content Block?
A Content Block can only be edited or deleted in the instance where it was created. That source instance remains the single point of control. Deleting a block or removing tenant access can affect templates and campaigns that depend on it.
Will new tenants automatically get existing Content Blocks?
No. New tenants do not automatically inherit previously created blocks unless the blocks are explicitly attached.
Can I create a Data Connection reference inside a Content Block?
Not yet. This is a temporary limitation while the personalization modal is rebuilt. For now, copy an existing Data Connection reference from another channel's template and paste it into your block.
Can I change a block's name or Liquid reference after saving?
No. The block name and Liquid reference are locked after the first save to protect existing usage across templates and campaigns. Choose a name you're happy to keep.
Does Preview show how the block looks in every channel?
Currently, Preview shows the Email rendering only. Cross-channel preview is coming soon.