Meta Ads conversion tracking for chimney sweeps
A chimney sweep earns most of a year's revenue between September and December, which makes every annual average on every dashboard misleading. What Meta Ads adds on top of that is a mechanical requirement: fbclid and _fbc have to reach the record that holds the money, because Meta can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in chimney sweeps, and what Meta specifically needs to accept it.
Free30 minutesNo obligation
Specific to Meta × Chimney sweeps
Meta for chimney sweeps: fill the fall calendar, measure the jobs
Track chimney sweeps on Meta by capturing fbclid into _fbc on landing, storing it on the customer record, and sending completed jobs through the Conversions API as Purchase at invoiced value. Send Schedule when the appointment is confirmed, since that lands inside Meta's 7-day click window and completed work usually does not.
Facebook's older homeowner audience overlaps well with households that burn wood or use a fireplace, and late-summer reminder campaigns, booking before the first cold night, are where Meta earns its place for a sweep. The catch is that those campaigns fill a calendar six weeks out. Meta sees the booking and then nothing for over a month, so the event inside its window is Schedule, not the job.
Send Schedule from the booking system when the appointment is confirmed, and Purchase from the job system when the work is invoiced, both through the Conversions API with the same customer record behind them. Most completed sweeps and nearly all repairs will arrive after Meta's 7-day click window. They still belong in Meta for value reporting, but expect Schedule to carry the optimization through the pre-season push.
Phone bookings are the gap Meta is worst at closing here. An older homeowner sees the ad in the Facebook feed and calls rather than tapping through, so no fbclid ever exists. Send those completed jobs anyway with hashed phone and email so Meta can attempt a match, and report the call-booked share beside Meta's numbers, because its in-platform cost per job will otherwise look worse than it is in the demographic it reaches best.
Meta · Chimney sweeps · what breaks
Why Meta under-reports for chimney sweeps
- 01
Annual averages hiding a four-month season
Cost per job in July and cost per job in October describe different businesses.
- 02
Inspections and repairs valued the same
A £90 sweep and a £3,000 reline are both one job in most reporting.
- 03
Phone bookings outside the measured funnel
Older homeowners call. A website-only measurement misses the larger half.
- 04
Fbclid and _fbc never reaches the record
fbclid arrives on the landing URL and is normally written into the _fbc cookie. If it isn't captured on landing, _fbc never exists — and _fbc is the strongest click signal Meta has, so its absence caps your match quality regardless of what else you send. Forward _fbp too, from the browser rather than regenerating it server-side.
Meta · Chimney sweeps · the fix
What working looks like — Meta · Chimney sweeps
Completed jobs as the conversion
At the invoiced amount, from the job system.
Follow-on repair work joined to the original visit
So the inspection that found it gets the credit.
Season reported separately from the rest of the year
Because they are not comparable.
Meta · Chimney sweeps · architecture
How Meta and chimney sweeps actually connect
- 1
The conversion in chimney sweeps
The money event is a completed, invoiced job. A booked appointment in peak season is six weeks from being revenue and a share of them cancel.
- 2
Meta Ads needs a click to match
event_name from the standard set with exact casing, event_time in seconds, a shared event_id, an action_source, and hashed user_data that was normalized before hashing. Purchase additionally requires value and currency.
- 3
The identifier: fbclid and _fbc
fbclid arrives on the landing URL and is normally written into the _fbc cookie. If it isn't captured on landing, _fbc never exists — and _fbc is the strongest click signal Meta has, so its absence caps your match quality regardless of what else you send. Forward _fbp too, from the browser rather than regenerating it server-side.
- 4
Where it gets sent from
The job system — completed and invoiced jobs by date, split by job type.
- 5
Deduplication and window
This is the mechanism that decides whether adding CAPI helps or doubles your conversions. Both the Pixel and the server event must carry the same event_id — the order or booking reference works best, because both sides can produce it without coordinating. A case difference in the event name alone produces two events even with a matching ID. Read the Deduplicated indicator in Events Manager over a full week, not one session. Meta's default attribution is a 7-day click and 1-day view. View-through is included by default, which is a large part of why Meta claims more conversions than your other platforms — that overlap is expected rather than a fault.
Meta · Chimney sweeps · events
The conversion map for chimney sweeps
Five events across a business where the second visit is usually worth more than the first.
| Event | What it means here |
|---|---|
| Enquiry, web or phone | Volume signal. Only the web half carries an identifier. |
| Appointment booked | Frequently weeks out in season. Not yet money. |
| Sweep or inspection completed | Low value, and the gateway to everything else. |
| Repair quoted | Where the real revenue is identified. |
| Repair completed and invoiced | The event worth optimizing toward. |
Meta · Chimney sweeps · diagnose
Diagnostic order — Meta · Chimney sweeps
- 01
Count records carrying fbclid and _fbc
- 02
Extreme seasonality
Four months carry the year. Bidding strategies trained on summer data are wrong by October.
- 03
Two very different job values
Routine sweeps and structural repairs need separate conversion values or the average is meaningless.
- 04
Repair work booked as a new customer
If the job system starts a fresh record, the inspection that found the work loses its credit.
- 05
Read the Deduplicated indicator and the per-event match quality score, both read over seven days
Match quality is where most Meta accounts lose attribution, and it's almost always normalization rather than coverage. An email hashed with a capital letter, or a phone hashed with brackets, produces a perfectly valid hash that matches nobody and errors nowhere. Normalize first, then hash, and read the score per event rather than overall.
Meta · Chimney sweeps · prove
How it gets proven — Meta · Chimney sweeps
Source of truth
The job system — completed and invoiced jobs by date, split by job type
- Completed jobs reconciled per record against what each platform reports.
- Repair work joined to the visit that found it.
- Phone bookings counted separately with call tracking.
- Seasonal and off-season windows reported apart.
- The Deduplicated indicator and the per-event match quality score, both read over seven days read directly, not inferred from an upload succeeding.
Meta · Chimney sweeps · free audit
What we check in the free audit
- Count records carrying fbclid and _fbc
- Extreme seasonality
- Two very different job values
- Repair work booked as a new customer
- Read the Deduplicated indicator and the per-event match quality score, both read over seven days
Checked against
The job system — completed and invoiced jobs by date, split by job type
Free30 minutesNo obligation
Meta · Chimney sweeps · when not to buy
When you don't need this — Meta · Chimney sweeps
- If Meta already reports conversions that reconcile against the job 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 fbclid and _fbc.
- If you're advertising a business type Meta restricts data collection for — health being the obvious one — the parameters you can legitimately send are narrower, and that constraint should shape the build rather than be worked around.
Meta · Chimney sweeps · what we deliver
What gets built — Meta · Chimney sweeps
Click identifier captured and persisted
Through a booking that may be scheduled six weeks out in peak season.
Carried into the job system
Onto the customer record, not the individual job.
Completed job fires the conversion
At the invoiced value, after the work is done.
Follow-on work attributed to the first visit
The reline found in October belongs to whatever produced the inspection.
Dispatch via the Conversions API
Server events go through CAPI with an action_source describing where the conversion happened. Offline outcomes flow through the same API rather than a separate product. Verify current field names against Meta's documentation before building — this surface changes.
Written guarantee
95%+ tracking accuracy
Measured against The job system — completed and invoiced jobs by date, split by job type. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Meta · Chimney sweeps questions, answered
From late summer into early fall, to fill the booking calendar before capacity runs out. Campaigns that keep running once you are booked six weeks out mostly lengthen the waiting list.
Schedule, sent when a booking is confirmed. Completed-job Purchase events matter for value reporting, but most arrive too late for Meta's 7-day window to use them.
Usually yes, at lower spend, because booking capacity in autumn is finite and pre-booking the season is worth something. What you should not do is judge summer campaigns against autumn benchmarks — they are not competing for the same job.
At its invoiced amount, and separately track the rate at which inspections turn into repairs. That rate, by campaign, is the number that tells you which traffic is actually worth having.
Yes, with call tracking. Without it you are measuring the minority of your funnel and every efficiency ratio you compute is wrong by a factor you have not measured.
fbclid arrives on the landing URL and is normally written into the _fbc cookie. If it isn't captured on landing, _fbc never exists — and _fbc is the strongest click signal Meta has, so its absence caps your match quality regardless of what else you send. Forward _fbp too, from the browser rather than regenerating it server-side.
Server events go through CAPI with an action_source describing where the conversion happened. Offline outcomes flow through the same API rather than a separate product. Verify current field names against Meta's documentation before building — this surface changes.
By reading the Deduplicated indicator and the per-event match quality score, both read over seven days and reconciling against The job system — completed and invoiced jobs by date, split by job type. An upload that succeeds is not an upload that matched.
More on Meta · Chimney sweeps
- Chimney sweepsConversion tracking for chimney sweeps, measured in completed jobs
- Google Ads · Chimney sweepsGoogle Ads conversion tracking for chimney sweeps
- TikTok · Chimney sweepsTikTok Ads conversion tracking for chimney sweeps
RELATED GUIDES
More for chimney sweeps: other angles on the same outcome
- Chimney sweepsConversion tracking for chimney sweeps, measured in completed jobs
- Meta · Home inspectionMeta Ads conversion tracking for home inspection companies
- Meta · RestorationMeta Ads conversion tracking for water damage and restoration companies
- Meta · Quote → closed jobHow to track quote request to closed job for Meta Ads
- Meta × Job SystemHow to reconcile Meta Ads against your job management system
- Meta · Pool cleaningMeta Ads conversion tracking for pool cleaning services
- Meta · Commercial HVACMeta Ads conversion tracking for commercial HVAC contractors
- Meta · Junk removalMeta Ads conversion tracking for junk removal companies
Free · 30 min
Get Meta reporting what chimney sweeps actually earn
Free30 minutesNo obligation
