What this demonstrates

Instead of a numeric id, the <ezoic-ad> component names a semantic location and the SDK resolves it to a reserved 900-range placeholder id at runtime. Sizes are still required because zero-config placements carry no dashboard-configured sizing, and location placements default to required: true. Today the SDK resolves the name via ezstandalone.GetGeneratedIdAsync (falling back to an internal id-to-location map); it does not yet use the newer id-less showAds primitive, so this is a zero-config placement, not an id-less integration.
Integration used on this page
<!-- zero-config.component.ts template -->
<ezoic-ad location="under_first_paragraph" required [sizes]="['300x250', '336x280', '580x400', '728x90']" />

View source on GitHub →

SDK example source: @ezoic/angular-sdk (examples/site-demos) →