---
layout: analytics
title: Oolo
description: Oolo Analytics Adapter
modulecode: oolo
prebid_member: true
---

## Registration

Please visit [www.oolo.io](https://www.oolo.io/) for more information. Contact oolo to obtain a `pid`.

## Configuration

```javascript
pbjs.enableAnalytics({
  provider: 'oolo',
  options: {
    pid: 12345
  }
});
```

{: .table .table-bordered .table-striped }

| Name | Scope | Type | Description |
| --- | --- | --- | --- |
| `pid` | required | number | Publisher ID provided by oolo. If missing, the adapter logs an error and sends nothing. |

## Data Collection

On enable, the adapter:

- Fetches a remote configuration from `config-pbdata.oolo.io` for the `pid`. Events are queued until it loads (or fails). This configuration can add or omit fields in the payloads, send raw copies of any Prebid event, and change the auction send delay.
- Sends the current Prebid config (`pbjs.getConfig()`, excluding `userSync.userIds` and keys starting with `_`).
- On window load, sends page data: URL, referrer, screen size, Prebid version, and page load timings.

It listens to `auctionInit`, `bidRequested`, `bidResponse`, `noBid`, `bidTimeout`, `auctionEnd`, `bidWon`, and `adRenderFailed`. Auction data (ad units and per-bid status, timing, CPM, currency, size, media type, creative ID) is sent 1500 ms after `auctionEnd` by default. Wins that occur after that and render failures are sent individually.

All data is sent as JSON `POST` (ajax) requests to `pbdata.oolo.io`, tagged with a random page view ID generated by the adapter.
