Custom report windows can provide faster event-level reports and selective reporting for aggregatable reports.
With custom report windows for Attribution Reporting (shipped in Chrome 110), you can instruct the browser to filter out conversions that occur after a certain time window.
- For event-level reports, report windows allow you to get reports faster, in addition to filtering out conversions that take place after a certain time frame. Depending on your goal, another way to look at this is as a trade-off: using report windows gives you faster access to reports, but implies that you may lose some conversions. Review the event-level section for details.
- For aggregatable reports, report windows allow you to filter conversions that take place after a certain time frame. Review the aggregatable section for details.
What is a custom report window?
A custom report window is the period after source registration during which reports of the corresponding type (event or aggregatable) may be created for this source.
For event-level reports, a report window also acts as the last window in which reports of the corresponding type will be sent.
Key points about reporting windows:
- If no
report_window
is set, it falls back toexpiry
. - If no
expiry
is set, it falls back to the default of 30 days. - The minimum custom report window is one day. Even if you set a window of less than a day, the value will be clamped to a day. Review the examples for event-level reports.
- A report window is defined in seconds.
Note that the way expiry
works is unchanged; expiry
changes which impressions or clicks are eligible for attribution.
Event-level reports: faster reporting and selective reporting
By default, event-level reports are sent following a schedule of built-in report windows: three windows for clicks and one window for views.
For event-level reports, custom report windows enable you to:
- Get reports faster. Among other things, custom report windows enable you to get reports one day after the click or impression, instead of the two-day limit that was imposed by built-in expiry windows prior to Chrome 110.
- Filter out conversions happening after a certain time frame.
To use report windows for event-level reports, add the event_report_window
field to your Attribution-Reporting-Register-Source
source registration header.
Event-level reports are scheduled to be sent at the latest shortly after the report window is reached.
Schedule examples for event-level reports, clicks
expiry | event_report_window |
If a conversion takes place one day after the click, browser sends report: | Reports filtered out (not sent) for conversions taking place: |
---|---|---|---|
Default (30 days) | (Not set) | About 2 days plus 1 hour after click Default reporting behavior — built-in window #1 |
About 30 days after click |
Custom, set to 5 days | (Not set) | About 2 days plus 1 hour after click Default reporting behavior — built-in window #1 |
More than 5 days after click |
Default (30 days) | Set to 1 day | About 1 day plus 1 hour after click Custom behavior due to your custom report window. Note how this gets you this report faster than in the first row, where you need to wait for the first built-in window (2 days) |
More than 1 day after click |
Custom, set to 5 days | Set to 1 day | About 1 day plus 1 hour after click Custom behavior due to your custom report window |
More than 1 day after click |
Default (30 days) | Set to 4 hours | About 1 day plus 1 hour after click Custom behavior due to your custom report window. This is due to clamping: the minimum report window is one day. Even if you set a report window to less than a day, for example, 4 hours, its value will be clamped to a day. |
More than 1 day after click |
Schedule examples for event-level reports, views
expiry | event_report_window |
If a conversion takes place one day after the click, the browser sends report: |
---|---|---|
Default (30 days) | (Not set) | About 30 days plus 1 hour after view Default reporting behavior |
Custom, set to 5 days | (Not set) | About 5 days plus 1 hour after view Default reporting behavior |
Default (30 days) | Set to 1 day | About 1 day plus 1 hour after view Custom behavior due to your custom report window |
Custom, set to 5 days | Set to 1 day | About 1 day plus 1 hour after view Custom behavior due to your custom report window |
Aggregatable reports: selective reporting
For aggregatable reports, the benefit of report windows is only to filter out conversions happening after a certain time frame. There is no benefit in terms of getting reports faster.
To use report windows for aggregatable reports, add the aggregatable_report_window
field to your Attribution-Reporting-Register-Source
source registration header.
This will filter out conversions happening after a certain time frame.
Aggregatable reports are sent within an hour of trigger; they're randomly delayed between 10 minutes and an hour.
expiry | aggregatable_report_window |
Reports filtered out (not sent) for conversions taking place: |
---|---|---|
Default (30 days) | (Not set) | More than 30 days after click or view |
Custom, set to 5 days | (Not set) | More than 5 days after click or view |
Default (30 days) | Set to 1 day | More than 1 day after click or view |
Custom, set to 5 days | Set to 1 day | More than 1 day after click or view |
Default (30 days) | Set to 4 hours | More than 1 day after click or view. This is due to clamping: the minimum report window is one day. Even if you set a report window to less than a day, for example, 4 hours, its value will be clamped to a day. |
Engage and share feedback
You can participate and experiment with this API.
- Read about aggregatable reports and the aggregation service, ask questions, and suggest feedback.
- Read the Attribution reporting guides.
- Ask questions and join discussions on the Privacy Sandbox Developer Support repo.