# One Click Contractor: Fixing Meta conversion tracking

How I fixed Meta conversion tracking for One Click Contractor, so Meta and HubSpot show the same lead numbers and ads optimize for MQLs.

- Industry: B2B SaaS
- Services: Marketing operations, Paid media
- My role: Audited and rebuilt conversion tracking
- Audience: Home improvement contractors
- Tools used: Meta Ads, Meta Conversions API, HubSpot, Google Tag Manager
- Case study page: https://dilosan.com/work/occ/

## The brand

One Click Contractor makes sales software for home improvement contractors, from estimates to signed proposals.

## Why

Meta was reporting far more website leads than HubSpot could find. Meta was learning from bad data, and the team could not trust the numbers.

## How

1. I audited every Meta event on the client side and the server side.
2. I removed 9 legacy Lead events that fired on page visits, button clicks, emails and phone links, and counted the same lead more than once.
3. I found an old Signals Gateway trial that copied every Pixel event to the server, on top of HubSpot’s Conversions API. I disconnected it with no loss of tracking.
4. Now the Meta Pixel in Google Tag Manager handles page views, and HubSpot’s Conversions API sends MQLs, SQLs and opportunities back to Meta.

## Step by step

1. **The gap.** Meta counted 30 and 12 website leads. HubSpot found only 11 and 10 contacts from the same ads.
2. **The cause.** Legacy Lead events fired on page visits, clicks, emails and calls. A leftover Signals Gateway copied every event to the server.
3. **The fix.** HubSpot is now the source of truth. Its Conversions API sends MQLs, SQLs and opportunities back to Meta.
4. **Numbers match.** After the clean-up, Meta and HubSpot both show 2 MQLs for the image ads.

## What happened

- Meta and HubSpot now show the same lead numbers
- Duplicate and triple-counted conversions removed
- Meta optimises for MQLs, SQLs and opportunities

## What I learned

- When ad platform numbers look too good, check for duplicate events first.
- Optimising for MQLs and opportunities, not form fills, tells Meta to find leads that become customers.

Work by Dilosan Ravindran. Contact: hey@dilosan.com
