A website rebuild and an offline-conversion pipeline — shipped in the same engagement
DFW roofing contractor — Kadence WordPress rebuild lifted desktop PSI 56 → 91.67, dropped mobile LCP 9.2s → 4.07s, dropped CLS 0.16 → 0.026; a single Cloudflare Worker closed the AccuLynx → ad-platform offline-conversion loop across Google Ads, Microsoft Ads, Meta CAPI, TikTok, and GA4 MP in under 2 seconds.
United American Construction is a Dallas–Fort Worth roofing contractor running a tight in-house ops team, an AccuLynx CRM, and paid traffic across four ad platforms. The engagement scope was deliberately dual: a marketing site that would not embarrass mobile users, and an offline-conversion pipeline that would close the loop between job-site outcomes and ad-platform bidding signals.
Constraints
The starting position was a WordPress site with mobile Largest Contentful Paint at 9.2 seconds, Cumulative Layout Shift at 0.16, and a Google Tag Manager container that had accumulated drift across multiple agency hands. AccuLynx held the revenue truth, but no signal from AccuLynx reached the ad platforms. Google Ads was bidding without offline-conversion data; Meta and TikTok were unaware of which clicks turned into roofs. Replacing Zapier and Stape with something owned by the operator was a stated constraint, not a preference.
Approach
A single 90-day, four-phase plan governed the entire engagement. Phase 1 stabilized the marketing site on Kadence with a measured PSI remediation sequence. Phases 2 and 3 deployed a Cloudflare Worker as the single offline-conversion fan-out point — AccuLynx webhook in, five destinations out. Phase 4 wired Google Ads API conversion uploads to close the click-to-cash loop end-to-end.
Implementation
The marketing-site phase compressed into a single overnight win when an Anton font swap paired with a Google Fonts Geolocation deactivation lifted desktop PageSpeed from 56 to 91.67 and dropped Cumulative Layout Shift from 0.16 to 0.026. PSI Phase 2 followed with Critical CSS unblocking and a desktop performance gain of 4.5 additional points.
The offline-conversion pipeline shipped as `uac-events-worker`, a production Cloudflare Worker. One AccuLynx webhook enters; five outputs leave — Google Ads conversion upload, Microsoft Ads UET, Meta CAPI, TikTok Events, and GA4 Measurement Protocol. End-to-end latency holds under two seconds. Every event is logged to a Cloudflare D1 database for audit and replay. The Phase 3 v1 closeout confirmed Worker `21f848ad` live with D1 logging proven and three ad platforms wired pre-token-refresh.
Reflection
The engagement closed because one operator owned both halves. The site rebuild and the offline-conversion pipeline normally live in two different vendor relationships — one with the web shop, one with the ad-platform integrator. Holding both under one roof compressed the calendar and let a single architectural decision (the Worker as a fan-out point owned by the client, not by Zapier or Stape) carry from spec to ship in one engagement window.
The engagement closed because one operator owned both halves. The site rebuild and the offline-conversion pipeline normally live in two different vendor relationships — one with the web shop, one with the ad-platform integrator. Holding both under one roof compressed the calendar and let a single architectural decision (the Worker as a fan-out point owned by the client, not by Zapier or Stape) carry from spec to ship in one engagement window.
Want this kind of result?
Book a discovery call.We'll walk your numbers.
No pitch deck. Just your CRM, your ad accounts, and a straight read on what the next 90 days could look like.