LabArticleSeat-verified

Segment targeting from a real catalog

LiveRamp and Data Marketplace segments on this product resolve against 43,175 real third-party rows across 13 provider IDs. Unknown keys are rejected. The inactive write probe created expression 23441 and attached no line item.

Published 2026-09-09 · Search job: LiveRamp segment targeting

LiveRamp segment targeting here is catalog-first. You do not type a guessed segment name and hope the exchange knows it. Every submitted key has to resolve into a real row.

As of June 25, 2026 the catalog holds 43,175 real third-party segment rows across 13 provider IDs. That expansion ran from the earlier 50-row activation seed by pulling the live marketplace and writing the catalog. Provider-filter checks passed for provider 272 (Tru Optik) and provider 611 (Experian).

GET /targeting/reference/segments, MCP discover_segments, and CLI ztdsp targeting discover-segments serve those rows from third_party_segment_catalog. POST /targeting, MCP create_targeting, and CLI ztdsp targeting create must resolve every submitted segment key into targeting_segments audit rows with data CPM, reach, and policy tier. Unknown keys are rejected. They are not dropped.

What the inactive write proved

The June 24, 2026 inactive Beeswax proof created targeting expression 23441 with user.segment = alliant-167430, active=false, and no line-item attachment. That verified the write shape without creating spend. Production then ran with LIVERAMP_SEGMENT_TARGETING_ENABLED=1.

The catalog is the product surface. If a key is not in the 43,175 rows, the API refuses it. That is deliberate. Silent drop is how a targeting set looks complete while the exchange never sees the segment.

What this is not

This is not a claim that any of those 43,175 rows have been flown as a judged Adprime Zero experiment. The seat-verified facts are: the catalog size, the provider count, the reject-unknown rule, and the inactive expression write.

Do not invent a segment from a display name. Do not activate a segment-targeted campaign broader than requested. Chat-originated segment writes stay behind the product's existing review path for that surface.

If you are building an audience cell for an isolated funnel, pick a returned catalog id and put that id in the campaign name. Name the campaign so a stranger can read the stack. A later readout that says "the tech segment won" is useless if nobody can find which key was actually sent.

Discover first, then write. discover_segments and GET /targeting/reference/segments are how an agent finds a key that will survive create_targeting. A key that only exists in a prompt will be rejected. That rejection is the product working. The June 25 catalog expansion is why the discover surface is worth calling: tens of thousands of rows, thirteen providers, and a reject path for everything else. Do not shrink that rule to "close enough."