Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Dynamic Page Publishing in AEM Edge Delivery with BYOM and App Builder

Avatar

Employee

7/28/25


Introduction

Bring Your Own Markup (BYOM) is a powerful feature of Adobe Experience Manager (AEM) Edge Delivery Services that allows you to programmatically generate HTML pages from a dynamic HTTP endpoint. Rather than relying on authored content or documents, BYOM enables automated page rendering from APIs, product databases, or other backend systems - while still using the same semantic blocks and styling shared across your AEM site.

In this post, we’ll explain how BYOM works, how it fits into the AEM Edge Delivery Services rendering pipeline, and how to integrate it cleanly using Adobe App Builder.


Key Points

BYOM is ideal for building dynamic, API-driven pages in AEM Edge Delivery Services - without sacrificing performance or consistency.

In this post, we’ll walk through:

  • What BYOM is and how to think of it as an “HTML API”
  • How BYOM fits into the Edge Delivery Services publication flow
  • Key configuration steps using SiteConfig and Adobe App Builder
  • Why semantic HTML blocks matter and how to structure them
  • Benefits of sharing markup between authored, document-based, and BYOM pages

Full Article

Read the full article here: https://medium.com/@lars.auffarth/dynamic-page-publishing-in-aem-edge-delivery-with-byom-and-app-bui...


Q&A

Please use this thread to ask any questions related to the article or share your BYOM use cases with the community.

3 Comments

Avatar

Community Advisor and Adobe Champion

8/9/25

Great article, @LarsAuffarth. Thanks for sharing. Server-side HTML generation was something I was very much missing in the EDS approach. It is great to see that we now have an option for such common use cases like PIM and commerce integrations.

 

Daniel

Avatar

Administrator

8/19/25

@LarsAuffarth Great write-up, Lars! The BYOM approach seems especially powerful for scenarios where content needs to stay in sync with external APIs or product catalogs. One thing I’m curious about, when using BYOM with App Builder, what are some best practices you recommend for handling caching at the edge so that pages stay performant while still reflecting near real-time data?

Avatar

Employee

8/25/25

Thanks @kautuk_sahni,  

Great question! In our setup, static product data (like name, description, etc.) stays in sync via webhook-triggered updates - as soon as the backend changes, the edge content is refreshed automatically and served directly from the CDN.

For dynamic data (e.g., price, reviews, CTA links), we use a split rendering approach:

  • The static page is delivered from the CDN as mentioned above, and dynamic data is then injected client-side after being fetched via an edge worker.
  • The edge worker caches the response with a 5-minute TTL and runs on demand when a request comes in and no cached result exists, then serves cached responses for subsequent requests.

This pattern works well for our use case and the product family we serve, but the exact TTL and caching strategy will vary depending on the nature of the data and business requirements.