Skip to main content

LinkedIn: allow targeting and creative edits after a campaign is created

What we're asking for: support targeting and creative changes on PUT /v1/ads/{adId} for LinkedIn (both return 501 today).

Why this matters to us: right now everything has to be perfect in one shot. A typo in a headline, an audience that turns out too narrow, a landing page that moved - each of those means deleting the campaign and creating a new one, which throws away its history and learning. That's a hard thing to explain to a customer who just wants to
change one word.

What happens today: your documentation states that targeting edits return 501 for Pinterest, X and LinkedIn, and creative replacement is Meta and TikTok only. We haven't found a partial-edit path for LinkedIn.

What "done" looks like for us, roughly in order of usefulness:
- editing the audience facets (seniority, function, industry, company size, geo) on an existing LinkedIn campaign
- editing the creative's headline, body text and image
- read-back of both, so we can confirm the change landed rather than trusting the response code
Status: Completed2 comments

Log in to comment and vote

Comments2

  • Miquel Palet López

    Team•

    Sep 1

    This is now live. PUT /v1/ads/{adId} no longer returns 501 for LinkedIn targeting and creative edits:

    • Targeting: update geo targeting (countries) on a running campaign without recreating it.

    • Creative replacement: pass new headline, body, imageUrl or videoUrl in the creative object. A new inline media creative is created on the same campaign and the old one is paused, preserving historical reporting.

    • JW Stukart

      •

      Sep 1

      Hi Miquel,
      
      Thanks for all your work! I think I'm still doing something wrong here or its not working as intended: 
      
      Targeting edits are still failing though. Tested twice on 2026-09-01, exactly as documented ("geo countries only"): PUT /v1/ads/{adId} with {"targeting": {"countries": ["BE"]}} on a paused LinkedIn campaign returns 422 from LinkedIn —
      "/targetingCriteria/include :: field is required but not found and has no default value" — and a follow-up GET shows the original countries unchanged. It looks like the PARTIAL_UPDATE is sent without the full targetingCriteria.include tree. Happy to
      share ad ids and timestamps.

      Could you have a look,

      Cheers,

      Jan-Willem