Migrating attribution windows
AdCP 3.0 renames attribution window fields and replaces integer day counts with structuredDuration objects. An attribution model field is now required.
What changed
Attribution window object
Before (v2)
After (v3)
- Field renames —
click_window_days→post_click,view_window_days→post_view. The new names describe the user action that starts the lookback window. - Structured Duration — Time windows are
{ interval, unit }objects instead of integer day counts. This enables sub-day granularity (minutes,hours) and campaign-scoped windows. - Attribution model — Required in both v2 and v3. No change needed.
Duration object
TheDuration type is shared across frequency caps, attribution windows, and other time-based settings.
Migration steps
1
Rename attribution fields
Replace
click_window_days with post_click and view_window_days with post_view in all attribution window objects.2
Convert integer days to Duration objects
Replace integer day counts (e.g.,
7) with structured Duration objects (e.g., { "interval": 7, "unit": "days" }).3
Update frequency cap windows
Frequency caps have a similar migration. v2 used
suppress_minutes (integer). v3 uses suppress (Duration object) and adds max_impressions with a window (Duration). Convert suppress_minutes: 30 to suppress: { "interval": 30, "unit": "minutes" }.4
Validate against v3 schemas
Ensure attribution window objects validate against the
attribution-window.json schema.Conversion tracking & optimization goals
Configure event sources, send conversion events, and set attribution windows.
Related: Channels | Pricing | Geo targeting | Creatives | Catalogs | AdCP 3.0 overview