@@ -1046,6 +1046,10 @@ An attribution report is a [=struct=] with the following items:
10461046:: A [=suitable origin=] .
10471047: <dfn>report time</dfn>
10481048:: A [=moment=] .
1049+ : <dfn>source time</dfn>
1050+ :: A [=moment=] .
1051+ : <dfn>trigger time</dfn>
1052+ :: A [=moment=] .
10491053: <dfn>external ID</dfn>
10501054:: A UUID formatted as a [=string=] .
10511055: <dfn>internal ID</dfn>
@@ -1078,8 +1082,6 @@ An event-level report is an [=attribution report=] with the following additional
10781082:: A number between 0 and 1 (both inclusive).
10791083: <dfn>trigger priority</dfn>
10801084:: A 64-bit integer.
1081- : <dfn>trigger time</dfn>
1082- :: A [=moment=] .
10831085: <dfn>source ID</dfn>
10841086:: A [=string=] .
10851087: <dfn>attribution destinations</dfn>
@@ -1118,8 +1120,6 @@ An <dfn>aggregatable report</dfn> is an [=attribution report=] with the followin
11181120An <dfn>aggregatable attribution report</dfn> is an [=aggregatable report=] with the following additional items:
11191121
11201122<dl dfn-for="aggregatable attribution report">
1121- : <dfn>source time</dfn>
1122- :: A [=moment=] .
11231123: <dfn>source registration time configuration</dfn>
11241124:: An [=aggregatable source registration time configuration=] .
11251125: <dfn>is null report</dfn> (default false)
@@ -1490,6 +1490,10 @@ generated for an [=attribution trigger=] whose [=attribution trigger/aggregatabl
14901490is "<code> [=aggregatable source registration time configuration/include=] </code> ". If [=automation local testing mode=] is true,
14911491this is 0.
14921492
1493+ <dfn>Max attribution report time-to-live</dfn> is a positive [=duration=] that
1494+ controls the maximum amount of time an attribution report can exist before
1495+ expiring without being sent.
1496+
14931497<dfn>Max event-level reports per attribution destination</dfn> is a positive integer that
14941498controls how many [=event-level reports=] can be in the
14951499[=event-level report cache=] per [=site=] in
@@ -2306,6 +2310,8 @@ an [=aggregation coordinator=] |aggregationCoordinator|, and a [=moment=] |now|:
23062310 :: |effectiveDestination|
23072311 : [=aggregatable debug report/report time=]
23082312 :: |now|
2313+ : [=aggregatable debug report/trigger time=]
2314+ :: |now|
23092315 : [=aggregatable debug report/external ID=]
23102316 :: The result of [=generating a random UUID=]
23112317 : [=aggregatable debug report/internal ID=]
@@ -4507,6 +4513,8 @@ a 64-bit integer priority |priority|, and a [=trigger spec map=] [=map/entry=]
45074513 :: |source|'s [=attribution source/attribution destinations=] .
45084514 : [=event-level report/report time=]
45094515 :: |reportTime|
4516+ : [=event-level report/source time=]
4517+ :: |source|'s [=attribution source/source time=] .
45104518 : [=event-level report/trigger priority=]
45114519 :: |priority|.
45124520 : [=event-level report/trigger time=]
@@ -4543,6 +4551,8 @@ an [=attribution trigger=] |trigger|:
45434551 :: |source|'s [=attribution source/source time=] .
45444552 : [=aggregatable attribution report/report time=]
45454553 :: |reportTime|.
4554+ : [=aggregatable attribution report/trigger time=]
4555+ :: |trigger|'s [=attribution trigger/trigger time=] .
45464556 : [=aggregatable attribution report/external ID=]
45474557 :: The result of [=generating a random UUID=] .
45484558 : [=aggregatable attribution report/internal ID=]
@@ -4578,6 +4588,8 @@ To <dfn>obtain a null attribution report</dfn> given an [=attribution trigger=]
45784588 :: |sourceTime|
45794589 : [=aggregatable attribution report/report time=]
45804590 :: |reportTime|
4591+ : [=aggregatable attribution report/trigger time=]
4592+ :: |trigger|'s [=attribution trigger/trigger time=] .
45814593 : [=aggregatable attribution report/external ID=]
45824594 :: The result of [=generating a random UUID=]
45834595 : [=aggregatable attribution report/internal ID=]
@@ -4676,7 +4688,11 @@ To <dfn>queue reports for delivery</dfn> given a [=set=] of
46764688 forms of interruption, including shutdown, the user agent may need to
46774689 persist reports that are in the process of being sent in some other
46784690 storage.
4679- 1. [=list/Append=] |report| to |reportsToSend|.
4691+ 1. Let |startTime| be the lesser of |report|'s
4692+ [=attribution report/source time=] and [=attribution report/trigger time=] .
4693+ 1. If [=current wall time=] - |startTime| is less than or equal to
4694+ [=max attribution report time-to-live=] , [=list/append=] |report| to
4695+ |reportsToSend|.
468046961. [=shuffle a list|Shuffle=] |reportsToSend|.
46814697
46824698 Note: Shuffling ensures [=event-level reports=] for the same source with the same [=attribution report/report time=] are never sent
0 commit comments