Google Ads conversion tracking for paving and asphalt contractors
Paving has a hard physical constraint that most trades do not: asphalt cannot be laid below a certain temperature, so the working season is fixed and capacity within it is finite. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in paving and asphalt contractors, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Paving and asphalt
Google Ads for paving: separate lot bids from driveway quotes
Track paving on Google Ads by importing the signed job from your estimating system as an offline conversion matched on gclid, gbraid or wbraid, with commercial and residential as separate conversion actions at contract value. Use Enhanced Conversions for leads as a backstop, and send deferrals and cancellations back as adjustments.
Search is where both halves of a paving business show up, which is exactly why they need splitting. "Driveway paving near me" and "parking lot resurfacing contractor" are different buyers at a tenfold value difference, and a single conversion action with one value teaches Smart Bidding to prefer the driveway because it converts cheaply and often. Give each its own conversion action and import the signed job at its contract value, so value-based bidding can see what a lot is worth.
Watch the import window on commercial work. A residential driveway is usually signed within weeks of the estimate; a commercial lot that goes through a property manager's procurement cycle can take longer than 90 days from the original click, at which point the import fails as unmatched. Measure your own click-to-signature time for commercial jobs before relying on the import, and keep a qualified estimate request as the optimization target for commercial if the signature regularly arrives too late.
The paving-specific break is the weather deferral. A job signed in September and pushed to spring was imported as a conversion this season; restate or retract it with conversion adjustments when it moves, or this year's return is overstated and next year's understated. Confirm the current adjustment format in your account.
Google Ads · Paving and asphalt · what breaks
Why Google Ads under-reports for paving and asphalt contractors
- 01
Commercial and residential pooled
One lot job can be worth fifty driveways and counts as one conversion.
- 02
A fixed weather window capping capacity
Once the season is booked, further leads have nowhere to go.
- 03
Quote-heavy sales with real site-visit costs
Every estimate is a truck, a person and an hour.
- 04
Gclid, gbraid and wbraid never reaches the record
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Google Ads · Paving and asphalt · the fix
What working looks like — Google Ads · Paving and asphalt
Signed jobs as the conversion
At contract value, tagged commercial or residential.
Job type carried on the conversion
So bidding does not optimize toward the cheap half.
Capacity stated in the report
So spend stops when the season fills.
Google Ads · Paving and asphalt · architecture
How Google Ads and paving and asphalt contractors actually connect
- 1
The conversion in paving and asphalt contractors
The money event is a signed job at contract value. An issued estimate is a cost you have already paid, not revenue you have earned.
- 2
Google Ads needs a click to match
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 3
The identifier: gclid, gbraid and wbraid
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 4
Where it gets sent from
The estimating system — signed jobs by date, at contract value, tagged commercial or residential.
- 5
Deduplication and window
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
Google Ads · Paving and asphalt · events
The conversion map for paving and asphalt contractors
Five events across a season with a hard end date.
| Event | What it means here |
|---|---|
| Enquiry | Residential arrives steadily; commercial arrives in procurement cycles. |
| Site visit and measurement | A real cost, incurred before any commitment. |
| Estimate issued | Frequently one of three the buyer is collecting. |
| Job signed | The money event, at contract value. |
| Job completed and invoiced | Where deferrals and weather changes finally settle. |
Google Ads · Paving and asphalt · diagnose
Diagnostic order — Google Ads · Paving and asphalt
- 01
Count records carrying gclid, gbraid and wbraid
- 02
A tenfold value gap between job types
Pooling them makes cost per job meaningless and biases bidding toward driveways.
- 03
Season capacity reached mid-summer
Leads after that point cost money and produce next-year work at best.
- 04
Three-quote buyers
A high estimate count with a low signature rate is normal and needs saying, not fixing.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads · Paving and asphalt · prove
How it gets proven — Google Ads · Paving and asphalt
Source of truth
The estimating system — signed jobs by date, at contract value, tagged commercial or residential
- Signed jobs reconciled per record against what each platform reports.
- Job type present on every conversion.
- Deferred jobs excluded from the season they were sold in.
- Estimate volume reported as a cost, not only as a lead count.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Paving and asphalt · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- A tenfold value gap between job types
- Season capacity reached mid-summer
- Three-quote buyers
- Read the match rate on the upload, not the success message
Checked against
The estimating system — signed jobs by date, at contract value, tagged commercial or residential
Free30 minutesNo obligation
Google Ads · Paving and asphalt · when not to buy
When you don't need this — Google Ads · Paving and asphalt
- If Google Ads already reports conversions that reconcile against the estimating 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 gclid, gbraid and wbraid.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads · Paving and asphalt · what we deliver
What gets built — Google Ads · Paving and asphalt
Click identifier captured and persisted
Through a quote cycle that runs weeks for commercial work.
Carried into the estimating system
Onto the customer record.
Signed job fires the conversion
At contract value, with the job type attached.
Cancelled and weather-deferred jobs handled
A job pushed to next season is not this season's revenue.
Dispatch via Google's offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
Written guarantee
95%+ tracking accuracy
Measured against The estimating system — signed jobs by date, at contract value, tagged commercial or residential. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Paving and asphalt questions, answered
Yes. The value gap is large enough that one shared action biases bidding toward driveways. Separate actions with real contract values let bidding see the difference.
Google's offline import cannot match it. Optimize commercial campaigns on a qualified estimate request and reconcile signed jobs from your estimating system for budget decisions.
No. The value gap is roughly tenfold and the buying processes have nothing in common — one is a homeowner collecting three quotes, the other is a procurement cycle. Shared bidding will chase the cheaper conversion every time.
Only deliberately, to build next season's pipeline, and the report should label it that way. Otherwise you are paying for leads you will disappoint.
Probably not. Homeowners collect three quotes as standard, so a third is a reasonable ceiling. What matters is whether the rate differs by campaign, because that difference is real signal.
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
By reading the match rate on the upload, not the success message and reconciling against The estimating system — signed jobs by date, at contract value, tagged commercial or residential. An upload that succeeds is not an upload that matched.
More on Google Ads · Paving and asphalt
- Paving and asphaltConversion tracking for paving contractors, measured in signed jobs
- Meta · Paving and asphaltMeta Ads conversion tracking for paving and asphalt contractors
- TikTok · Paving and asphaltTikTok Ads conversion tracking for paving and asphalt contractors
RELATED GUIDES
More for paving and asphalt: other angles on the same outcome
- Paving and asphaltConversion tracking for paving contractors, measured in signed jobs
- Google Ads · Tree serviceGoogle Ads conversion tracking for tree service companies
- Google Ads · Commercial HVACGoogle Ads conversion tracking for commercial HVAC contractors
- Google Ads · Quote → closed jobHow to track quote request to closed job for Google Ads
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- Google Ads · LocksmithGoogle Ads conversion tracking for locksmiths
- Google Ads · PaintingGoogle Ads conversion tracking for painting contractors
- Google Ads · Well drillingGoogle Ads conversion tracking for well drilling
Free · 30 min
Get Google Ads reporting what paving and asphalt contractors actually earn
Free30 minutesNo obligation
