Splits

Splits allow you to divide a line item's traffic into segments, each with its own targeting, CPM, and creatives. This is useful for A/B testing, geo-based pricing, or running different creatives for different audiences within the same campaign.

How splits work

When a line item has splits defined, the system evaluates each split independently:

  1. Traffic allocation: Each split has a percentage (0 to 1). A random number is drawn and compared. If the random value is below the percentage, the split is considered for delivery.

  2. Targeting: The split's targeting criteria are evaluated (AND logic). All criteria must pass.

  3. Creative matching: The split's creatives are matched against the impression (dimension matching for banners).

  4. Fallback: If no split is eligible, the line item's own creatives are used as a fallback (subject to dimension matching).

Split structure

Field
Type
Description

id

number

Unique split identifier

name

string

Split name

percentage

number

Traffic allocation ratio (0 to 1, where 0.5 = 50%)

cpm

number

CPM override for this split (0 = use line item rate)

targeting

object

Split-level targeting criteria

creatives

array

Creatives specific to this split

goal

number | null

Split-level delivery goal

goalType

string

impressions, clicks, or spend

pacingType

string

asap, even, or frontloaded

deliveryRatio

number

Dynamic delivery ratio (0 to 1), calculated by the pacing system

Split targeting

Line items and splits share the same Targeting shape. See the full attribute reference in Targeting. Each attribute uses { excluded: boolean, value: [...] } (or an array of { excluded, value: Record<string,string[]> } for the data-targeting variants).

Attribute
Description

geography

Country, region, or city (mixed levels supported)

domain

Publisher domain (wildcard support)

site

Nexx360 site ID

tagId

Nexx360 tag ID

page

Exact site.page URL

device

Device type

os

Operating system

browser

Browser (substring match on UA)

browserLanguage

Device language (prefix matching)

connection

Connection type

keyword

Page keywords

firstId

First-party ID from user.ext.eids (source first-id.fr)

dayandtime

Day of week + hour range (e.g. Monday 09:00–17:00)

viewabilityThreshold

Minimum viewability percentage

impData

Per-impression data (imp.ext.data)

siteAppData

Site or app data (site.ext.data, falls back to app.ext.data)

userData

User data (user.ext.data)

Day and time targeting example

Target weekdays during business hours:

Data targeting example

Split CPM

When a split has cpm > 0, that CPM overrides the line item's base rate for creatives delivered through that split. The split CPM is used in bid selection and appears in the bid response.

Delivery capping per split

Each split can be independently capped. See Pacing and Capping for details.

Last updated

Was this helpful?