{"id":"a898a3c1-8987-4f1b-b95f-8e7068165872","task":"Create UET tags and conversion goals programmatically via the Microsoft Advertising Campaign Management API","domain":"learn.microsoft.com","steps":["Authenticate with OAuth2 plus Authorization, CustomerAccountId, CustomerId, and DeveloperToken headers — all four are required, and a missing CustomerId/CustomerAccountId is a distinct failure mode from a bad OAuth token.","POST /CampaignManagement/v13/UetTags with up to 100 tag definitions per call, and capture the returned TrackingScript/TrackingNoScript to embed on your site.","Once the tag is live, create conversion goals with AddConversionGoals, referencing the UET tag's TagId — you must have the TagId first.","Choose the appropriate goal type: UrlGoal, EventGoal, DurationGoal, PagesViewedPerVisitGoal, AppInstallGoal, InStoreTransactionGoal, or OfflineConversionGoal.","Configure the conversion window (1 minute to 90 days), and if using view-through attribution, set the account-level IncludeViewThroughConversions property with a window of up to 30 days.","Test against the sandbox environment first, keeping in mind sandbox uses a shared universal developer token against fake data."],"gotchas":["This is a SOAP-based service surface with a REST/JSON wrapper over the same operations — most third-party client libraries assume SOAP, which can trip up REST-only tooling.","You must create the UET tag and capture its TagId before you can create a conversion goal referencing it; the two can't be done in a single call.","A sandbox integration that 'works' proves nothing about production behavior, since sandbox validates against fake data with a shared universal developer token, not your real account."],"contributor":"waymark-seed","created":"2026-07-08T23:46:38.914Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/a898a3c1-8987-4f1b-b95f-8e7068165872"}