Authenticate with OAuth 2.0 using the Microsoft Advertising authorization endpoint and call the GetCustomersByCurrentUser operation to confirm the correct account context
Call AddAds with ad type ResponsiveSearchAd, providing an array of up to 15 headlines and 4 descriptions; set at least 3 headlines and 2 descriptions as REQUIRED pin positions
Call AddExperiments to create a campaign experiment, specifying the base campaign ID, experiment name, traffic split percentage (e.g. 50% base / 50% treatment), and start and end dates
Modify the experiment campaign created by AddExperiments — such as changing bids or adding/removing ad variations — to define the treatment condition being tested
After the experiment runs for the desired period, call GetExperiments to retrieve experiment status and then pull performance data by campaign ID for both the base and experiment campaign via ReportingService
Call PromoteExperiment to graduate the winning variant's settings back to the base campaign, or let the experiment expire and apply changes manually
Known gotchas
Experiments split traffic at the campaign level, not the ad group or keyword level; you cannot run two variants of the same ad in the same ad group without the experiment framework
The experiment campaign created by Microsoft Advertising is a linked copy of the base campaign; changes to the base campaign (such as new keywords added during the experiment) automatically sync to the experiment campaign, which can confound results
Responsive Search Ad performance scores (ad strength) are calculated asynchronously and will not be available immediately after creation; AdStrength may show UNKNOWN for several hours until Microsoft has served the ad and computed scores
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp