First Party Data — manual event harness (fpd_v2)

Standard RAMP tag load with real units. Fire FPD events by hand — pick how many, how far apart — and watch what actually leaves the browser. Add #pageosdebug to the URL for PageOS KINESIS console logging.

Environment

Event generator

gap between fires
idle

Live counters

Records on the wire, by event_type

event_type synthetic organic total
Nothing sent yet.

FPD requests (newest first — click a row for the body)

# time endpoint recs synth types status ms
No FPD requests observed yet.

Why this page carries real content

The ad slots below load through the normal tag so the page emits organic FPD traffic — page views, app sessions, auctions, impressions — alongside anything fired by hand. The counters split the two apart so a manual burst can be told from what the units did on their own.

Records pushed through dataStream.send() travel the full production path: the batch handler queues them, holds them until ten records accumulate or two seconds pass, persists the queue to localStorage.PageOS_Kinesis, de-duplicates ad impressions against window.processedImpEventIds, and POSTs to the collector with a retry and a lambda fallback. Tightening the offset below the batch interval is the way to watch coalescing happen.

Sampling is the other lever. The batch handler only keeps a record when the call-level sampling is false or the record's own Sampling is false. Ticking "sampling = true" fires events that should be dropped before the wire — the generated counter climbs while the posted counter does not.