Starting Block

A campaign whose period is longer than the block does not play in every block. The starting block — the start block number in the campaign settings — tells the engine which block it first appears in; from there it repeats every N blocks.

When it applies

The setting is meaningful only when period > block duration (fewer than one play per block). For campaigns playing in every block, the starting block is irrelevant and ignored.

How it works

blocks per period = period / block duration

A campaign with blocks per period = N and starting block = S appears in blocks S, S+N, S+2N, …

Example: period 120 s, block 60 s, starting block 2

Blocks per period = 2. The campaign plays in blocks 2, 4, 6, 8, … — every second block, starting from the second.

Starting blocks are numbered from 1. Valid values run from 1 to blocks per period.

Use starting blocks to interleave low-frequency campaigns deliberately: two campaigns with period 120 s and starting blocks 1 and 2 alternate perfectly, never competing for the same block.

Out-of-range values wrap around

A starting block larger than blocks per period cannot be honored literally — the pattern repeats before that block is reached. The engine wraps the value around:

effective starting block = ((requested − 1) mod blocks per period) + 1
Table 1. Example: blocks per period = 2
Requested Effective Why

3

1

The pattern is 2 blocks long; block 3 is block 1 of the next repetition

4

2

Likewise, block 4 is block 2

Wrapping preserves the relative offset between campaigns: campaigns requested at blocks 3 and 4 still land in different blocks (1 and 2). The pre-flight check reports every wrapped value, so you can fix the input at the source.

Overloaded starting blocks

Nothing stops you from pointing ten campaigns at the same starting block — but the block has finite room. When the spots targeting one block exceed its duration, the engine:

  1. Reports the overload in the pre-flight check, naming the smallest set of campaigns whose starting block must be relaxed.

  2. Keeps the starting block guaranteed for the campaigns that fit.

  3. Moves the excess campaigns to a neighboring block, preserving their frequency and even spacing.

This follows the engine’s fixed priority order: even distribution outranks starting block. A relaxed starting block is reported and accounted for in the final verdict.

If exact starting blocks matter to your sales model, spread them across the available range. The pre-flight check tells you when a block is approaching saturation.