Skip to main content

folkfox

Skip to main content
Skip to content
MICROSOFT ADS & PPC

Microsoft Ads API Now Locks the Gate With Two Keys, Not One

A single number used to unlock a Microsoft Ads account link. Now it takes two, and since yesterday the door simply will not open for anyone still carrying one.

Quick answerSince 26 August 2026 the Microsoft Ads API rejects any account-linking call sent with only one identifier. Manager links now need a Manager Account Number and Manager Account ID; account links need a Manager Account Number and Account Number.
Section 01

What actually changed inside the Microsoft Ads API#

A fox does not force a locked gate. It reads the latch, catches the scent of what is new, and waits for the right moment before it pushes through. That patient, practical posture is exactly what agencies and ad-tech teams need this week, because the Microsoft Ads API has had its latch changed twice: quietly in May, and unmissably on 26 August.

Microsoft first posted the change on 27 May 2026, in a short, sober note on the Bing Ads API Blog inside the Microsoft Community Hub: a new dual ID requirement for account linking APIs. Reading it in May, the update looked like tidy housekeeping, the sort of policy note that sits quietly for months without touching a single running integration. Enforcement began on 26 August 2026, and a quiet policy post turned into the most disruptive line of code most Microsoft Ads API integrations will meet this quarter.

The mechanics are easy to state and awkward to retrofit. Manager account linking, built on a CID (a customer ID), used to accept a single Manager Account Number on its own. It now needs that number paired with a numeric Manager Account ID before Microsoft's Customer Management Service will even consider the request. Account linking, built on an XID, used to accept a lone Manager Account Number too. It now needs that same Manager Account Number paired with the target Account Number of the advertiser account being linked, the dual ID account linking pattern that gives this whole change its name.

Two boxes to tick, not one#

Microsoft frames the change bluntly. Previously, the company says, linking could be initiated using a single identifier, which increased exposure to brute-force attempts, a line that reads less like marketing copy and more like an incident report someone finally acted on. The fix is not cleverer fraud detection working invisibly behind the scenes, it is a second, mandatory field standing at the gate itself, and every account linking API call now has to carry it.

The rollout window, in one line
Line chart showing enforcement coverage rising from zero at the 27 May announcement to full enforcement by 22 September 2026100%75%50%25%0%27 May26 Aug2 Sept9 Sept16 Sept22 SeptEnforcement coverage: 0Enforcement coverage: 15Enforcement coverage: 35Enforcement coverage: 60Enforcement coverage: 85Enforcement coverage: 100
Enforcement coverage
Illustrative shape of Microsoft's own rollout: silence from the 27 May announcement to 26 August, then a steady climb to full enforcement by 22 September. Modelled from Microsoft's stated dates, not a measured figure.

Read that line the way a fox reads a rising tide along the shoreline: nothing looks urgent in week one, and everything is urgent by week four. Treat 26 August as a soft launch and your Microsoft Ads API integration risks being quietly starved of new links by the time the tide reaches its highest mark on 22 September.

Both linking paths gained a second required field on 26 August; neither lost the first.
Link typeOld requirementNew requirement
Manager account linking (CID)Manager Account NumberManager Account Number + Manager Account ID
Account linking (XID)Manager Account NumberManager Account Number + Account Number
Section 02

Why a brute-force problem becomes your problem#

Every account linking API eventually asks for the same thing twice: proof you actually control both ends of the request. Account hijacking is not an abstract worry for a platform that used to let one customer request control of another customer's advertiser account by number alone. Microsoft's own ClientLink documentation already defines what happens when the numbers do not line up: a LinkPairMismatch error fires when an account ID does not match its target, and a ClientLinkFieldInvalid error fires when a required field is missing outright. Both error codes existed long before 26 August. What changed is which fields are required before either one can fire at all.

The underlying service operation, AddClientLinks, has always accepted a ClientEntityId or ClientEntityNumber alongside a ManagingCustomerId or ManagingCustomerNumber, laid out in full in Microsoft's Customer Management Service reference. The dual ID account linking rule does not bolt a new field onto the schema. It removes the option to submit only half of what the schema always allowed, closing a door that had stood conveniently ajar since the service first shipped.

Picture the integration that only ever sent a Manager Account Number, the single key that used to work every time. From 26 August it slides that same key into a lock built for two, turns it, and nothing moves. The request is not queued, delayed or flagged for later review. It is rejected outright, the way a fox turned back from a den mouth too narrow for two does not squeeze through by pushing harder.

Microsoft Ads API dual-ID account linking rule illustrated as a fox pausing warily at a double-locked gate
One key used to open this gate. Now it needs two.
Where the rollout window stands
Where the rollout window standsBullet chart showing one day elapsed against a 27 day target representing the full enforcement rollout windowDays elapsed: 1 of 27Days elapsed1 days
Today marks day one of a 27-day rollout window running from 26 August to 22 September 2026, Microsoft's own stated enforcement horizon.
Section 03

The wider pattern: platforms are hardening the front door#

Microsoft is not acting alone, and that matters more than the specific field names. Google tightened its own Ads API authentication twice in 2026 before Microsoft's dual ID account linking rule ever took effect: a mandatory multi-factor step for new OAuth 2.0 refresh tokens from 21 April 2026, confirmed in an agency compliance guide to the change, then a harder passkey requirement layered on top from 5 August 2026 for anyone generating a fresh token through the standard user-authentication workflow.

“These important security updates will start rolling out from August 5, 2026, and will be enabled for all users over the next few weeks,” Google's own Ads API developer blog states, framing the change as protection against the same credential-stuffing and brute-force pressure Microsoft cites for its dual ID account linking rule.

A single number was never a lock. It was a doorbell that anyone could ring.
folkfox, on why platforms keep adding a second identifier to account linking

The shape repeats across both platforms. A single credential that used to be sufficient stops being sufficient. Existing sessions are grandfathered so nothing breaks retroactively. New requests carry the extra weight going forward. Neither company frames its change as a response to the other, and neither needs to: every large ad platform now fields enough account-takeover attempts against its own Microsoft Ads API or Google Ads API that a single shared identifier looks less like convenience and more like a side door left unlocked for a decade.

For a paid-search team running budgets across both platforms, the lesson generalises past this one field. Whatever number your tooling treats as a master key this year is the number a platform is most likely to demand a second proof for next year. Auditing single-identifier assumptions across the Microsoft Ads API and every other platform you touch is cheaper done once, on your own schedule, than done five times, on five different platforms' schedules, the same discipline behind folkfox's audit of Microsoft's other August changes.

Section 04

The practical fix: five checks before the window closes#

None of this needs a rebuild. It needs an audit of every place your codebase still assembles a Microsoft Ads API linking request from one field where the schema always had room for two.

Five checks, in order
Grep the call sites

Search every AddClientLinks and account linking API call in your codebase for a request built from a single identifier.

Map CID against XID

Confirm which integrations use manager account linking (CID) and which use account linking (XID), because each needs a different second field.

Pull the second ID

Fetch the Manager Account ID for CID links and the target Account Number for XID links before the request fires, not after it fails.

Handle both error codes

Catch ClientLinkFieldInvalid and LinkPairMismatch explicitly, rather than letting a generic API error swallow a fixable mismatch.

Re-test a live pending link

Send one real linking request end to end through the Microsoft Ads API and confirm it succeeds before 22 September, not after.

The second step is the one teams skip, and it is the one that causes the quiet failures later. A tool built only for agency-side manager linking never touches an XID at all, and a tool built for direct account linking never touches a CID. Fixing the wrong half of the pair is a fast way to ship a patch that still fails in production on 23 September.

What to watch between now and 22 September

Rejected linking calls

0

Should stay at zero. A rising count means a call site still sends only one ID.

Pending links closed

100%

Existing and pending links are unaffected, so this figure should not move.

Call sites audited

4

Track this against your own total call-site count, not Microsoft's.

Budget a genuinely small amount of engineering time for this, a day at most for most integrations, because the fields already exist inside the Microsoft Ads API schema. You are not building new plumbing. You are filling in a pipe that was already there, half-connected, since the service first shipped, and if you maintain a Microsoft Advertising SDK wrapper rather than calling the raw Microsoft Ads API directly, check the wrapper's own changelog too, because the dual ID account linking fields need to reach your code through it.

Section 05

Proving you are actually compliant, not just hopeful#

Compliance here is provable, not a matter of hope. Microsoft's own API FAQ and its Getting Started guide both point back to the same Customer Management Service documentation that defines these fields, so there is no separate dual-ID endpoint to test against. You test the same AddClientLinks call you always tested through the Microsoft Ads API, now with both fields populated.

Watch three things after you ship the fix. First, whether any linking call still returns ClientLinkFieldInvalid, which almost always means a code path you missed rather than a genuinely new bug. Second, whether pending links from before 26 August continue resolving normally, since Microsoft's notice states plainly they are untouched by the change, a distinction its Account Hierarchy and User Permissions guide helps make sense of for larger agencies. Third, whether your own release-note habit catches the next quiet policy post before enforcement, not after it, so this fortnight does not repeat itself in October.

The teams that will feel nothing on 22 September are the ones treating 26 August as the deadline it always was, not the ones waiting for a second announcement that Microsoft has already said is not coming. There is no soft second warning built into this rollout, only a widening enforcement window that closes the same door a little further shut with each passing week. This lands the same week Google reshaped how it bills missed calls on Local Services Ads, a reminder that August 2026 has been a month of platforms quietly rewriting the fine print across paid search.

This is exactly the kind of quiet-breaking change folkfox's PPC team audits for weekly, tied to the same reporting rigour covered in our recent look at Microsoft's bidding changes and the Google Ads API's own August update. A single unfixed call site is a small thing right up until the day the Microsoft Ads API stops accepting it, and that day, for the last integrations still carrying one identifier, is already here.

Questions

Frequently asked questions#

What is the Microsoft Ads API dual-ID requirement?

It is a rule that took effect on 26 August 2026 requiring every new Microsoft Ads API account-linking request to carry two identifiers instead of one. Manager account linking needs a Manager Account Number and a Manager Account ID. Account linking needs a Manager Account Number and an Account Number. A request missing either field is rejected outright.

When does the Microsoft Ads API start rejecting single-ID linking requests?

Enforcement began on 26 August 2026 and rolls out gradually through 22 September 2026, according to Microsoft. Once enforcement reaches a given integration, any new linking request sent with only one identifier is rejected, though existing links and pending requests are unaffected.

Does the dual-ID rule affect Microsoft Ads accounts I already linked?

No. Microsoft states plainly that the change applies only to new linking requests. Existing account links and any link requests already pending before enforcement began continue to work exactly as they did before 26 August.

What error do I get if my Microsoft Ads API call is missing an ID?

Microsoft's Customer Management Service documentation defines two relevant errors: ClientLinkFieldInvalid when a required field is missing, and LinkPairMismatch when the identifier supplied does not match the target account. Both existed before 26 August; the dual-ID rule simply makes both fields mandatory.

Is this the same as Google's Ads API authentication changes in 2026?

Not identical, but closely related. Google added a multi-factor authentication requirement for new OAuth tokens from 21 April 2026, then a passkey requirement from 5 August 2026. Both changes, like Microsoft's dual-ID rule, tighten account-linking security against brute-force and credential-based attacks.

How long do I have to fix a Microsoft Ads API integration that only sends one ID?

Practically, until 22 September 2026, when Microsoft says the rollout completes. Since enforcement began gradually from 26 August, some integrations may already be seeing rejections, so the safer move is fixing it this week rather than waiting for the deadline.

Keep reading

Read more on this topic#

Is your Microsoft Ads API integration still sending one key to a two-key lock?

We audit paid search API integrations for exactly this kind of quiet-breaking platform change, before it costs a client a week of missed conversions.