# Prebid Server

Panxo supports server-side bidding through Prebid Server (PBS). This allows publishers running PBS instances to include Panxo in their server-side auctions alongside client-side Prebid.js.

## Requirements

* **Prebid Server** with the Panxo adapter enabled
* **Panxo RTD Module** configured in Prebid.js on the client side
* A valid `propertyKey` from your Panxo dashboard

{% hint style="warning" %}
The Panxo RTD module (`panxoRtdProvider`) must be running on the client side even when using Prebid Server. The RTD module detects AI-referred traffic and injects classification signals that the server-side adapter requires to participate in the auction. Without it, Panxo will not bid.
{% endhint %}

## Prebid Server Configuration

Add the Panxo adapter to your Prebid Server configuration:

```yaml
adapters:
  panxo:
    endpoint: "https://panxo-sys.com/openrtb/2.5/bid"
```

## Prebid.js Setup

{% stepper %}
{% step %}

### Build Prebid.js with required modules

Include `panxoRtdProvider` and `prebidServerBidAdapter` in your Prebid.js build:

```bash
gulp build --modules=rtdModule,panxoRtdProvider,prebidServerBidAdapter,...
```

{% endstep %}

{% step %}

### Configure RTD module and S2S

```javascript
pbjs.setConfig({
    realTimeData: {
        auctionDelay: 300,
        dataProviders: [{
            name: 'panxo',
            waitForIt: true,
            params: {
                siteId: 'your-site-id'
            }
        }]
    },
    s2sConfig: {
        accountId: 'your-pbs-account',
        bidders: ['panxo'],
        defaultVendor: 'your-pbs-vendor',
        timeout: 500
    }
});

var adUnits = [{
    code: 'banner-ad',
    mediaTypes: {
        banner: {
            sizes: [[300, 250], [728, 90]]
        }
    },
    bids: [{
        bidder: 'panxo',
        params: {
            propertyKey: 'your-property-key'
        }
    }]
}];
```

{% endstep %}
{% endstepper %}

## Bid Parameters

| Name          | Scope    | Description                              | Example          | Type     |
| ------------- | -------- | ---------------------------------------- | ---------------- | -------- |
| `propertyKey` | required | Property identifier from Panxo dashboard | `'abc123def456'` | `string` |

## User Sync

Panxo supports redirect-based user sync through Prebid Server. Ensure user syncing is enabled in your PBS configuration for the Panxo adapter.

For client-side Prebid.js, configure pixel sync:

```javascript
pbjs.setConfig({
    userSync: {
        filterSettings: {
            pixel: {
                bidders: ['panxo'],
                filter: 'include'
            }
        }
    }
});
```

## Supported Features

| Feature               | Support           |
| --------------------- | ----------------- |
| Media Types           | Banner            |
| Platforms             | Site (no app)     |
| GDPR / TCF 2.2        | Yes (GVL ID 1527) |
| USP / CCPA            | Yes               |
| GPP                   | Yes               |
| COPPA                 | Yes               |
| Supply Chain (schain) | Yes               |
| Price Floors          | Yes               |
| First Party Data      | Yes               |
| Safeframes            | Yes               |
| Deals                 | Yes               |

## Bid Response

* **Currency**: USD
* **Net Revenue**: Yes
* **TTL**: 300 seconds (5 minutes)
* **Advertiser Domains**: Available in `meta.advertiserDomains`

## How to Get Started

1. Register at [app.panxo.ai](https://app.panxo.ai/) to obtain your `siteId` and `propertyKey`
2. Configure the RTD module in Prebid.js with your `siteId`
3. Add `panxo` to your Prebid Server adapter list
4. Add `panxo` bids to your ad units with your `propertyKey`
5. Verify traffic in your Panxo dashboard


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.panxo.ai/integrations/prebid-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
