demo · v134
Source & Trigger Registration Pair
The cap — num_aggregatable_reports_per_source — lives on the source registration header served by the publisher. Whether that cap applies depends on the trigger registration served by the advertiser: set trigger_context_id and the cap is lifted entirely. Edit both registration headers and watch the outcome change.
Publisher — Attribution-Reporting-Register-Source
Advertiser — Attribution-Reporting-Register-Trigger
include trigger_context_id (lifts the per-source cap)
Outcome — simulated conversion run
Conversions fired
—
Reports sent
—
Reports dropped (cap)
—
Cap regime
—
// Publisher serves on ad impression:
// Attribution-Reporting-Register-Source: {
// "source_event_id": "1234567890",
// "destination": "https://shop.example",
// "num_aggregatable_reports_per_source": 20, // ← cap lives HERE
// "aggregation_keys": { "campaign_budget": "0x1" }
// }
//
// Advertiser serves on conversion:
// Attribution-Reporting-Register-Trigger: {
// "event_trigger_data": [{ "trigger_data": "1" }],
// "trigger_context_id": "order-789" // ← set this to lift the cap
// }
//
// Chrome 134: when trigger_context_id is non-null on the trigger,
// the num_aggregatable_reports_per_source limit is NOT enforced.
// Every trigger fires its report regardless of how many already ran.