We've audited hundreds of contractor accounts before taking them on as clients. These seven issues appear in 80%+ of DIY setups. Fix them in order — each builds on the last.
Mistake #1: Wrong Campaign Objective
The single most common mistake: running a 'Traffic' campaign and expecting leads. Traffic optimizes for clicks. Leads optimizes for — you guessed it — leads. Meta's algorithm follows the objective you set.
Fix: Set the campaign objective to 'Leads' or 'Sales' (depending on funnel). Change nothing else. You'll see cost per lead drop 30–50% within a week.
Mistake #2: Too Many Ad Sets, Too Little Budget Each
Contractors love to test 10 ad sets at $5/day each. Meta's algorithm needs ~50 conversion events per ad set per week to optimize. At $5/day and a $20 CPL, that's 7 leads per week. The algorithm never learns.
Fix: Consolidate to 1–3 ad sets at $30–$100/day each. Fewer, better-fed ad sets always outperform a scatter of underfunded ones.
Mistake #3: Never Refreshing Creative
You launched one winning ad two months ago. Frequency is now 8+. CTR is dropping. CPM is rising. You're experiencing creative fatigue — the #1 silent killer of contractor accounts.
Fix: Launch 2–4 new creatives every 30 days. Kill creative when frequency hits 4+ or CPL climbs 30% from baseline. Always have the 'next' creative in testing before you need it.
Mistake #4: No Conversion API
iOS 14+ killed browser-based Pixel tracking for about 30% of leads. That means the algorithm is optimizing on 70% of your data — but charging you for 100% of your spend. CAPI sends lead events server-side, restoring attribution.
Fix: Install Conversion API via your website (Shopify, WordPress, custom) or a conduit like Zapier/GoHighLevel. This alone usually improves CPL 15–30%.
Mistake #5: Landing Pages That Don't Match the Ad
Your ad says 'Free Roof Inspection'. They click. Your landing page says 'Welcome to ABC Roofing' with five nav links, a carousel, and no inspection offer anywhere. They bounce. The lead cost just doubled.
Fix: Build a dedicated landing page for each main offer. Repeat the exact ad headline. Strip navigation. One form. One CTA. Load in under 3 seconds.
Mistake #6: Slow Follow-Up (The Killer)
Lead arrives at 2pm. Your team calls at 8am the next morning. In those 18 hours, the lead saw 4 competitor ads, submitted 3 other forms, and is already booked. Studies (MIT, Harvard, etc.) consistently show close rates drop 7× when follow-up takes more than an hour.
Fix: Auto-SMS within 60 seconds, auto-email within 5 minutes, human call within 1 hour. If your team can't do the human-call piece, this is where hiring help pays off — not on the ad side.
Mistake #7: Judging Performance Too Early (or Too Late)
'I ran ads for a week and got no leads, Meta doesn't work.' vs. 'I've been running these ads for 9 months and they still haven't broken even.' Both are problems.
Meta's Learning Phase needs 50 conversions to finish. Until then, performance is unreliable. After Learning Phase exits, you should see stable CPL within 2 weeks. If it doesn't stabilize, something is broken — most often one of mistakes 1–6 above.
Rule of thumb: give a campaign 14 days in Learning Phase. Then 14 more days to stabilize. If it's not profitable by day 30, diagnose. Don't just let it bleed.
Doing All This Yourself = Full-Time Job
Mistakes 1–7 are fixable. The question is: do you want to spend 15 hours a week fixing them, or do you want to be the best salesperson at your company? There's no wrong answer — just the honest one.