Browse the help center

Other admin tools

The five small admin CRUD pages — custom ad units & sizes, system banner templates, VPAID frameworks, auto placements and additional entity fields — and exactly where each one takes effect elsewhere in the platform.

How-to admin Admin → Creatives & tags

Five small admin CRUD pages don’t warrant a page each, but they are easy to miss because each one is really a lever on a feature that lives somewhere else: custom ad units & sizes decides which sizes a network manager and an advertiser can pick, system banner templates stocks the catalogue a Template creative renders from, VPAID frameworks feeds the video-creative flow, auto placements feeds new-site setup, and additional entity fields adds columns to account edit forms.

This page covers all five: what the row holds, where it takes effect, and what it does not do.

Who this is for

Network administrators. Each of these pages is its own Admin UI permission on your role, so you may well see one and not the others — see Users, roles & permissions. Opening the URL of a page your role does not grant shows the page shell with a grid that reports Failed to load.

Prerequisites

  • An admin role that grants the relevant Admin UI permission.
  • For auto placements to actually generate anything, whoever creates or approves the site also needs the account-side Automatic placements creation for approved sites permission. That is a separate grant on a separate role.

Steps

All five pages share the same shape, so the routine is the same each time.

  1. Open Admin. Three of the five sit in the sidebar group Creatives & tags (Custom ad units & sizes, System banner templates, VPAID frameworks); Auto placements and Additional entity fields configuration sit under Ad serving. Custom ad units and sizes grid with the Creatives and tags sidebar group open
  2. Pick the page. Each opens on a grid with Add, Edit and Delete above it.
  3. Add, or select a row and Edit, to reach the form. Field-by-field detail is in Options & fields below.
  4. Save. On VPAID frameworks and System banner templates the first save is load-bearing: their sub-grids (framework parameters; template files, properties and target-related bodies) only appear once the row has an id, and the page navigates itself to the new edit URL to reveal them. A successful save raises a Done toast (saving a VPAID framework parameter raises Record successfully processed. instead).
  5. Delete removes the row. Only one of the five refuses a delete that would break something — see the corner cases.

Options and fields

Custom ad units and sizes

Admin → Creatives & tags → Custom ad units & sizes. An ad unit is a named creative size. The catalogue here is what every size dropdown in the product is drawn from — the placement’s Size combo, the creative’s Ad unit combo, the header-bidding slot editor, the auto-placement template.

FieldWhat it does
TitleThe label shown in every size dropdown. Required, max 255 characters. Convention in the shipped catalogue is Name (WxH), e.g. Leaderboard (728x90).
Width / HeightPixel dimensions, 0–3000 each. Left at 0 for a Custom unit, whose dimensions are typed per placement instead.
CustomMarks the unit as a size-less placeholder. Picking it on a placement or a creative reveals manual width/height inputs rather than fixing the size. Each placement type conventionally has one — Custom, Custom Mobile, Custom Video Player, Custom Application.
Any size (deprecated)Legacy wildcard flag. Do not set it on new units. The legacy creative form and the REST banner ad-unit list skip units carrying it; the new creative form does not — see the corner cases.
Inventory sideOffer this size on the supply side — placements, header-bidding slots, template test pages. Ticked on a new unit.
Campaigns sideOffer this size on the demand side — creative Ad unit combos and the advertiser grid filters. Ticked on a new unit.
Placement typesEight checkboxes: Site Placement, Mobile Site Placement, Non-standard Placement, Video Placement, Application Placement, Email Placement, Click-through Placement and Native Placement. A size is only offered on a placement of a ticked type.

Where a size shows up. Placement types plus the two side flags are the whole answer — there is no per-role tick-list that also has to be satisfied before a new size appears:

WhereNeeds
Placement Size combomatching placement type + Inventory side
Creative Ad unit combo, advertiser grid size filtermatching placement type + Campaigns side
Header-bidding slot editorInventory side + a non-zero width and height, and a placement type that matches the slot’s kind
Template test pageInventory side — and only for a Site-placement template; the page offers no size for any other type
Auto placements Size combo (on this same admin area)matching placement type, and the unit must not be Custom

Note: a size with no placement type ticked appears nowhere at all. The lookup is driven entirely by the placement-type set, so an empty set matches no query.

System banner templates

Admin → Creatives & tags → System banner templates. A banner template is a reusable HTML/JS body the ad server interpolates per impression, which an advertiser then picks on a Template creative and fills the properties of.

The editor here is the same editor as the account-side one — Template information, Target related templates, Template files, Template properties, Export/Import, Template test. It is documented once, in Create and manage banner templates; everything in that page’s Options & fields, property-type table and grid actions applies verbatim. What follows is only what is different about the admin copy.

Admin-specific behaviourDetail
New templates are globalA template created (or imported) here is marked global. Accounts see it in the creative’s Template picker with a “(global)” suffix and cannot edit it. Templates an account user creates are not global — see Create and manage banner templates.
The grid is not global-onlyAccount-owned templates are listed here too, tagged “(local)” after the title.
FiltersA Search box plus Type, Placement type and Status dropdowns, which the account grid does not have.
No Share actionSharing is an account-side concept; the admin grid offers Add / Edit / Export / Import / Import as new / Delete only.
Second consumerBesides creatives, one template can be nominated as the VPAID-to-MRAID bridge template on Inventory & campaigns settings.

Template types and the content macro each expects in the body — the one thing the account page states only by name:

TypeBody must contain
Generalnothing special — the whole body is the creative
Content Adapter (deprecated)$$CONTENT$$
Placement Content Adapter$$AD_CONTENT$$ (the older $$NATIVE_CONTENT_JSON$$ is still accepted)
Video Companionnothing special

VPAID frameworks

Admin → Creatives & tags → VPAID frameworks. A VPAID framework is the JavaScript adapter Epom hands to the video player so it can run an interactive creative from a specific integration.

FieldWhat it does
NameFramework label, shown in the creative’s framework dropdown. Required. It is also the served filename — the adapter is published as …/vpaid/<id>/<Name>.js.
ActiveWhen off, the framework is hidden from the creative dropdown. Defaults on.
FileThe single JavaScript adapter, uploaded as one .js file. Download current file re-fetches the stored one.

Framework parameters (a second card, present only on a saved framework) are the knobs the advertiser fills in per creative. Each is a Name (the label), a Key (what the adapter receives), an optional Default value and a Required flag. Type is displayed but locked — String is the only implemented parameter type.

At serve time, an in-stream VPAID Framework creative produces a VAST <Linear> whose <MediaFile apiFramework="VPAID"> is the adapter’s URL, and whose <AdParameters> is a JSON object of the parameter values. Epom adds skipOffset, clickThrough, bannerUrl and the viewability trackers to that object itself.

Note: one parameter key is special. A parameter named duration supplies the VAST <Duration> in seconds. Without a usable value there, Epom emits the placeholder 00:00:00 — schema-valid, but not what a player expects.

Auto placements

Admin → Ad serving → Auto placements. Each row is a template for a placement Epom creates automatically when a new site is set up.

FieldWhat it does
NameTemplate name, max 64 characters, trimmed on save. Required. Also the name given to the generated placement, and what generation de-duplicates against.
TypeThe placement type to create — Site, Mobile Site, Non-standard, Video, Application, Email, Click-through or Native. Required.
SizeAn ad unit, filtered to the picked type and to non-custom units. Optional in the form, but a row without a size is skipped when placements are generated, so set one.
ActiveOnly active rows are used during generation. The grid shows this as a Status column reading Active or Inactive.

The grid lists Name, Type, Size and Status.

When generation runs. Four paths create a site and then ask for auto placements: publisher signup (site created from the user card), approving a site on the network Sites page, saving a new site from the account Publishers UI, and creating a site through the REST API. Two conditions gate it, and both must hold or nothing happens and nothing is reported:

  • the site’s network status is Approved at that moment, and
  • the acting user’s role grants Automatic placements creation for approved sites.

What it creates. A zone named “<site name> Placements” (reused if it already exists; a zone created now gets the default zone rules), then one placement per active auto-placement row. Each generated placement gets the template’s type and size, the default labels configured for that object type and placement type, an automatic link to the site’s categories, and the default placement rules.

Additional entity fields configuration

Admin → Ad serving → Additional entity fields configuration. This page adds a custom free-text field to an entity type’s edit form.

FieldWhat it does
NameMachine-readable field name, e.g. custom_field_1. Required, 1–64 characters.
TitleThe label shown on the form. Required, 1–128 characters.
EntityWhich entity gets the field: Site, Zone, Placement, Advertiser, Campaign or Banner. Required.

Once saved, the field appears as a plain text input on the Basic info card of every entity of that type, labelled with its Title, and account users can type a value per entity — up to 255 characters. There is no type system: every additional field is free text.

The grid lists ID, Name, Title and Entity type. The entity is shown there as the raw enum name — SITE, ADVERTISER, PLACEMENT — while the edit form’s picker uses the friendly labels; same value, two spellings.

Also in these sidebar groups

The Targeting presets group is a different subject, documented elsewhere:

PageWhere
Preset domain / IP ranges / application package group management (Targeting presets)Reusable domain, IP-range and app-package lists for targeting. Fully covered — building a group here, and using it in a rule — in Preset groups.

Corner cases and gotchas

Corner case — sizes: a custom ad unit is deliberately excluded from the Auto placements Size combo — a size-less unit cannot be an auto-placement template, even though the same unit is selectable on a hand-made placement of that type. (The header-bidding slot editor drops it too, for the different reason that it requires a non-zero width and height.)

Corner case — sizes: deleting a size used by any non-deleted placement is refused with Cannot delete size, it is used by not deleted placements. The check looks at placements only — a size used solely by creatives deletes without a warning, and those creatives lose their ad unit.

Corner case — sizes: Any size (deprecated) is a legacy flag, not a convenience. The legacy creative form and the REST banner ad-unit list drop units carrying it, but the new creative form (and the mass banner upload) reads the unfiltered campaigns-side list, so a unit with Any size and Campaigns side ticked is still offered there. Untick Campaigns side on such a unit if creatives should not pick it.

Corner case — templates: the System banner templates grid is not restricted to system templates. Templates an account user created appear in it too, tagged (local) after the title. Editing one from here leaves it local — only a template created here (or imported here) is global — but deleting one from here deletes that user’s template, with the consequences for their banners described in Create and manage banner templates.

Corner case — templates: a template serves exactly one placement type, and the admin form offers seven of them — including Video, Email and Click-through, where the Template creative type is not offered at all. A template authored for those types is saved and then unreachable.

Corner case — VPAID: an uploaded adapter is not published the moment you save it. Saving writes the JavaScript into the database; a scheduled worker copies it to the file store and purges the CDN copy once a minute. Expect up to a minute between saving a new adapter and players receiving it.

Corner case — VPAID: because the served filename is built from the framework’s Name, renaming a framework changes the adapter’s URL. The next sync writes the file under the new name; the old file is not removed. Deleting a framework likewise leaves its .js behind in the file store.

Corner case — VPAID: the framework dropdown on a creative is gated by the account role’s VPAID Framework permission and loads active frameworks only. Deactivating a framework hides it from new creatives but does not touch creatives that already reference it.

Corner case — VPAID: a framework can also be preselected network-wide. Default VPAID framework on Inventory & campaigns settings picks one for every new video creative, and it lists active frameworks only.

Corner case — auto placements: a row with no size is skipped entirely during generation. The size is optional in the edit form but mandatory for the row to do anything, and nothing warns you. Always set one.

Corner case — auto placements: the size list here is filtered differently from every other size picker: custom units are dropped, but the deprecated Any Size unit is not — the reverse of the creative-side lists. A template sized Any Size is legal, and on the publisher-signup path it is special-cased so the generated placement is named after the site alone rather than “<site> Any Size”.

Corner case — auto placements: de-duplication compares placements already in the auto-placements zone against the template’s name. In the three paths that name a generated placement after its template that works as expected, and re-approving a site creates no duplicates. In the publisher-signup path the placement is named “<site> <size>” instead, so it never matches the template name and the guard does not fire.

Corner case — auto placements: renaming a template later does not rename the placements it already produced — and, because de-duplication keys on the name, a renamed template will generate a second placement next to the first on a site it has already run against.

Corner case — auto placements: on the paths that create a site, a new site is Approved when the acting user holds the Sites approval permission (a switched-into session also counts in the account Publishers UI). Otherwise the publisher signup and the Publishers UI give it the network default site status — and if that is not Approved, the new site generates nothing until someone approves it on the Sites page, which then runs generation.

Corner case — additional entity fields: these fields are storage only. They are shown on the edit form and saved per entity, but they never reach the ad server — they are not targeting keys, macros or report dimensions. Use them for internal notes and external reference IDs, not for ad-serving logic.

Over the API

The values an entity carries in these fields are read and set with GET / POST /rest-api/additional-fields/{entityType}/{entityId}.do (entityType is ADVERTISER, CAMPAIGN, BANNER, SITE, ZONE or PLACEMENT). The POST body is a JSON object mapping a field id or name to its value, e.g. {"cost_center": "EU-42"}; only the fields sent change, and an empty string clears one. A field that does not exist or belongs to another entity type refuses the whole request, and a value is at most 255 characters. Reading needs view rights on the entity and writing needs update rights, as in the Basic Info card.

The single-entity reads — GET /rest-api/advertisers/{id}.do, /rest-api/campaign/{id}.do, /rest-api/banner/{id}.do, /rest-api/sites/{id}.do, /rest-api/zones/{id}.do and /rest-api/placements/{id}.do — carry the same values as additionalFieldValues, keyed by field id: {"7": {"name": "cost_center", "value": "EU-42"}}, with value null for a field the entity has no value for. The list endpoints leave them out; read them per entity.

Per-role notes

  • Administrators see only the pages their role grants.
  • Auto placements needs two grants: the admin permission to edit templates, and the account-side Automatic placements creation for approved sites on whoever creates or approves the site — without it no placements appear.
  • Network managers, publishers and advertisers never see these pages; they meet the results in their size, template and framework dropdowns, generated placements and extra form fields. Switch into a user’s account to check — see Manage users, roles and permissions.

Related pages

Please disable Adblock
Are you using adblock? Disable it and reload the page to proceed to the destination page.

A registration has already been submitted from this page. Please try again in 10 minutes.