Upload a Matched Audiences contact list to LinkedIn via the Marketing API
domain: advertising · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Confirm the app has rw_ads permission and separate Matched Audiences API access, which is its own private, approval-gated program distinct from general Marketing API access
Create a DMP Segment as the staging entity that will hold the uploaded contact records
Hash each email address with SHA-256 client-side, then upload rows via the Streaming API for ongoing incremental updates, or a bulk upload for one-time lists
Follow LinkedIn's list-size guidance (a recommended minimum around 10,000 rows, a maximum around 300,000, and a minimum resulting audience size around 300 to be targetable)
Poll the segment/audience status, since matching against LinkedIn's member graph is asynchronous and typically takes roughly 24-48 hours
Reference the resulting Ad Segment URN in a campaign's targeting criteria once matching completes
Known gotchas
Matched Audiences API access is a separate, private approval track — having general Marketing API access does not automatically grant it
Audiences below the minimum matched-size threshold cannot be used for targeting even though the upload itself succeeded
The 24-48 hour matching delay means this path cannot be used for same-day audience activation
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?