Morgan Avenia Taking work

Work → Home services · New York metro

97% of the leads were unservable

A contractor serving one county in New York was buying clicks across two states. The account looked like it was working. The phone said otherwise.

Inbound leads before the fix

Leads recorded 100%
Inside the service area 3%

Cost per lead looked competitive. Cost per bookable lead was more than thirty times that.

The setup

A default that quietly spends your budget somewhere else.

The account had been inherited from a previous agency. Location targeting was set at a level that pulled in Brooklyn, Queens, and across the river into New Jersey, for a business that could only dispatch trucks to a set of Westchester zip codes. Nobody had checked, because the lead volume looked fine.

That is the pattern in home services. Volume is easy. Serviceable volume is the number that pays payroll, and the platform has no idea which is which unless you tell it.

The work

Two problems, one after the other.

  • GeographyRebuilt targeting to the actual dispatch footprint at the zip level, with presence-based settings and exclusions for the metros that had been absorbing the budget.
  • SignalBuilt and tested a server-side Meta Conversions API integration through serverless functions with a Supabase store, so lead events survive browser restrictions and dedupe cleanly against the pixel.
  • AttributionRebuilt the path from search click to booked revenue, so the account optimizes toward jobs that closed rather than forms that submitted.
  • AccessUntangled an orphaned business portfolio left behind by the prior agency, which was blocking asset ownership transfer.

Result

Same budget, aimed at the county that pays.

Spend now lands inside the service area, lead quality is measured against dispatch rather than form fills, and the Meta side has a server-side signal path that doesn't degrade every time a browser ships a new privacy default.