Same budget.
Forty percent
more revenue.
A Texas pest control company was running Google Ads, Meta, and Bing with no way to connect spend to booked jobs. We built a custom attribution system from scratch. Same total ad spend. 40% more revenue.
Initial price ROI on Meta ad spend
Annual value ROAS
Cost per acquired customer
Average customer lifetime value
A regional pest control company across three Texas markets
A residential and commercial pest control and wildlife removal company operating across three Texas markets. When the engagement began, they were an established local operator with a proven service model and a marketing budget spread across three paid channels — but zero visibility into which one was producing customers worth keeping.
Each platform reported strong performance. Google claimed conversions. Meta claimed conversions. In some weeks, both platforms claimed the same customer. The actual picture — cost per acquired customer, revenue per channel, lifetime value by source — was invisible.
Services requested by leads: General Pest Control, Termite Treatment, Spider Control, Cockroach Control, Flea & Tick Control, Rodent Control, Wildlife Removal. Multi-service markets with recurring subscription potential — exactly the profile where attribution compounds in value over time.
Three platforms. Three sets of numbers. Zero clarity.
The first problem was one that most businesses don't know to look for: of 771 new customers acquired in the prior year, 99.4% had no lead source logged in the CRM. Sales reps weren't filling in the source field at signup — which means the platform couldn't tell you where a single customer came from. Every channel reported conversions. None of those reports connected to actual paying customers.
The second problem was the platform layer. Meta, Google Ads, and Bing each claimed credit for conversions using their own attribution windows. When two platforms claimed the same customer, both counted it as a win. There was no system that went upstream to verify which one actually produced the revenue.
The third problem was the revenue gap. Pest control is a subscription business. The real value of a customer isn't the initial service — it's the recurring contract that follows. No attribution system that stops at the form submission can tell you whether a channel is producing subscribers or one-off jobs. You need the CRM connected to find out.
A custom analytics stack built to answer one question: what produces revenue?
UTM Architecture + FBCLID Tracking
Every Meta and Google campaign tagged with a consistent UTM schema — source, medium, campaign, content, and term. Facebook click IDs (FBCLID) captured server-side to survive iOS privacy changes. Every inbound form submission carries its originating ad all the way through to the CRM record.
Custom Attribution Database
Because FieldRoutes' native source field was 99.4% blank — sales reps weren't logging lead sources — we built a separate attribution database that connects GA4 session data and UTM parameters directly to CRM customer records. No manual entry required. Every web session is matched against every customer record independently. For the first time, channel attribution existed without depending on a sales rep remembering to fill in a field.
Dual Attribution: System vs. Self-Reported
Every lead form includes a 'how did you hear about us?' field. The dashboard compares this against the UTM system attribution. Where they disagree — Facebook Ads claiming a lead the customer says came from a yard sign, Google Business Profile credited to word of mouth — is where the real attribution investigation begins. 168 of 240 all-time leads have answered. The discrepancy table is one of the most valuable views in the system.
Three Revenue Horizons
Most attribution systems stop at the first transaction. This one tracks three: initial price (first invoice), annual contract value (year 1 recurring services), and projected LTV. Every channel is evaluated across all three. A channel with low initial price ROAS might have excellent LTV — or vice versa. Mature customer LTV (2024 cohort): $718 average. A $15 blended customer acquisition cost against $718 LTV is a 47x return — and that number only exists because the database connects spend to revenue.
Custom Analytics Dashboard — 9 Views
Built on a modern data stack, the live dashboard includes: Pipeline Overview, Advertising performance, Business Operations, Lead Tracking, Marketing KPIs, Web Analytics (standard + pro), Google Business Profile, and Upsell Opportunities — a view that surfaces existing customers who haven't purchased add-on services. Everything updates in real time against live CRM data.
The channels performing best weren't the ones getting the most budget
Google Business Profile was converting leads to customers at 66% — 35 converted out of 53 total GBP leads all-time. Organic and direct traffic converted at 63%. Paid Facebook converted at 25%. These numbers don't appear in any platform dashboard. They only exist when you connect form submissions to CRM subscription records.
Direct channel leads had an 84% conversion rate in the most recent period. These are customers who came in from brand search, word of mouth, or direct recall — which means SEO and brand-building compound into the direct channel over time. You can't see that without attribution across the full funnel.
Meta's self-reported ROAS from customers who said Facebook brought them in: 2.57x. Meta's system-attributed ROAS via UTM/FBCLID: 1.70x. The gap between what customers say and what the pixel says is a 51% difference in attributed revenue. Both numbers matter — and they tell different stories about how Meta should be managed.
One more signal nobody expected: AI-ChatGPT is already appearing as a lead source. 0.83% of all-time leads came through AI search — real people, real form submissions, traceable back to an AI-generated referral. The channel is small. It won't stay that way.
Data-driven reallocation. Measurable revenue impact.
Once the attribution system was live and the channel conversion data was clear, the budget decisions became obvious. GBP optimization and organic search got more attention. Bing — which showed no conversions in tracked periods — was deprioritized. Meta spend was restructured around segments with demonstrable LTV, not just click volume.
Year-over-year revenue grew significantly on the same total ad spend — 40% more revenue without increasing the marketing budget. Month-over-month, the most recent 28-day period showed +74% conversions on +47% ad spend — the ratio is moving in the right direction.
More revenue, same ad budget
Attribution rebuild shifted spend from underperforming to high-ROAS channels
Annual value ROAS
$1,738 Meta spend → $12,687 year-1 contract value from converted leads
Cost per acquired customer
vs. industry average of $150–$300+ for pest control
Conversion growth, month-over-month
94 conversions in most recent 28-day period vs. 54 prior period
GBP lead-to-customer conversion rate
35 converted of 53 total Google Business Profile leads — highest channel
Average customer lifetime value
$552 annual value × avg retention period — tracked per acquisition source
The system became the methodology
The analytics infrastructure built here — live CRM integration, dual attribution, three revenue horizons, upsell opportunity surfacing — is the template for every Bakan Marketing engagement. The specific tools change based on the client's stack. The underlying architecture doesn't.
The insight this system produces isn't complicated. When you know that Google Business Profile converts at 66% and Bing converts at 0%, the budget decision makes itself. When you know a customer acquired via Facebook has a $718 LTV and $6,874 projected revenue over their lifetime, the ad spend math changes completely.
This case study is the central example in The Attribution Trap — a book about building closed-loop marketing systems for service businesses. Coming Q4 2026.
Want this built for your business?
The same system that connected every ad dollar to every booked job is available for your service business. It starts with a two-week audit.