What this demonstrates
Three publisher-owned placeholder divs at different positions in one
article — 148 near the top, 149 mid-article, 150 at the bottom — activated by a single batched
ezstandalone.showAds(148, 149, 150) call after the last div. The docs recommend
passing every placement id on a page into one showAds() call so the auction runs in
one server request instead of several. Calling showAds() with no arguments activates
every placeholder div present on the page instead of a named subset.
Integration used on this page
<!-- Head: consent + Ezoic standalone loader -->
<script data-cfasync="false" src="https://cmp.gatekeeperconsent.com/min.js"></script>
<script data-cfasync="false" src="https://the.gatekeeperconsent.com/cmp.min.js"></script>
<script async src="//www.ezojs.com/ezoic/sa.min.js"></script>
<script>
window.ezstandalone = window.ezstandalone || {};
ezstandalone.cmd = ezstandalone.cmd || [];
</script>
<!-- Body: three publisher-owned placeholder divs at their positions -->
<div id="ezoic-pub-ad-placeholder-148"></div>
<div id="ezoic-pub-ad-placeholder-149"></div>
<div id="ezoic-pub-ad-placeholder-150"></div>
<!-- One batched activation after the last div -->
<script>
ezstandalone.cmd.push(function () {
ezstandalone.showAds(148, 149, 150);
});
</script>
View source on GitHub →
Docs: Ad Placements — Using Placement IDs
Several placements, one call
This article carries three placement ids created in the Ezoic dashboard, each with its own
placeholder div owned by the page. The first sits near the top, directly below this paragraph.
The remaining divs live further down the article. Their positions in the markup are exactly
where their ads render — nothing about the layout is inferred, because every placement is
explicit.
A longer article gives the three placements realistic spacing. This paragraph and the next
push the mid-article placement into the body of the content rather than crowding it against the
first one.
Second body paragraph. Placement ids let each spot report independently in the dashboard and
be targeted programmatically later with refreshAds or
destroyPlaceholders.
Content continues after the mid-article placement. Because a single batched call activates
all three ids together, the page issues one auction request instead of three separate ones.
A few more paragraphs carry the reader toward the end of the article, where the last
placement sits.
The final paragraph closes out the body. The bottom placement's div follows immediately
below, and the one activation call runs after it.