---
title: "Microsoft Advertising Offline Conversions Integration"
description: "Report offline conversions back to Microsoft Advertising so bidding and reporting reflect real revenue: agents apply conversions and adjustments in batches of up to 1,000 against the Microsoft Click ID, and can invoke any Campaign Management v13 SOAP operation through the escape hatch."
url: https://flowrunner.ai/integrations/ms-advertising-conversions
date_modified: 2026-08-04T10:04:16-07:00
---

# Microsoft Advertising Offline Conversions

[Advertising](https://flowrunner.ai/integrations/category/marketing-social)

Report offline conversions back to Microsoft Advertising so bidding and reporting reflect real revenue: agents apply conversions and adjustments in batches of up to 1,000 against the Microsoft Click ID, and can invoke any Campaign Management v13 SOAP operation through the escape hatch.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 3 actions · OAuth · available

[Microsoft Advertising Offline Conversions website](https://ads.microsoft.com/) · [Platform Documentation](https://learn.microsoft.com/en-us/advertising/campaign-management-service/) · Capability data verified 2026-07-28

1.  A CRM deal moves to closed-won with a stored Microsoft Click ID on the contact
2.  The agent verifies the msclkid exists and the offline conversion goal is at least two hours old
3.  Apply Offline Conversions uploads the deal value against the click, batched with the day's other wins
4.  The returned SOAP response is parsed; any BatchError rows inside PartialErrors are pulled out
5.  Failed rows post to Slack with the click ID and error, so attribution gaps get fixed, not buried
6.  When a deal is refunded or repriced, a person confirms the correction before Apply Offline Conversion Adjustments retracts or restates the reported value

## What This Integration Enables

An ad platform is only as smart as the conversions it sees, and for any business that closes revenue on the phone, in a store, or through a sales cycle in the CRM, the website pixel sees almost nothing. This connector closes that loop for Microsoft Advertising: FlowRunner agents upload offline conversions against the stored Microsoft Click ID in batches of up to 1,000 per call, and keep the record honest afterward with Restate and Retract adjustments matched by click ID, goal name, and conversion time.

-   Report CRM-closed and point-of-sale revenue back to the originating ad click
-   Batch up to 1,000 conversions or adjustments per call
-   Correct the record: Restate a value when a deal changes size, Retract when it cancels
-   Parse the raw SOAP response and surface every BatchError inside PartialErrors
-   Reach any Campaign Management v13 operation through Call SOAP Operation

The wrinkle is that everything this connector writes changes what the platform believes about revenue, which changes what it bids. That is why adjustments run behind FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gates rather than on an agent's inference about a refund.

### Without FlowRunner

**Bing bids on clicks, not revenue**: Deals close in the CRM and phone sales convert offline, but Microsoft Advertising never hears about it

**Corrections never happen**: A refunded deal stays in the conversion data forever because nobody retracts conversions by hand

**Upload errors vanish**: Bulk imports through the UI fail row by row and no one reads which rows or why

### With FlowRunner

**Closed revenue flows back to the click**: Every won deal with a stored msclkid is reported to the platform, so bidding optimizes toward real money

**The conversion record stays true**: Refunds trigger reviewed Retract adjustments and repriced deals get Restated, on a human's confirmation

**PartialErrors get read**: Every batch response is parsed and failed rows are surfaced with enough context to repair the attribution

## Use Case Scenarios

### Closed-won deals become Bing conversions the same day

When a [HubSpot](https://flowrunner.ai/integrations/hubspot) deal reaches closed-won, the agent pulls the contact's stored msclkid, queues the deal, and each evening sends the batch through Apply Offline Conversions with deal values attached. Campaign ROI in Microsoft Advertising starts reflecting closed revenue instead of form fills, and the bidding engine gets trained on the outcomes that pay salaries.

### The refund that un-reports itself, with a witness

A refund lands in [Stripe](https://flowrunner.ai/integrations/stripe). The agent matches it to the previously reported conversion by click ID, goal name, and conversion time, then drafts a Retract adjustment and posts it for approval with the original value and the refund reference side by side. On confirmation, Apply Offline Conversion Adjustments cancels the conversion. Partial refunds follow the same path as Restate adjustments with the corrected value. The conversion data stays truthful without anyone trusting an agent to rewrite revenue history alone.

### Phone and point-of-sale conversions from a sheet

Call tracking and in-store sales land as rows in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) with the captured msclkid. Nightly, the agent reads the day's rows, batches them, and uploads through Apply Offline Conversions. It then parses the returned rawXml, and if PartialErrors contains failed rows, posts them to [Slack](https://flowrunner.ai/integrations/slack) with the click IDs so the team fixes capture problems while the trail is warm.

## Human-in-Loop Highlight

Apply Offline Conversion Adjustments rewrites reported revenue: a Retract cancels a conversion the platform has already learned from, and a Restate changes its value, up to 1,000 rows at a time. Fire it on a bad match and you have corrupted the training signal your entire Bing spend optimizes against. So the adjustment agent never acts on inference. It matches the refund or reprice to the original conversion, lays out both sides, "conversion reported 2026-07-12 at $4,800 against msclkid ...9f2, Stripe refund of $4,800 received today, proposed action: Retract", and waits for marketing ops to confirm. The upload side runs on a lighter footing because new conversions are correctable, but even there the agent reports every PartialErrors row to a person rather than silently dropping failed attributions.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

3 actions

### Offline Conversions

2

-   **Apply Offline Conversions** Uploads offline conversions so revenue that happens away from the website, phone calls, in-store sales, CRM-closed deals, is attributed to the ad click via the Microsoft Click ID. References an existing offline conversion goal by name, sends up to 1,000 conversions per call, and returns the raw SOAP response whose PartialErrors element lists any failed rows. The goal must exist at least two hours before use, and data can take up to six hours to appear.
-   **Apply Offline Conversion Adjustments** Adjusts previously uploaded conversions: Restate changes a conversion's value, Retract cancels it entirely. Each adjustment matches the original by click ID, goal name, and conversion time, up to 1,000 per call. Value and currency apply only to Restate. Returns the raw SOAP response with PartialErrors for failed rows.

### Advanced

1

-   **Call SOAP Operation** Escape hatch for any Campaign Management v13 SOAP operation not covered by a dedicated action. Provide the operation name and raw inner request XML; the service wraps it in an authenticated envelope with the AuthenticationToken, DeveloperToken, CustomerId, and CustomerAccountId headers populated, and returns the raw XML response.

## Frequently Asked Questions

### What can FlowRunner do with Microsoft Advertising Offline Conversions?

FlowRunner agents can run Apply Offline Conversions, Apply Offline Conversion Adjustments, and Call SOAP Operation in Microsoft Advertising Offline Conversions.

### Does connecting Microsoft Advertising Offline Conversions to FlowRunner require OAuth?

Yes. Microsoft Advertising Offline Conversions connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

### Can Microsoft Advertising Offline Conversions trigger a FlowRunner workflow automatically?

Microsoft Advertising Offline Conversions doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Microsoft Advertising Offline Conversions?** This integration exposes Microsoft Advertising Offline Conversions to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/ms-advertising-conversions. Site index: https://flowrunner.ai/llms.txt
