Microsoft Ads (Bing) offline conversions

UET Conversions APImsclkid kept
CRM stages sentNo file uploads

DataCops sends your Bing sales to Microsoft Ads from the server. It keeps the msclkid on your own domain, matches each booked, won or paid stage from your CRM to the click, and sends it through Microsoft's UET Conversions API. No hidden fields, no monthly upload.

Setup in 5 minutes
No credit card
One lead from a Meta ad
From form fill to won deal in HighLevel
With DataCops
Form fillSent to Meta
Booked callSent to Meta
Showed upSent to Meta
Deal wonSent with its value
Matched to the original ad click by email

Trusted by agencies and brands running paid media

AffilinoBigfishClever DigitalKeetraxLegendListingLogicNumeroStormZealdBurst Digital

How a Bing sale gets back to Microsoft Ads

From the ad click to the conversion, with nothing to export.

  1. Step 01
    Saved on yourdomain.com
    fbclid from Meta Kept
    gclid from Google Ads Kept
    ttclid from TikTok Kept
    Kept for up to 90 days

    A visitor clicks your Bing ad. DataCops keeps the msclkid with the visitor on your own domain.

  2. Step 02
    Stages your CRM reports
    Booked call Reported
    Showed up Reported
    Won, with value Reported

    They fill in a form, then book, show up, buy or pay. Your CRM records the stage.

  3. Step 03
    Finding the ad click again
    Won dealby email or phone
    Ad click, 23 days earlierMatched

    DataCops matches the stage to the click by msclkid or hashed email and phone.

  4. Step 04
    Won deal sent
    Meta Sent once
    Google Ads Sent once
    TikTok Sent once
    LinkedIn Sent once

    The stage is checked for consent, bots and duplicates, then sent through the UET Conversions API.

Microsoft accepts events within 7 days of when they happened. DataCops sends each stage the day your CRM reports it.

Why Bing sales belong in Microsoft Ads

Many advertisers treat Bing as a side channel. It often sends fewer clicks, but the people can be different: older, more often on a work computer, and sometimes more ready to buy. If Microsoft Ads only ever sees form fills, it bids for more form fills. If it sees which clicks became customers, it can bid for more customers.

The trouble is that the sale usually happens somewhere Microsoft cannot see. A sales call, a booked appointment, a signed contract, a paid invoice. Those live in your CRM, days or weeks after the click. Offline conversions are how that result gets back to the ad that started it.

DataCops does this for you. It keeps the click, waits for your CRM to report the stage, and sends it to Microsoft Ads through the UET Conversions API, the same way it sends to the other seven platforms. See offline conversions for every source DataCops reads.

What msclkid is, and why it disappears

When someone clicks a Bing ad, Microsoft Ads can add a click ID called msclkid to the link. It rides on the page address, like yoursite.com/landing?msclkid=abc123. That value points to one specific click.

It is the key to matching a later sale back to an ad. A form fill today may become a paying customer three weeks from now. If the msclkid is saved with the lead, the two connect. If not, the sale looks like it came from nowhere and Bing gets no credit.

The msclkid lives in the address bar for one page view. Once the visitor moves to another page, it is gone, unless something keeps it. The DataCops script runs on your own subdomain, so it is first-party and ad-blocker safe. It saves the msclkid with the visitor the moment they land, along with the Google, Meta, TikTok, LinkedIn and X click IDs, and keeps click events for 90 days.

With the first-party server cookie switched on for your site, returning visitors can be remembered for up to 400 days, even on Safari, which wipes script storage after 7 days. And a returning buyer who gives the same email can still be linked to their first ad click, so a sale reported by email can still find the ad.

What DataCops sends to Microsoft

Each conversion goes out server-side through Microsoft's UET Conversions API. It carries:

  • The msclkid, when DataCops kept one for this person.
  • Hashed email and phone. Details are cleaned (lower case, digits only, country code) and SHA-256 hashed before they leave our servers. Microsoft can match on these even when the click ID was lost.
  • The event name and time. Lead, booked, purchase or paid, at the time it happened.
  • The value and currency, when your CRM or store sends them.
  • An event ID, so the same sale is never counted twice.

Every send is written to the delivery report: sent, skipped or failed, with a plain-English reason and the value sent. You can see exactly what reached Microsoft Ads, and why anything did not, for up to 400 days.

Where the stages come from

HighLevel

The free DataCops app on the HighLevel Marketplace sends booked, showed and won stages back to your ad platforms as real conversions. Install once on the agency, link the sub-accounts, and each stage goes out as it happens. Cancelled, no-show and lost are never sent. Read more on HighLevel conversion tracking.

Any other CRM, by webhook

Salesforce, Pipedrive, Close, Zoho or your own system post each stage to one private DataCops sales webhook, directly or through Zapier, Make or n8n. Send the event name plus an email or phone, and optionally value, currency, an order ID and the click IDs. Funnelish sales come in the same way.

Shopify and your website

The DataCops Shopify app sends paid orders server-side. On any website, auto-capture and the point-and-click picker turn form fills, sign-ups and purchases into conversions without code.

A list of past customers

Ads Warmup takes a CSV or the people DataCops already knows and sends them as real conversions to the platforms you pick. Preview and match scores are free. Sending needs the Business or Organization plan. Keep Microsoft's 7-day window in mind: a warmup list is dated the day you send it. See Ads Warmup.

Held leads: send only qualified ones

Not every form fill deserves to teach Microsoft Ads. DataCops can hold a lead and send it only once your CRM says it is real. With HubSpot, DataCops checks every 5 minutes for the qualified field you chose. With any other CRM, one call to the release API sends it. The lead goes out with its original click IDs. Held leads expire after 14 days, so a lead that never qualifies is never sent.

Checks before every send

The same checks apply to Microsoft Ads as to every platform:

  • Consent. DataCops has a built-in cookie banner, shown in Europe by default and built to the IAB TCF v2.2 standard, with Google Consent Mode v2 on by default. The server re-checks consent before every send. For EU, UK and Swiss visitors, nothing goes to an ad platform until they opt in.
  • Real people only. Turn it on for Microsoft Ads and bot and datacenter conversions stop going there. VPN, proxy and Tor can be added. It is off by default and set per platform.
  • One sale, one conversion. A purchase with an order ID is sent once per platform for 400 days, however many tools report it.
  • Routing. Per event, you choose which of the 8 ad platforms get it: Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X. Pause a platform, or run it in observe mode to see what would be sent without sending.

On the Organization plan, two click fraud tools sit on top of these checks: bot IPs can be blocked at the Cloudflare edge before they reach your site, and suspicious Google Ads clicks can be exported as refund evidence for Google's Click Quality form, covering the last 60 days. Google decides the refund.

The manual way, for comparison

Microsoft also offers an offline import. You set up an offline conversion goal, collect a file with one row per sale (msclkid, goal name, time, and optionally value and currency) and upload it in the account. Microsoft only accepts rows within a limited window after the click, and the format has rules, so check Microsoft's current documentation before you build a routine on it.

It works, but someone has to remember. Leads need a hidden form field to carry the msclkid into the CRM, the export has to be cleaned, and each month the oldest rows fall out of the window. With DataCops there is no file: each stage goes out the day it happens.

A made-up example

This is an example, not a real result. Say Bing sends 40 leads a month, and 6 of them buy at an average of 900. Without the msclkid saved, Microsoft Ads sees 40 form fills and no sales. With DataCops, the 6 sales go to Microsoft the day they close, matched to their clicks, and Bing can tell which clicks became customers.

That is the whole gain: the campaign learns from buyers and not from every form fill.

Is Bing worth its own setup?

With DataCops the setup is the same as for any other platform, so the question is easy. Ask three things:

  • How many leads a month? Even a few dozen is enough to start learning which ones buy.
  • What share of spend? If Bing is a real slice of your budget, it should learn from sales.
  • Do Bing leads close differently? If they close at a very different rate to Google leads, feeding Bing its own sales lets its bidding catch up.

Good to know before you start

  • Microsoft runs its Conversions API as a pilot. Ask your Microsoft account manager to switch it on for your UET tag.
  • Microsoft accepts events within 7 days of when they happened, so send stages live, not in a monthly batch.
  • Microsoft Ads connects with your UET tag ID and token. Meta, Google Ads, TikTok, LinkedIn and X connect with one-click sign-in.
  • The Free plan includes 2,000 sessions. Business is $59 a month ($49 yearly). See pricing.

Everything else DataCops does around the send

Capture Background

One first-party script, served from your own domain

  • Runs first-party from datacops.yourdomain, not a blockable third-party host
  • One script, one CNAME, live in about 5 minutes, no container to host
  • Server-side collection on Cloudflare's edge, close to every visitor
  • Captures click IDs at the network level, so fbclid and gclid still reach your CAPI feed after browsers strip them
  • Recovers 15 to 25% of the sessions other setups lose

Traffic Visibility

10%
20%
30%
40%
50%
60%
70%
80%
90%
100%

First-Party Script

~78%

Blockers and ITP cut your sessions

Set up Microsoft Ads offline conversions

About 10 minutes, once Microsoft has switched on the Conversions API for you.

  1. Step 1
    code

    Add the DataCops script
    One script and one DNS record, so every ad click is kept on your own domain.

  2. Step 2
    ads_click

    Connect Microsoft Ads
    Paste your UET tag ID and Conversions API token. Meta, Google Ads, TikTok, LinkedIn and X connect with one click if you run them too.

  3. Step 3
    hub

    Connect where your sales happen
    HighLevel natively, Shopify, or any other CRM through your private webhook. Pick the stages to send.

In short

Microsoft Ads offline conversions with DataCops, in short

DataCops is a tool that sends CRM stages and web conversions to Microsoft Ads (Bing) through the UET Conversions API, matched by msclkid and hashed email and phone, with no file uploads and a log of every send.

How DataCops does it

1

Keep the msclkid for you

DataCops keeps the msclkid on your own domain, so there are no hidden fields to add to forms. A signed server-set cookie lasts up to 400 days where enabled, and with your DNS on Cloudflare the free Worker reads the click at the edge.

2

Send CRM stages

Booked, won and paid stages from HighLevel natively, or any CRM by private webhook, are matched to the click and sent to Microsoft Ads server-side. There is no monthly upload. A purchase with an order ID is counted once.

3

Connect with your UET tag

Microsoft Ads connects with your UET tag ID and a token pasted from Microsoft Advertising. Meta, Google Ads, TikTok, LinkedIn and X connect with one-click sign-in.

4

Know the pilot and the window

Microsoft runs its Conversions API as a pilot. Ask your Microsoft account manager to switch it on for your UET tag. Microsoft accepts events within 7 days of when they happened, so send each stage live.

5

Keep fake leads out

Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per platform, off by default. CRM posts carry no bot flags, so the check applies to the site visit. Every form email is checked for disposable providers, domains with no mail server and an email risk score, and LeadCops can hold a lead.

6

See every send

A delivery log row shows each send as sent, held, skipped or failed with the reason. Refunds are corrected on Google Ads only, not on Microsoft Ads.

Best for: advertisers on Microsoft Ads and Bing who close sales in a CRM and want those sales to reach Microsoft without a monthly file upload.

Free to start. See pricing.

When not to use DataCops

Microsoft has not switched the pilot on for you

Without it enabled for your UET tag, Microsoft will not accept the conversions. Ask your account manager first.

You need Ads Warmup to Microsoft Ads

This page documents Ads Warmup for Meta, Google Ads and TikTok. Check the connected platform list in your dashboard.

You need refund corrections on Microsoft Ads

Refunds are corrected on Google Ads only.

You need bot checks on CRM stages

CRM posts carry no browser bot check. Qualify leads before the stage you send.

Sources

Platform rules checked October 2026. Rules change; check the platform's own page before you build.

FAQ

Yes. DataCops sends website conversions and CRM stages to Microsoft Ads through Microsoft's UET Conversions API, with the msclkid and hashed email and phone, matched to the original click. The same stage also goes to every other platform you connected.

Send your Bing sales back to Bing

Send booked, showed and won stages to Microsoft Ads, Meta, Google Ads, TikTok, LinkedIn, Reddit, Pinterest and X, logged per send.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card