TikTok 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 TikTok Ads adds on top of that is a mechanical requirement: ttclid has to reach the record that holds the money, because TikTok 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 TikTok specifically needs to accept it.
Free30 minutesNo obligation
Specific to TikTok × Restoration
TikTok for restoration: wrong moment, minimal setup only
TikTok is a poor fit for water damage restoration, because emergency demand comes through search and phone. If you test it for mold awareness or brand recall, track an inspection request as SubmitForm or Contact through the Events API with ttclid and hashed phone, and report invoiced jobs from your job system yourself.
The restoration buyer is a homeowner in a crisis, and TikTok reaches people when nothing is wrong. Before-and-after mold and flood cleanup videos get views, but views come from curiosity, not from people with a wet basement this week. Some companies use TikTok to recruit technicians, which is fine, but recruitment clicks should never share a pixel event with customer inspection requests.
If you do test it for customers, choose the slow service. Mold inspection and remediation can be scheduled, so the setup is a SubmitForm or Contact event on the inspection request, ttclid written onto the job record, and hashed phone on the server event, since most of these leads finish on the phone. Leave emergency extraction pages out of the test, as no reasonable amount of TikTok data will teach it to find the next burst pipe.
Watch for one thing in particular: TikTok's in-app browser and tap-to-call. A viewer who taps a phone number inside TikTok's browser leaves no web conversion at all, so if calls are the goal, use a dedicated tracked number on the TikTok landing page and count those calls in your own report.
TikTok · Restoration · what breaks
Why TikTok 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
Ttclid never reaches the record
TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.
TikTok · Restoration · the fix
What working looks like — TikTok · 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.
TikTok · Restoration · architecture
How TikTok 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
TikTok Ads needs a click to match
A standard event name, an event timestamp, a shared event ID, hashed and normalized user identifiers, and ttclid where available. Confirm the current required fields in TikTok's documentation before building.
- 3
The identifier: ttclid
TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.
- 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
Send the same event ID from the browser pixel and the server event. The mechanics mirror Meta's closely enough that a team who has done one can do the other, but verify TikTok's current requirements rather than assuming parity — the deduplication window in particular isn't a figure we'll guess at. Verify the current attribution and import windows in TikTok's documentation. They differ from Google's and Meta's, and quoting a number here that goes stale would be worse than sending you to the source.
TikTok · 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. |
TikTok · Restoration · diagnose
Diagnostic order — TikTok · Restoration
- 01
Count records carrying ttclid
- 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 TikTok's own event diagnostics, plus a reconciliation against your records
TikTok is usually the third platform added to a stack, and it typically inherits whatever assumptions were made for Google and Meta. The most common result is that ttclid is never captured at all, because the capture code was written naming gclid and fbclid and nobody revisited it.
TikTok · Restoration · prove
How it gets proven — TikTok · 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.
- TikTok's own event diagnostics, plus a reconciliation against your records read directly, not inferred from an upload succeeding.
TikTok · Restoration · free audit
What we check in the free audit
- Count records carrying ttclid
- Number-swap script running too late
- Unfiltered call conversions
- Service area boundaries
- Read TikTok's own event diagnostics, plus a reconciliation against your records
Checked against
The job management system — jobs completed and invoiced by date, by loss type, for the same window
Free30 minutesNo obligation
TikTok · Restoration · when not to buy
When you don't need this — TikTok · Restoration
- If TikTok 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 ttclid.
- If TikTok is a small share of your spend, the effort is better spent making Google and Meta correct first — the same infrastructure then extends to TikTok as one additional tag rather than a separate project.
TikTok · Restoration · what we deliver
What gets built — TikTok · 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 the Events API
Structurally similar to the other server-side conversion APIs: event name, timestamp, event ID, hashed user identifiers, event properties. TikTok's exact field names change more often than the other major platforms', so build against their current documentation rather than a blog post — including this one.
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
TikTok · Restoration questions, answered
Not for emergency jobs. A small test for mold inspections or brand awareness is reasonable, measured on inspection requests and tracked calls from a dedicated number.
SubmitForm for an inspection request or Contact for a tap to call. Keep technician recruitment on a separate event so it never mixes with customer leads.
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.
TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.
Structurally similar to the other server-side conversion APIs: event name, timestamp, event ID, hashed user identifiers, event properties. TikTok's exact field names change more often than the other major platforms', so build against their current documentation rather than a blog post — including this one.
By reading TikTok's own event diagnostics, plus a reconciliation against your records 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 TikTok · 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
- TikTok · Junk removalTikTok Ads conversion tracking for junk removal companies
- TikTok · FurnitureTikTok Ads conversion tracking for furniture brands
- TikTok · Quote → closed jobHow to track quote request to closed job for TikTok Ads
- TikTok × Job SystemHow to reconcile TikTok Ads against your job management system
- TikTok · Siding contractorsTikTok Ads conversion tracking for siding contractors
- TikTok · Garage doorsTikTok Ads conversion tracking for garage door companies
- TikTok · Air duct cleaningTikTok Ads conversion tracking for air duct cleaning companies
Free · 30 min
Get TikTok reporting what water damage and restoration companies actually earn
Free30 minutesNo obligation
