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
| v2 field | v3 field | Change type |
|---|---|---|
click_window_days (integer) | post_click (Duration) | Renamed + type changed |
view_window_days (integer) | post_view (Duration) | Renamed + type changed |
model (required) | model (required) | Unchanged |
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.
| Unit | Meaning |
|---|---|
minutes | Clock minutes |
hours | Clock hours |
days | Calendar days |
campaign | Full campaign flight (interval must be 1) |
Migration steps
Rename attribution fields
Replace
click_window_days with post_click and view_window_days with post_view in all attribution window objects.Convert integer days to Duration objects
Replace integer day counts (e.g.,
7) with structured Duration objects (e.g., { "interval": 7, "unit": "days" }).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" }.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