Placements
A placement represents a named surface on a publisher's website where an ad can be displayed. An ad request is sent to the Placement Service when the placement loads. If there is a matching campaign, the ad is delivered and rendered at the placement.
Placements are managed in the console and belong to a publisher account. When creating a new placement, there are three different kinds to choose from.
Standard ADK: The standard placement is used in web integrations together with ADK, which renders and measures the ads on the client device. It supports previews, real-time bidding and programmatic.
OpenRTB bidder: Bidder placements allow publishers to connect Advisible to header bidding in another system. Advertisers can then make programmatic purchases on the placement. Ad rendering and measurement are handled outside of Advisible. This generally means that previews are not possible, but it depends on the header bidding system.
Custom: Custom placements can be used to integrate ads with other types of media, for example email. Ad requests on custom placements return the ad content in JSON format which is then used to render the ad. Custom placements require an image in the creative. Rendering is measured automatically using the image as a tracking pixel. Viewability is not measured; instead, 100% viewability is emulated.
With custom placements, it is also possible to allow ad reuse, which means that multiple render and click events can be registered for the same ad. Real-time bidding is not available for placements that allow reuse.
What defines a placement?
The same placement can be reused across multiple pages or sections of a site. However, a typical Native ad integration will often require separate placements for different types of content or layouts to ensure proper rendering and user experience. A common pattern is to create a mobile and desktop version of the same placement to separate appearance and reporting for different screen sizes.
Treat a placement as a logical unit of inventory: use the same placement wherever the ad opportunity has the same requirements and should share sources, delivery behavior, and reporting. For example, the same in-feed slot used on several similar article pages can usually reuse one placement. A slot on the home page and a slot on the article pages represent different inventory and should therefore have separate placements – even if the appearance of the ad is identical. This will allow the pacing algorithm to better optimize delivery across all ad requests.
With these guidelines in mind, assess your website's needs and create the required placements. The next step is to create sources.
Sources
A placement consists of a set of sources. The source is what delivers the actual ad content to the placement. Each source is connected to two independent entities:
- an adapter, which determines the type of ad the source can serve; and
- a publisher network, which determines who can access the inventory and how it is accessed (directly or via bidding).
Concurrency and priority groups
Advisible offers a flexible way of configuring sources, which allows for many different use cases. Within a placement, sources are organized in concurrency groups and priority groups that together describe how the sources are queried when a placement request is made:
- Concurrency groups execute sequentially and the containing sources are queried concurrently.
- Priority groups prioritize the result of one source over another within the same concurrency group.
- The first concurrency group that delivers a result dictates the number of items and type of creative that any subsequent groups may deliver.
Here is an example that has one concurrency group and one priority group with two sources. The example describes the flow in a bidding network. The process is identical for non-bidding networks, except that the selection is based on campaign priority and randomization, rather than bids. Scroll to the right to follow the flow.
Multiple ads with multi-mode
When the Max items setting is greater than 1 on one of the sources, the placement enters a mode of operation where a single request can return multiple ad items. The first concurrency group that returns an item sets the maximum number of items for that response and its creative type.
If that group returns fewer items than the maximum, subsequent concurrency groups can fill the remaining slots with items of the same creative type. Groups are tried in order until the response is full or no more items are available. A response may contain fewer items than the configured maximum, which the ad-rendering code must handle appropriately.
Adapter configuration
Sources can be configured to specify which ads to accept. This is commonly used to make sure the appearance of the ad matches the publisher's adjacent editorial content. The configuration is in YAML format and is sent to the connected adapter which is responsible for enforcing the specified rules. These are the available configuration options for the built-in adapters:
| Name | Description | Accepted values | Default value |
headlineMinLength | Minimum headline length in characters. | Integer, from 1 to 300 | 1 |
headlineMaxLength | Maximum headline length in characters. | Integer, from headlineMinLength to 300 | 150 |
leadMinLength | Minimum lead length in characters. | Integer, from 0 to 1000 | 0 |
leadMaxLength | Maximum lead length in characters. | Integer, from leadMinLength to 1000 | 1000 |
requireImage | Controls when the ad is required to have a main asset. | String, always or never | – |
imageAspectRatio | The aspect ratio of the main image asset. All ratios will be accepted if not specified. | Positive number | – |
videoAspectRatio | The aspect ratio of the main video asset. All ratios will be accepted if not specified. | Positive number | imageAspectRatio |
imageAspectRatioVariance | The allowed variance (±) of the imageAspectRatio and videoAspectRatio. | Positive number | 0.1 |
imageAspectRatioStrict | Whether the imageAspectRatio and videoAspectRatio must be strictly adhered to. If set to true, the ad will be rejected if the aspect ratio is outside the allowed variance. If set to false, the default asset variant will be used as a fallback. | Boolean | false |
allowVideo | Whether ads with a main video asset are allowed. | Boolean | false |
allowImage | Whether ads with a main image asset are allowed. | Boolean | true |