:z:body+proof (zones sorted)
Cache key suffix format
Scoped cells never warmed; costs stay flat
Warmer behaviour
Zero; byte-identical to previous behaviour
Undeclared request overhead
The SSR assembly endpoint accepts a zones array in the request body. Pass the zone names your page actually renders, for example ["hero", "cta"], and the assembly engine composes only for those zones. No unrendered component earns impression credit, and the AI does not spend its budget selecting content your layout will never show.
Spectare's own pricing page and WordPress developer guide now declare their zones this way. Both pages place only a hero and a cta, so their assemblies compose for two zones instead of five. The result is a tighter, faster assembly that matches what the visitor actually sees.
Without a zones declaration the engine defaults to the full set configured for your organisation. That is safe, but it means the assembly may select atoms for zones that never render on this particular page. Declaring zones is the more honest contract between your layout and the personalisation layer.
Pass zones as an optional third argument to getServerAssembly or include it in the request body to /api/assemble/ssr. The field is optional and backward compatible; pages that do not declare zones continue to work without changes.
This is one atom from the Spectare content library. Spectare assembles the right atoms for each visitor in real time, based on who they are and how they arrived.