LinkedIn’s DMP segment limit is now a hard number: starting August 2026, each sponsored account is capped at 1,000 DMP segments across Matched Audiences and Predictive Audiences combined, and any create request past the threshold fails with HTTP 429 and the error code SEGMENT_LIMIT_EXCEEDED. The change shipped in the v202608 release of the LinkedIn Marketing API — and it applies to every API version, not just calls made under the new header.
If your team runs heavy list uploads, CRM-synced audiences, or Predictive Audience testing, this is the first time LinkedIn has put a wall in front of segment sprawl. It is easy to read a cap like this as a “storage limit” — a framing that circulated in some early secondary coverage. That framing is wrong, and the difference matters operationally: this is request-time enforcement on the create call, per sponsored account — not a per-campaign quota, and not a soft warning banner in Campaign Manager.
This guide covers exactly what LinkedIn documented, the schema mechanics that explain why Predictive Audiences count toward the same pool, which workflows are actually at risk, and a cleanup playbook built on the segment lifecycle LinkedIn already runs — the 30-day auto-archive and 90-day expiry clock that most advertisers have never had a reason to look at until now.
- 011,000 DMP segments per sponsored account, hard cap.Matched Audiences and Predictive Audiences draw from one combined pool. The limit landed in the August 2026 (v202608) release of the LinkedIn Marketing API and applies retroactively to all API versions.
- 02It fails at request time — HTTP 429, not a warning.A create call from an account over the threshold returns 429 with code SEGMENT_LIMIT_EXCEEDED and a documented maxValue: 1000 field in the error payload. It is not a storage ceiling and not a Campaign Manager banner.
- 03Per account, never per campaign.The error payload names /DMPSegment/account as the failing field. An account can run any number of campaigns, but every campaign draws from the same 1,000-segment pool.
- 04The lifecycle already prunes for you — use it.Unused segments move to Archived after 30 continuous days out of any draft or active campaign, and expire at 90 days total. An inventory sorted by lastModified finds free cleanup before anyone has to make a judgment call.
- 05Deletes cascade — but the API blocks the worst mistake.Deleting a segment removes its destinations, ad segment, and list — yet LinkedIn returns a documented 400 when the linked ad segment is used in active campaigns, so a prune script cannot silently orphan live targeting. That is the only guard against breaking a live campaign; it is not a blanket safety net.
01 — What ChangedOne pool of 1,000 segments, effective August 2026.
The change appears in the Recent Marketing API Changes page for version 202608, published in August 2026 and last updated August 17. LinkedIn’s own wording: “Starting August 2026, each sponsored account is restricted to a maximum of 1,000 DMP segments for Matched Audiences (USER, COMPANY, LIST_UPLOAD) and Predictive Audiences. Requests to the /dmpSegments endpoint from ad accounts that exceed this threshold return a 429 error with the code SEGMENT_LIMIT_EXCEEDED.”
One precision note on that parenthetical, because it trips up technical readers: the changelog’s (USER, COMPANY, LIST_UPLOAD) shorthand compresses two different schema fields. The DMP segment type field’s actual enum values are USER, COMPANY, USER_LIST_UPLOAD, and COMPANY_LIST_UPLOAD — CSV list uploads use the latter two as their type, paired with sourcePlatform: LIST_UPLOAD. All four types, plus the parent segments behind Predictive Audiences, count toward the same cap.
The scope detail that separates this from most platform quota changes: LinkedIn states plainly that “this update applies to all versions.” Pinning an older Linkedin-Version header does not exempt an account. There is no migration window on the limit itself — the only variable is how many segments your account already holds.
02 — EnforcementRequest-time 429, not a storage limit.
The distinction a “storage limit” reading flattens: nothing happens to segments you already hold. An account sitting at 1,200 segments does not lose 200 of them, and no data stops flowing. The enforcement point is the create call itself — POST /dmpSegments from an account over the threshold returns HTTP 429 with the body code SEGMENT_LIMIT_EXCEEDED. Until you try to create segment number 1,001, you may not notice anything changed.
That is exactly what makes it dangerous for automated pipelines. A CRM sync or campaign-launch script that creates segments programmatically will run cleanly for weeks and then start failing — and if its error handling treats every 429 as a generic rate limit to retry, it will retry forever. The documented error payload gives engineering teams what they need to do better: it includes a maxValue: 1000 field inside errorDetails.inputErrors, and it names the failing input as /DMPSegment/account. A catch that matches on SEGMENT_LIMIT_EXCEEDED can alert the audience owner instead of hammering the endpoint.
Request-time enforcement
The create call fails with SEGMENT_LIMIT_EXCEEDED and a documented maxValue: 1000 in the error payload. Existing segments keep working; the wall only appears when you try to add one more.
A storage ceiling
It is not a Campaign Manager warning, not a passive data cap, and not scoped to campaigns. Any number of campaigns share one account-level pool of at most 1,000 segments.
"Account has reached the maximum limit of 1000 segments. Please delete unused segments before creating new ones."— LinkedIn Marketing API, literal 429 error message body
One honest caveat on sourcing: everything above traces to LinkedIn’s own versioned documentation, which is the authoritative source for API behavior — but as of this writing we have not seen independent third-party reports of the 429 firing in production. Treat the mechanics as documented vendor behavior, and build your error handling from the published payload rather than assumptions.
03 — The MechanismWhy Predictive Audiences count toward the same cap.
“Matched plus Predictive combined” reads like a policy decision, but it falls straight out of the schema. A Predictive Audience is not a separate resource type with its own quota — it is created as a child of a DMP segment, via POST /dmpSegments/{id}/businessObjectiveBasedAudiences. Every Predictive Audience carries a dmpSegmentId pointing at its parent, and the Predictive Audiences documentation states that “A Predictive Audience can only be created in a DMP Segment where the sourcePlatform is set to LINKEDIN_BUSINESS_OBJECTIVE_BASED_AUDIENCES.”
That parent segment is what consumes one of the account’s 1,000 slots. So a team that spins up a fresh Predictive Audience for every conversion-seed experiment is burning cap capacity exactly the way a team uploading a new CSV per campaign is — the two workflows just hide the segment creation behind different UI and API surfaces. Understanding the parent-segment mechanism is what turns the changelog bullet from trivia into an audit rule: count parent DMP segments, whatever created them.
04 — ExposureWho actually hits 1,000 segments.
No source — LinkedIn included — publishes any estimate of how many advertisers sit near the threshold, so the honest answer is qualitative: risk tracks workflow, not spend. A modest-budget account with an aggressive segment-per-campaign habit can be far closer to the wall than a large account that reuses a stable audience library. Teams that build a separate uploaded list per seniority or title cut — the heavy end of job-seniority and title-cut targeting — generate segments fastest, because every one of those lists is its own segment.
The matrix below maps the five segment-generating workflows we see most often against how they consume slots and which cleanup lever fits each. It is built from the documented schema mechanics — the creation endpoints, the Predictive parent-segment requirement, and the lifecycle clock — not from a survey. We looked and found none published for a limit this new.
| Workflow | How it consumes slots | Does auto-decay help? | Cleanup lever | Cap risk |
|---|---|---|---|---|
| Segment-generating workflows · one sponsored account | ||||
| Per-campaign CSV list uploads | One USER_LIST_UPLOAD or COMPANY_LIST_UPLOAD segment per upload; a new-list-per-launch habit compounds fast | Yes — retired campaign lists go unused and hit the 30-day archive clock on their own | Consolidate into fewer evergreen lists; batch-delete stale uploads | High |
| CRM/CDP streaming sync (USER / COMPANY) | Each synced audience is one segment, but integrations often create one per list, stage, or territory | Partially — streaming updates alone do not prevent the archive clock; only campaign use does | Audit the connector’s segment-per-object mapping; merge overlapping syncs | Medium–High |
| Predictive Audience experimentation | Every Predictive Audience requires its own parent DMP segment — one slot per experiment seed | Yes — abandoned experiments stop being used and decay on the standard clock | Delete parents of concluded experiments; keep only winning seeds | Medium |
| Agency multi-client management | Cap is per sponsored account, so each client account has its own pool — but templated launch playbooks replicate segment sprawl across all of them | Yes, per account — but nobody is watching any single account’s count | Per-account inventory script; batch deletes run one account per call | Medium |
| A/B grids built from uploaded lists | Only cells built as their own uploaded list consume a slot — native targeting facets do not. At one list per cell, a 4-seniority × 5-function grid is 20 slots before a single test ships | Partially — active test grids stay in campaigns, so decay never fires until the test ends | Cull losing variants at test close; rebuild grids from a shared base list | High |
The pattern across all five rows: the accounts running sophisticated B2B LinkedIn targeting strategies are usually the ones building the most uploaded lists and synced audiences, because granularity is the whole point. If your account competes in the spend tiers where LinkedIn ad benchmarks reward tight audience definition, assume you are closer to the cap than you think — and run the inventory before betting either way.
05 — LifecycleThe 30/90-day clock is your free cleanup crew.
Here is the underused lever in every panicked take on this change: LinkedIn already prunes idle segments on a documented schedule. Per the DMP Segment state-transition documentation, a segment that spends 30 continuous days outside any draft or active campaign moves from Ready to Archived — and streaming updates alone do not stop that clock. Sixty days later, at 90 days total unused, it expires. An account drifting toward the cap is usually carrying a tail of segments that are already on their way out.
Unused in any campaign
Thirty continuous days outside a draft or active campaign archives a segment automatically. Streaming data into it does not count as use — only campaign attachment does.
Total unused lifetime
Sixty more days in Archived and the segment expires. Until then it is recoverable: updating it or attaching it to an active campaign moves it back to Building.
New empty segments
Empty segments reach READY status about 48 hours after creation — current documented lifecycle behavior worth building into launch timelines, not a new August change.
Two revival paths matter for cleanup planning. Any Archived segment can return to Building if it is updated or added to an active campaign before it expires — so archiving is reversible for a full 60 days. Expired segments are a one-way door with a single exception: only list-upload segments can come back, and only when an expired segment is updated with a new list. Practically, that means you can let the decay clock do most of your pruning and reserve manual deletes for segments that active campaigns keep artificially alive.
06 — PlaybookInventory, sort, prune — safely.
The API gives you everything needed for a defensible cleanup, no Campaign Manager clicking required. The census call is GET /dmpSegments?q=account&account=urn:li:sponsoredAccount:{id}, paginated with start and count, and optionally filtered by sourcePlatform. Every returned segment carries created and lastModified timestamps — and lastModified is the field to sort by, because it updates on edits and streaming writes, giving you a workable staleness signal ahead of the 30-day archive clock.
The working sequence:
- Inventory. Pull every segment for the account with the query above. Record ID, type,
sourcePlatform,lastModified, and — where returned —inputCount. - Sort by staleness. Oldest
lastModifiedfirst. Anything untouched for months and unattached to campaigns is either already Archived or about to be — that is your free-cleanup tier. - Delete in batches, one account at a time. Batch deletion is supported, but all segments in one batch call must belong to the same sponsored account — a multi-client agency script needs one call per account, not one global sweep.
- Alert on the right error. Match
SEGMENT_LIMIT_EXCEEDEDspecifically rather than treating all 429s as retryable throttling — the API rate-limiting patterns that make sense for genuine throughput limits actively hurt here, because no amount of backoff frees a segment slot.
Linkedin-Version header, because LinkedIn never applies the latest version by default.07 — Same ReleaseThe rest of v202608 — and the sunset-cadence correction.
Three more changes shipped in the same release. First, the Matched Audiences API reached general availability — with an important nuance: GA here means any qualified developer can now apply via the Developer Portal, not that access is open by default. The overview page still scopes access to developers vetted for the Matched Audiences API with Default-tier access, and holding Advertising API access remains a prerequisite. The door is wider; the gate is still there.
Second, the Dynamic UTM API gained account-level tracking parameters: the /adTrackingParameters endpoint now accepts a sponsoredAccount member on the adEntity key alongside the existing sponsoredCampaign, an additive and backward-compatible change that lets you set UTM defaults once per account instead of per campaign. Third, the Conversions API added two granular lead-quality conversion types — covered in depth in our guide to the new MQL/SQL conversion types, so we will leave them there.
Finally, a correction worth making explicit because a wrong version of it is circulating: LinkedIn’s API versions are not sunset on a 90-to-120-day cycle. The versioning policy states that versions are “supported and stable for a minimum of one year before sunset,” and the changelog’s own sunset table corroborates it — v202508, released August 2025, hit its sunset on August 17, 2026, roughly a year later, with v202509 scheduled for September 15 and v202510 for October 15. You have a year per version, published monthly. The segment cap is the exception to that comfort: it applies to all versions, immediately.
08 — Action PlanWhat to do this month, by team type.
The right response depends on how your segments get made. Four profiles cover most accounts we see:
Manual Campaign Manager workflows
You are probably fine on count, but nobody has ever counted. Run one inventory pull, record the number, and set a quarterly reminder. If you are under a few hundred segments, the decay clock handles the rest.
Automated segment creation
Highest urgency. Add SEGMENT_LIMIT_EXCEEDED handling to every create path now, before the wall appears mid-launch. Then audit what your connector actually creates per sync — one segment per CRM list is fine; one per stage per territory is a slot fire.
Many client accounts
Each sponsored account has its own 1,000-slot pool, so the risk is distributed but unmonitored. Script the per-account inventory across the book and remember batch deletes run one account per call. Our own rule of thumb — not a LinkedIn threshold — is to flag any account past roughly 700 segments for review.
Predictive + A/B grids
Every experiment seed, and every grid cell you build as its own uploaded list, is a slot. Build teardown into test design: when a test concludes, delete losing variants and orphaned Predictive parents the same week, and rebuild future grids from shared base lists.
The forward-looking read: platform-imposed audience hygiene is becoming a pattern, not a one-off. Ad platforms carrying years of accumulated advertiser data are starting to push the cleanup cost back onto accounts — and teams whose audience architecture was designed around “segments are free” will keep paying small operational taxes like this one until the architecture changes. Building a deliberate, consolidated audience library is the durable fix, and it is exactly the kind of work our paid media practice does when accounts get audited: fewer, better-maintained segments outperform sprawl on both operations and delivery clarity.
09 — ConclusionA cap you should treat as a forcing function.
1,000 segments is plenty — if someone owns the number.
LinkedIn’s 1,000-segment cap is a hard, per-account, request-time limit — HTTP 429 with SEGMENT_LIMIT_EXCEEDED on the create call, across Matched and Predictive Audiences combined, on every API version. It is not a storage limit, it is not per campaign, and there is no documented way to buy more headroom.
It is also, for most accounts, entirely manageable. The segment lifecycle already archives unused audiences at 30 days and expires them at 90; a single inventory sorted by lastModified shows you exactly what is stale; and the API refuses deletes that would break active campaigns. The accounts that get burned will be the ones where segment creation is automated and segment ownership is nobody’s job.
Make it somebody’s job this month. Run the census, wire the error handler, and let LinkedIn’s own decay clock do the boring half of the cleanup.