Roma Bubyakin
Mar 31, 2026
Read 5 min
For organizations migrating from Confluence Server or Data Center to the Cloud, the loss of the native HTML macro is a frequent and frustrating hurdle. Instead of the interactive content you expect, migrated pages often display a jarring "Error loading the extension!" message.
While many look to single-purpose Marketplace apps to fill this gap, there is a more powerful and cost-effective solution: User Macro for Confluence Cloud. By leveraging this platform, you can not only restore your HTML functionality but also gain access to a full library of custom macros.
The Problem: "HTML Macro Gap"
On-premise versions of Confluence have long supported an embedded HTML macro. However, this macro does not exist in the Cloud. When you migrate, Confluence looks for a macro with the key html and, failing to find it, renders an error.
The most efficient way to fix these errors across your entire instance is to register a new macro in the Cloud that matches the original's unique identifier. User Macro for Confluence Cloud allows you to do exactly this.
There are two ways of doing that:
Import our macro pre-defined macro
Or create the same by your own
We have prepared readu-to-use HTML macro that will work just as-is.
Download the following JSON file: html_macro_for_importing.json
And Import it into User Macro app:
Do not forget to select the “Keep original macro key“ checkbox.
Otherwise the key will got uniq generated suffix and will not defined as the original HTML macro.
Instruction below will create the same macro as it was listed above in html_macro_for_importing.json file. It’s another (handmade) way to achieve the same goal.
To ensure the Cloud instance automatically picks up and renders your migrated data, follow these specific settings when creating your macro:
Macro Key: Set this to html. This is the most critical step for migration success; keeping the key identical to the original DC/Server version allows Confluence to recognize the data immediately.
Macro Type: Select Dynamic. This ensures support for JavaScript, which is essential for complex HTML content.
Body Type: Choose Plain Text. This is vital for compatibility during migration, as it handles the raw code correctly.
Output Type: Select Block. This mirrors the original layout behavior.
The Template: In the template editor, simply use the following code: $body This direct reference ensures the macro body is rendered as-is.
Right after saving the macro and reloading page it will work!
It’s because Confluence rendering page with html macro now know which exact macro should process this part. So it will work for all pages in the whole instance without additional actions, and even for pages with JavaScript.
On the Data Center page renders HTML macro as following:
And below how the same page rendered on Confluence Cloud:
Beyond just fixing broken links, using User Macro for Confluence Cloud offers several distinct advantages over standard HTML apps:
Isolated Execution: In the Cloud, dynamic macros run in isolated, sandboxed iframes. Our tests found that while the original Server macro occasionally failed when multiple instances were placed on a single page, our app handles multiple macros perfectly because each instance is safely isolated.
Beyond Just HTML: Instead of a one-trick tool, you get a complete macro library. You can use pre-built examples like the Page Tree View, Issue Filter, or Aggregated Page Attributes.
Customization Power: Unlike static apps, you have the flexibility to build your own macros from scratch to solve unique business problems.
Restoring the HTML macro opens the door to several interactive possibilities:
Custom Data Visualizations: Use JavaScript libraries to render interactive charts or graphs directly from external data sources.
Dynamic UI Elements: Create stylized banners, custom buttons, or interactive checklists that match your corporate branding.
External Integrations: Seamlessly embed content from third-party APIs or internal tools that don't have a native Confluence macro.
If you are facing migration challenges or want to explore how custom macros can enhance your Confluence Cloud experience, we are here to help.
Contact us at: info@wombatscorp.com
Fill out the form, and we'll guide you through every step of the way