Skip to main content
Microsoft · RoofingMicrosoft × Roofing

Microsoft Ads conversion tracking for roofing companies

A roofing lead is worth nothing until an inspection happens and a contract gets signed, and that sequence takes weeks with a high drop-off at every stage. 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 roofing companies, and what Microsoft specifically needs to accept it.

Free30 minutesNo obligation

Specific to Microsoft × Roofing

Microsoft Ads for roofers: older homeowners, imported campaigns

Track roofing conversions on Microsoft Ads as signed jobs, or attended inspections, imported offline against the msclkid captured at inquiry, with contract value attached. UET must load on every page. Calls need tracked numbers that also swap for Bing visitors, because most roofing leads phone in.

Bing's older, desktop-heavy audience lines up well with the homeowners who pay for roofs, people in their fifties and sixties replacing a roof on a house they have owned for years. Volume is smaller than Google's. Cost per signed job is often competitive, which is the comparison that matters for a roofer and the one the default dashboard doesn't show.

Nearly every roofing Microsoft account is a Google import. Storm-related keywords, location settings, and the job-type split between repair and replacement were copied, but the conversion goals usually point at a thank-you page and count every submission. Reset goals to count one per click for leads, then add the offline goal for signed contracts with value. Check whether the import window covers your typical inspection-to-signature time.

Call extensions on Microsoft show their own tracked numbers in some setups. If you use them, confirm how those calls are reported and that the job system can tie a Bing call to a job. The common break is website number insertion configured only for Google traffic, so a homeowner who clicked a Bing ad and called from the site shows up as organic.

Microsoft · Roofing · what breaks

Why Microsoft under-reports for roofing companies

  1. 01

    Cheap leads that never become jobs

    Because bidding was shown submissions.

  2. 02

    Storm-season spikes distorting everything

    Volume without a quality signal.

  3. 03

    Calls arriving with no source

    The dominant channel, unattributed.

  4. 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 · Roofing · the fix

What working looks like — Microsoft · Roofing

  • Booked inspections measured

    Not raw enquiries.

  • Signed jobs fed back to bidding

    With contract value.

  • Calls attributed to campaigns

    Down to keyword where data allows.

Microsoft · Roofing · architecture

How Microsoft and roofing companies actually connect

  1. 1

    The conversion in roofing companies

    Enquiry, inspection booked, inspection attended, contract signed. Contract value varies enormously, which makes value-based bidding worth far more here than in most verticals.

  2. 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. 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. 4

    Where it gets sent from

    your job management system's record of signed contracts.

  5. 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 · Roofing · events

The conversion map for roofing companies

Four stages with a very wide value distribution at the end — a repair and a full replacement are the same lead and very different jobs.

Enquiry (call or form)Call tracking plus browser-side form events.
Inspection bookedServer-side from the job management system.
Inspection attendedServer-side. The reliable mid-funnel target.
Contract signedServer-side with real contract value, uploaded as an offline conversion.
Job typeRepair versus replacement. The value difference is large enough to bid on.

Microsoft · Roofing · diagnose

Diagnostic order — Microsoft · Roofing

  1. 01

    Count records carrying msclkid

  2. 02

    Hard-coded numbers everywhere

    Roofing sites carry the phone number in headers, footers and images. Insertion can't reach most of them.

  3. 03

    Flat conversion values

    A $600 repair and a $28,000 replacement counted the same teaches bidding nothing.

  4. 04

    Storm spikes treated as performance

    Volume from a weather event isn't campaign quality, and mixing them corrupts the learning.

  5. 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 · Roofing · prove

How it gets proven — Microsoft · Roofing

Source of truth

your job management system's record of signed contracts

  • Number insertion confirmed on every template.
  • A live test call attributed to the correct campaign.
  • Click ID present on a live job record.
  • Signed jobs reconciled against the job system for a closed month.
  • The upload's match rate and Microsoft's conversion goal diagnostics read directly, not inferred from an upload succeeding.

Microsoft · Roofing · free audit

What we check in the free audit

  • Count records carrying msclkid
  • Hard-coded numbers everywhere
  • Flat conversion values
  • Storm spikes treated as performance
  • Read the upload's match rate and Microsoft's conversion goal diagnostics

Checked against

your job management system's record of signed contracts

Get my free conversion tracking audit

Free30 minutesNo obligation

Microsoft · Roofing · when not to buy

When you don't need this — Microsoft · Roofing

  • If Microsoft already reports conversions that reconcile against your job management system's record of signed contracts 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 · Roofing · what we deliver

What gets built — Microsoft · Roofing

  • Call tracking with number insertion

    Across every template, including vehicle-wrap-style footers.

  • Click ID written to the job record

    At the enquiry, not at the sale.

  • Job management system as the source of truth

    Inspections booked and jobs signed.

  • Contract value uploaded as the conversion value

    So bidding optimizes toward big jobs.

  • 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 your job management system's record of signed contracts. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Microsoft · Roofing questions, answered

Often, because its audience skews toward older homeowners. Volume is lower than Google's, so judge it on cost per signed job.

Free · 30 min

Get Microsoft reporting what roofing companies actually earn

Free30 minutesNo obligation