# Introduction

The Nexx360 DSP (Demand-Side Platform) evaluates line items and creatives against bid requests in real time. When a publisher sends an ad request, the DSP selects the best matching campaign based on targeting, eligibility, and pricing rules, then returns a bid response.

## Key concepts

| Concept       | Description                                                                         |
| ------------- | ----------------------------------------------------------------------------------- |
| **Order**     | A campaign container grouping one or more line items under an advertiser            |
| **Line Item** | A delivery configuration with targeting, pricing, dates, and goal settings          |
| **Creative**  | The actual ad content (HTML, VAST, native) attached to a line item                  |
| **Split**     | A traffic allocation within a line item, with its own targeting, CPM, and creatives |
| **Deal ID**   | An external identifier used to match line items with SSP deal requests              |

## Delivery pipeline overview

```
Bid Request (OpenRTB 2.5)
  |
  v
1. Retrieve line items by publisher account
  |
  v
2. For each impression:
   a. Filter eligible line items (status, dates, media type, targeting)
   b. Evaluate splits (traffic allocation + split targeting)
   c. Apply delivery capping (hourly caps)
   d. Match creatives (dimensions for banners, asset check for native)
   e. Apply delivery ratio (pacing)
   f. Select highest bid (currency-converted CPM)
  |
  v
3. Build ad markup (native: build Native 1.2 response from creative JSON)
  |
  v
4. Replace macros in ad markup
  |
  v
5. Return OpenRTB 2.5 Bid Response (or 204 No Content)
```

{% content-ref url="/pages/p0ynfvr9hWqbTZ7mOvMU" %}
[Line Item Eligibility](/campaign-delivery/line-item-eligibility.md)
{% endcontent-ref %}

{% content-ref url="/pages/e9aTmbGFvasvr3keRvAZ" %}
[Targeting](/campaign-delivery/targeting.md)
{% endcontent-ref %}

{% content-ref url="/pages/p32hyJrkGSyt6cjDt6jm" %}
[Splits](/campaign-delivery/splits.md)
{% endcontent-ref %}

{% content-ref url="/pages/5RWdCEIae9XeqlbBV0YK" %}
[Creative Selection](/campaign-delivery/creative-selection.md)
{% endcontent-ref %}

{% content-ref url="/pages/0TpO8q0sIuV8YiMUdoj5" %}
[Pacing and Capping](/campaign-delivery/pacing-and-capping.md)
{% endcontent-ref %}

{% content-ref url="/pages/SrVVpE74R8DnMzBIFxZZ" %}
[Bid Selection](/campaign-delivery/bid-selection.md)
{% endcontent-ref %}

{% content-ref url="/pages/5pTkxuNVb9phHZbyWomE" %}
[Macros](/campaign-delivery/macros.md)
{% endcontent-ref %}

{% content-ref url="/pages/CW0I7yeVKLy0qlhZXBIh" %}
[Testing and Debugging](/campaign-delivery/testing-and-debugging.md)
{% endcontent-ref %}


---

# 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://developer.nexx360.io/campaign-delivery/introduction.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.
