demo · v130

Scope truncation: what happens when limit < scopes.length

When a source registration sets attribution_scopes.limit to a value smaller than the number of entries in values, the browser truncates the scope list. Only the first limit entries survive; the rest are silently discarded. This page shows exactly which scopes get dropped and how that changes attribution matching.

Source scopes (attribution_scopes.values)

scope limit: 2 / 0 scopes

Trigger scope (pick one to test attribution match):

Full scope list (all values)

After truncation (first limit entries only)

the truncation rule

From the Attribution Scopes explainer: the limit field sets the maximum number of scope values that can be registered on any single source. If more values are supplied, the list is silently truncated to the first limit entries at registration time. The limit also caps how many scopes a single source may accumulate over time via re-registration.

// Source registration
{
  "attribution_scopes": {
    "limit": 2,
    "values": ["shoes", "bags", "hats"]  // 3 values, limit=2
  }
}

// Browser stores only: ["shoes", "bags"]
// "hats" is silently dropped at registration.
// A trigger with scope "hats" will NOT match this source.

see also