Impressions & view-through

Server-to-server impression API, the 1×1 pixel for display / VAST / CTV, view-through windows and household matching.

Updated 2026-09-02

Pixel#

Display tag
<img src="https://go.whichclick.is/i/2098765432?cr=banner-300x250&pl=homepage&p=dv360" width="1" height="1" alt="" />
VAST
<Impression><![CDATA[https://go.whichclick.is/i/ctv-sep?app=<appId>&cr=spot30&p=roku]]></Impression>

{campaign} is a WhichClick campaign id or the platform's external id. Query keys: app (app id), cr (creative), pl (placement), p (partner). The pixel returns a cached-busting 1×1 GIF with Cache-Control: no-store, sets no cookies and records the IP hash (per day) plus the household hash.

Server-to-server API#

Shell
curl -X POST https://app.whichclick.is/api/v1/impressions -H "Authorization: Bearer wc_live_…" -H "Content-Type: application/json" \
  -d '{"impressions":[{"campaign_external_id":"2098765432","partner":"dv360","creative_id":"cr-1","ip":"203.0.113.7","os":"android","country":"TR","ts":"2026-09-02T09:15:00Z"}]}'
# {"accepted":1}

Up to 5000 impressions per call; ip is required (hashed with the day server-side, never stored raw).

Attribution#

MethodMatchWindow (per app)
VIEW_THROUGHSame IP hash as the install, same dayviewLookbackHours (default 24)
HOUSEHOLDSame /24 (IPv4) or /48 (IPv6) household hashhouseholdWindowHours (default 72)

Both sit below every click-based method in the waterfall so a click always wins over a view. View-through installs are reported separately and can be excluded from ROAS in the report filters.

Reporting#

Impressions add impressions, CTR (clicks / impressions when both exist for a campaign) and view-through installs to the overview and pivot reports; the p partner value is a dimension on the CTV dashboard.