Skip to main content
TikTok · RoofingTikTok × Roofing

TikTok 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 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 roofing companies, and what TikTok specifically needs to accept it.

Free30 minutesNo obligation

Specific to TikTok × Roofing

TikTok for roofers: homeowner reach is thin, test carefully

For roofers on TikTok, the conversion is an inspection request sent as SubmitForm through the Events API, with ttclid captured on landing and persisted to the job record. Signed contracts can follow from the job system with value. Most roofing buyers are older homeowners, so treat TikTok as a capped test.

TikTok's audience skews younger than the people who own homes and approve a roof replacement. Roofing content does well there, such as drone shots of tear-offs and crews working at pace, but that reach is mostly entertainment. The part that could convert is millennial first-time buyers inspecting an older house. Target the service area tightly and cap spend until signed jobs exist.

Send SubmitForm on the inspection request and a later server event when the job system marks the inspection attended. Optimize on SubmitForm while volume is small. Expect a wide gap to attendance, since TikTok form leads come from a scroll rather than from a homeowner with a leak. TikTok's instant lead forms keep the lead on-platform. If you use them, pull the leads into the job system the same day, because roofing leads cool within hours.

Storm-chasing contractors use TikTok heavily after major weather, and some jurisdictions regulate post-storm solicitation and roofing contracts. That is a legal question rather than a tracking one, but it shapes what you should be promising in creative. The common break is ttclid never being captured, because the form code was written for gclid and fbclid before TikTok was added.

TikTok · Roofing · what breaks

Why TikTok 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

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

What working looks like — TikTok · 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.

TikTok · Roofing · architecture

How TikTok 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

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

    Where it gets sent from

    your job management system's record of signed contracts.

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

TikTok · Roofing · diagnose

Diagnostic order — TikTok · Roofing

  1. 01

    Count records carrying ttclid

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

How it gets proven — TikTok · 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.
  • TikTok's own event diagnostics, plus a reconciliation against your records read directly, not inferred from an upload succeeding.

TikTok · Roofing · free audit

What we check in the free audit

  • Count records carrying ttclid
  • Hard-coded numbers everywhere
  • Flat conversion values
  • Storm spikes treated as performance
  • Read TikTok's own event diagnostics, plus a reconciliation against your records

Checked against

your job management system's record of signed contracts

Get my free conversion tracking audit

Free30 minutesNo obligation

TikTok · Roofing · when not to buy

When you don't need this — TikTok · Roofing

  • If TikTok 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 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 · Roofing · what we deliver

What gets built — TikTok · 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 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 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

TikTok · Roofing questions, answered

Usually only as a small test. Most roof-replacement buyers are older than TikTok's core audience, so measure on attended inspections.

Free · 30 min

Get TikTok reporting what roofing companies actually earn

Free30 minutesNo obligation