Microsoft Ads conversion tracking for water damage and restoration companies
Restoration is the most urgent category in home services and the one with the widest job value spread: a small water extraction and a full fire rebuild are both one phone call. What Microsoft Ads adds on top of that is a mechanical requirement: msclkid has to reach the record that holds the money, because Microsoft can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in water damage and restoration companies, and what Microsoft specifically needs to accept it.
Free30 minutesNo obligation
Specific to Microsoft × Restoration
Microsoft Ads for restoration: cheaper clicks, the same job import
A restoration company on Microsoft Ads should import completed, invoiced jobs from the job management system as offline conversions keyed on msclkid, with the UET tag and the call-tracking number swap firing immediately on every landing page. Count filtered calls as a separate goal, and pass the actual invoiced value by loss type.
Bing's share of emergency searches is smaller than Google's but not trivial. It's the default search engine in Edge and on many Windows machines, and it skews toward older homeowners, who own the houses that flood. Click costs for water damage terms are often lower than on Google, which matters in a category where a single click can cost a lot. The audience is mostly real homeowners searching in an emergency, so it's worth running and measuring properly.
The typical Microsoft restoration account was imported from Google with call extensions and conversion goals copied but UET never installed. That leaves a dynamic number insertion script that only reads gclid, so Bing callers get the default number and every call is credited to organic. Check that your call-tracking provider recognizes msclkid as a paid Microsoft click before trusting any call numbers.
For counting, a homeowner who calls three times in an hour about the same flood is one job. Set lead-type goals to count once per click, and check the imported goals for a website form goal that was set to count every conversion in Google and copied over unchanged.
Microsoft · Restoration · what breaks
Why Microsoft under-reports for water damage and restoration companies
- 01
Every call counted regardless of outcome
Emergency inbound includes a great many calls that never become jobs.
- 02
Job values spanning two orders of magnitude
Averaging a small extraction with a fire rebuild destroys the signal.
- 03
Insurance approval sitting between the call and the revenue
A dispatched job is not an approved job.
- 04
Msclkid never reaches the record
Microsoft's click identifier, appended when auto-tagging is enabled. It depends on the UET tag being present on the site — without UET, msclkid arrives in the URL and there's nothing consuming it, which is a common half-configured state on accounts imported from Google.
Microsoft · Restoration · the fix
What working looks like — Microsoft · Restoration
Completed jobs as the conversion
From the job management system, at the invoiced value.
Loss type carried on the conversion
Water, fire, mould — different values and different competition.
Calls filtered before they count
By duration and by whether a crew was actually dispatched.
Microsoft · Restoration · architecture
How Microsoft and water damage and restoration companies actually connect
- 1
The conversion in water damage and restoration companies
The money event is a completed and invoiced job. The insurance approval step means the value is not known at dispatch, which is the timing question to settle before building.
- 2
Microsoft Ads needs a click to match
msclkid inside the import window, a conversion goal name matching one in the account, a timestamp and a value.
- 3
The identifier: msclkid
Microsoft's click identifier, appended when auto-tagging is enabled. It depends on the UET tag being present on the site — without UET, msclkid arrives in the URL and there's nothing consuming it, which is a common half-configured state on accounts imported from Google.
- 4
Where it gets sent from
The job management system — jobs completed and invoiced by date, by loss type, for the same window.
- 5
Deduplication and window
The same counting question applies: one conversion per click for lead-type goals, every conversion for ecommerce. Accounts imported from Google frequently carry over the goal structure and not the counting review, so it's worth reading every goal rather than assuming the import got it right. Check Microsoft's current offline import window and attribution settings directly. They resemble Google's closely enough to be assumed and differ enough to matter.
Microsoft · Restoration · events
The conversion map for water damage and restoration companies
Five steps with an insurer in the middle.
| Event | What it means here |
|---|---|
| Tracked phone call | The dominant channel. Filter hard. |
| Crew dispatched | A real commitment of resources, and a cost whether or not it bills. |
| Insurance approved | Where the job becomes revenue. |
| Job completed and invoiced | The money event, at the invoiced value. |
| Loss type | Carried on the conversion. |
Microsoft · Restoration · diagnose
Diagnostic order — Microsoft · Restoration
- 01
Count records carrying msclkid
- 02
Number-swap script running too late
Emergency callers dial fast, so the highest-intent traffic is the least attributed.
- 03
Unfiltered call conversions
Inbound includes insurers, adjusters, competitors and wrong numbers.
- 04
Service area boundaries
Out-of-area emergency calls are pure cost.
- 05
Read the upload's match rate and Microsoft's conversion goal diagnostics
Almost every Microsoft account we open was imported from Google Ads, and the import copies campaign structure without copying the tracking. The result is a live account spending money with UET missing, msclkid unconsumed, or conversion goals pointing at pages that don't exist on the site any more.
Microsoft · Restoration · prove
How it gets proven — Microsoft · Restoration
Source of truth
The job management system — jobs completed and invoiced by date, by loss type, for the same window
- Completed jobs reconciled per job against what each platform reports.
- The share of calls carrying a session measured, since phone is the funnel.
- Number-swap timing verified on a real page load.
- Invoiced values confirmed on the conversion rather than an average.
- The upload's match rate and Microsoft's conversion goal diagnostics read directly, not inferred from an upload succeeding.
Microsoft · Restoration · free audit
What we check in the free audit
- Count records carrying msclkid
- Number-swap script running too late
- Unfiltered call conversions
- Service area boundaries
- Read the upload's match rate and Microsoft's conversion goal diagnostics
Checked against
The job management system — jobs completed and invoiced by date, by loss type, for the same window
Free30 minutesNo obligation
Microsoft · Restoration · when not to buy
When you don't need this — Microsoft · Restoration
- If Microsoft already reports conversions that reconcile against the job management system within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry msclkid.
- If your Microsoft account is a straight import you've never separately configured, fix the account structure and UET installation first — offline import on top of an unconfigured account produces data nobody will trust.
Microsoft · Restoration · what we deliver
What gets built — Microsoft · Restoration
Click identifier captured with the number swap running immediately
Callers dial within seconds of landing; a deferred script loses them.
Carried into the job management system
Onto the job record.
Completed job fires the conversion
At the invoiced value, after insurance approval.
Cancelled and unapproved jobs excluded
A truck rolled that did not bill is a cost.
Dispatch via Microsoft's offline conversion import
Uploaded against msclkid, closely mirroring Google's approach. Because so many Microsoft accounts are imported wholesale from Google Ads, people assume full parity — verify the current column format and requirements in Microsoft's documentation rather than reusing your Google template unchanged.
Written guarantee
95%+ tracking accuracy
Measured against The job management system — jobs completed and invoiced by date, by loss type, for the same window. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Microsoft · Restoration questions, answered
Usually, as a smaller and often cheaper source of the same emergency search demand. It's only measurable if UET and your call tracking both recognize msclkid.
The number swap is probably only triggered by gclid or Google traffic. Configure your call-tracking tool to treat msclkid visits as paid Microsoft clicks.
Only filtered ones. Restoration inbound includes adjusters, insurers, competitors and wrong numbers alongside genuine emergencies. An unfiltered call conversion at restoration CPCs is expensive in a hurry.
Fire the conversion at completion with the invoiced value, or at dispatch with a modelled average if you need the faster signal. Either works if the choice is deliberate; what does not work is treating a dispatch as revenue when a meaningful share never bill.
Because the spread is wider than anywhere else in home services. A campaign producing small extractions and one producing fire rebuilds look identical on conversion count and are completely different businesses. Send the invoiced value, never an average.
Microsoft's click identifier, appended when auto-tagging is enabled. It depends on the UET tag being present on the site — without UET, msclkid arrives in the URL and there's nothing consuming it, which is a common half-configured state on accounts imported from Google.
Uploaded against msclkid, closely mirroring Google's approach. Because so many Microsoft accounts are imported wholesale from Google Ads, people assume full parity — verify the current column format and requirements in Microsoft's documentation rather than reusing your Google template unchanged.
By reading the upload's match rate and Microsoft's conversion goal diagnostics and reconciling against The job management system — jobs completed and invoiced by date, by loss type, for the same window. An upload that succeeds is not an upload that matched.
More on Microsoft · Restoration
- RestorationConversion tracking for restoration, measured in completed jobs
- Google Ads · RestorationGoogle Ads conversion tracking for water damage and restoration companies
- Meta · RestorationMeta Ads conversion tracking for water damage and restoration companies
RELATED GUIDES
More for water damage restoration: other angles on the same outcome
- RestorationConversion tracking for restoration, measured in completed jobs
- Microsoft · Deck buildersMicrosoft Ads conversion tracking for deck builders
- Microsoft · Mold remediationMicrosoft Ads conversion tracking for mold remediation companies
- Microsoft · Quote → closed jobHow to track quote request to closed job for Microsoft Ads
- Microsoft × Job SystemHow to reconcile Microsoft Ads against your job management system
- Microsoft · Windows and doorsMicrosoft Ads conversion tracking for window and door companies
- Microsoft · ConstructionMicrosoft Ads conversion tracking for construction and general contracting companies
- Microsoft · Garage doorsMicrosoft Ads conversion tracking for garage door companies
Free · 30 min
Get Microsoft reporting what water damage and restoration companies actually earn
Free30 minutesNo obligation
