The impid match gate cross-references impression IDs between the bid request and the bid response. Every bid in the response carries anDocumentation Index
Fetch the complete documentation index at: https://docs.pecta.ai/llms.txt
Use this file to discover all available pages before exploring further.
impid field that identifies which impression slot it is competing for. If that impid does not appear in the request’s imp[].id array, the bid references a slot that was never offered — a protocol violation that can trigger DSP penalties and waste auction capacity.
Usage
What the gate checks
The gate readsimp[].id from ctx.input (the request) and iterates over every seatbid[].bid[] in ctx.output (the response). For each bid it checks:
- Missing impid — the
bid.impidfield is absent or not a string → fails with"bid missing impid" - Unknown impid — the
bid.impidvalue is not in the set of request impression IDs → fails with"bid impid not present in request"
details.requestImps so you can diagnose the mismatch:
Skipping behaviour
The gate skips gracefully — returningpassed: true, skipped: true — in two situations:
- The request has no
impobjects (no impression IDs to validate against) - The response contains no
seatbid[].bid[]entries (no bids to check)
An empty response is not treated as a failure by this gate. Use a separate content gate if you want to enforce that a bidder must always return at least one bid.
Example: failing bid
imp-abc123. The bid references imp-UNKNOWN, so the gate fails immediately on the first mismatched bid.
Options
Override the gate’s name in evaluation results and telemetry.