Periodically request Line Item metadata from the Planner. Line Item metadata includes:
- Line Item details
- Targeting
- Frequency caps
- Delivery schedule
Each Prebid Server instance register itself with the General Planner with a health index (QoS indicator based on its internal counters like circuit breaker trip counters, timeouts, etc.) and KPI like ad requests per second.
Also allows planner send command to PBS admin endpoint to stored request caches and tracelogs.
planner:
register-endpoint: <register endpoint>
plan-endpoint: <planner endpoint>
update-period: "0 */1 * * * *"
register-period-sec: 60
timeout-ms: 8000
username: <username for BasicAuth>
password: <password for BasicAuth>Supports sending reports to delivery stats serving with following metrics:
- Number of client requests seen since start-up
- For each Line Item
- Number of tokens spent so far at each token class within active and expired plans
- Number of times the account made requests (this will be the same across all LineItem for the account)
- Number of win notifications
- Number of times the domain part of the target matched
- Number of times impressions matched whole target
- Number of times impressions matched the target but was frequency capped
- Number of times impressions matched the target but the fcap lookup failed
- Number of times LineItem was sent to the bidder
- Number of times LineItem was sent to the bidder as the top match
- Number of times LineItem came back from the bidder
- Number of times the LineItem response was invalidated
- Number of times the LineItem was sent to the client
- Number of times the LineItem was sent to the client as the top match
- Array of top 10 competing LineItems sent to client
delivery-stats:
endpoint: <delivery stats endpoint>
delivery-period: "0 */1 * * * *"
cached-reports-number: 20
line-item-status-ttl-sec: 3600
timeout-ms: 8000
username: <username for BasicAuth>
password: <password for BasicAuth>Sends out alerts when PBS cannot talk to general planner and other critical situations. Alerts are simply JSON messages over HTTP sent to a central proxy server.
alert-proxy:
enabled: truew
timeout-sec: 10
url: <aler service endpoint url>
username: <username for BasicAuth>
password: <password for BasicAuth>
alert-types:
<type of allert>: <sampling factor>
pbs-planner-empty-response-error: 15This service currently has 1 implementation:
- MaxMind
In order to support targeting by geographical attributes the service will provide the following information:
continent- Continent coderegion- Region code using ISO-3166-2metro- Nielsen DMAscity- city using provider specific encodinglat- latitude from -90.0 to +90.0, where negative is southlon- longitude from -180.0 to +180.0, where negative is west
geolocation:
enabled: true
type: maxmind
maxmind:
remote-file-syncer:
download-url: <url to maxmind database>
save-filepath: <save-filepath>
tmp-filepath: <tmp-filepath>
retry-count: 3
retry-interval-ms: 3000
timeout-ms: 300000
update-interval-ms: 0
http-client:
connect-timeout-ms: 2500
max-redirects: 3This service is responsible for:
- Requesting user targeting segments and frequency capping status from the User Data Store
- Reporting to User Data Store when users finally see ads to aid in correctly enforcing frequency caps
user-data:
win-event-endpoint: <win-url-endpoint>
user-details-endpoint: <user-deatils-endpoint>
timeout: 1000
user-ids:
- location: rubicon
source: uid
type: khaos- khaos, adnxs - types of the ids that will be specified in requests to User Data Store
- source - source of the id, the only supported value so far is “uids” which stands for uids cookie
- location - where exactly in the source to look for id
DeviceInfoService returns device-related attributes based on User-Agent for use in targeting:
- deviceClass: desktop, tablet, phone, ctv
- os: windows, ios, android, osx, unix, chromeos
- osVersion
- browser: chrome, firefox, edge, safari
- browserVersion