Offer Grader
Check your current Meta ad offer against 10 conversion drivers. Get a letter grade + the exact fixes to add. Most offers grade C or below.
Check Everything That Applies to Your Current Ad Offer
Offer Grade
0/10
0% complete
F — No Offer
You don't really have an offer yet. Go back to the drawing board before advertising.
Want a stronger offer?
Free strategy call — we'll help you rebuild your offer from scratch.
Common Questions.
What makes a 'strong' offer for home services?
Specific number + urgency + risk reversal + social proof + clear ideal-customer. When all 5 are present, you'll outconvert 90% of competitor offers. Missing 2+ of those usually means ads bleed money.
Is a free estimate a good offer?
No. 'Free estimate' is what every contractor offers — it's the table-stakes minimum, not a differentiator. Better: 'Free 15-minute roof inspection' (specific), 'No-obligation quote in 24 hours' (adds urgency), 'Free estimate + $200 off if you book this week' (adds specificity + urgency).
Should the offer price be in the ad or on the landing page?
In the ad, for most home services. Hiding price creates friction + self-selection problems (price-shoppers click, qualified buyers bounce thinking it's too expensive). Showing price upfront qualifies leads and improves close rate on who does click through.
How often should I test new offers?
Every 45-60 days. Offer fatigue is real — the same offer shown to the same market for 6 months stops converting at the same rate. Rotate 2-3 offers, test one new angle per quarter.
What if I score A on this but my ads still aren't converting?
The offer passes — so dig into: (1) CREATIVE execution (is your visual actually showing the offer clearly?); (2) TARGETING (are you reaching homeowners who care about this offer?); (3) LANDING PAGE (does it deliver on the ad promise?). A strong offer graded here can still fail if the surrounding system doesn't deliver it. Run the Ad Creative Checker + Landing Page Audit tools next to diagnose the rest.
Can I run multiple offers at once?
Yes — and you should once you have a winner. Run 1 'workhorse' offer (your best-performing) at 70% of budget + 1-2 test offers at 30%. Workhorse keeps the math working; tests find the next winner. Don't run 5 offers at once — you'll dilute spend, none will get enough data, and you'll learn nothing useful. 1 winner + 1 challenger is the right cadence.
Should the offer be different on the ad vs the landing page?
Same offer, different framing. Ad: hook + offer summary ('Free roof inspection — book this week'). Landing page: same offer but expanded with details ('30-min free inspection includes drone footage, leak detection, and a written estimate'). Mismatch breaks trust. Same offer with consistent specifics builds credibility. Test by asking: would the ad copy + LP headline pass a 'sniff test' as the same promise?
How do I price an offer that uses a deposit or partial payment?
Three rules: (1) deposit should be 5-15% of total project value — small enough that committing isn't scary, large enough to filter tire kickers; (2) make the deposit fully credited to the final invoice (not 'admin fee' — full credit); (3) refund policy needs to be clear: full refund if YOU can't deliver, partial or no refund if THEY back out. Example: $500 deposit on a $10K kitchen remodel, fully credited to final invoice, refunded if we can't start within 60 days. Avoid the 'free quote' trap (waste of time on tire-kickers) AND the 'pay 50% upfront' trap (kills conversion). Deposit-based offers convert 30-50% better than free quotes for $5K+ projects because they pre-qualify by commitment.
Should my offer change between cold prospecting and warm retargeting audiences?
Yes, structurally. Cold audience offer: maximum trust-building + low commitment ('Free 22-point inspection — no obligation'). Warm retargeting offer: more direct + commitment-asking ('Schedule your inspection within 7 days, save $200'). The cold offer reduces friction since the audience doesn't trust you yet. The warm offer captures urgency since the audience is already familiar. Running the same offer to both audiences burns money in two ways: (1) cold audiences see the warm-offer urgency as pushy and bounce; (2) warm audiences see the cold-offer 'no commitment' framing as missing the close opportunity. Two offers, two audiences, same brand voice. The contractors at $5K+/mo Meta spend always run this two-tier offer architecture; the contractors stuck under $3K/mo usually run a single offer for everyone.
How do I write the offer in a way that survives translation across the ad → landing page → first call without losing trust?
Use the same exact words across all three touchpoints — verbatim. The mistake: ad says 'Free 22-point roof inspection,' landing page headline says 'Get your free quote,' first call rep says 'I can come look at your roof.' Each step changes the promise, and trust drops 20-30% per inconsistency. Fix: lock the offer language in writing before launch. The exact phrase 'Free 22-point roof inspection — drone photos + written report within 48 hours' appears unchanged on the ad, the LP headline, the LP body, the form thank-you page, the SMS auto-reply, and the first-call rep's opening line. Customers experience this as competence and follow-through, even though it's just disciplined wording. The contractors who win on close rate are obsessive about offer-language consistency — what the ad promises is exactly what gets delivered. Inconsistency is treated as bait-and-switch, even when it's accidental.
Should I always include a price (or price range) in my offer, or hide it until the consultation?
Include a range when the deal size is $1K+, hide exact pricing for emergency-service work under $500. Two reasons range pricing wins for high-ticket: (1) PRE-QUALIFIES — homeowners with $5K budgets self-eliminate from $20K-30K kitchen remodels, saving everyone time; (2) SIGNALS confidence — contractors who hide pricing entirely seem like they're going to negotiate based on what they think you can pay (price-discrimination vibes that erode trust). Format that works: 'Most full kitchen remodels in [city] run $25,000-$45,000 — here's what determines where you fall.' Ranges + reasoning > silence. Exception: emergency-service trades (plumbing leak, HVAC outage) — customers in crisis don't price-shop, they need-shop. For those, lead with speed + availability instead of price ('Same-day plumbing emergency response, technician arriving within 90 minutes'). Match the pricing transparency to the buyer's emotional state, not your own preference.
How do I detect early signals that my offer is going stale before CPL spikes confirm it?
Five leading indicators that beat lagging CPL data: (1) CTR DECAY — week-over-week link CTR drops 15%+ on previously-stable creative = audience is bored; (2) FREQUENCY climbing past 3.5 with no creative change = audience saturation building; (3) ENGAGEMENT TYPE shift — fewer comments + more 'wow' or 'angry' reactions = the offer is eliciting cynicism, not interest; (4) DECLINING SHARE-RATE — strong offers get shared organically; if share count drops while everything else holds, the offer is losing freshness; (5) COMMENTS turning critical — customers commenting 'this seems too good to be true' or 'why so many ads from this company' signals the offer is overexposed. Catch these 2-4 weeks before CPL actually spikes. Action: queue a fresh offer test BEFORE current offer breaks. Most contractors react to CPL spikes (lagging) instead of these leading signals (early warning). Reactive offer-changes mean weeks of bleeding spend; proactive offer rotations preserve performance.
Should my offer mention specific brand names (Trane, GAF, Carrier) or stay generic to avoid sounding like a sales pitch?
Specific brands win for trust + objection-handling — but only if you actually use them. Three rules: (1) NAME the brand if it's recognized + you're certified ('Trane Comfort Specialist installing Trane heat pumps with 10-year warranty') — signals quality + filters for premium-tier customers; (2) SKIP the brand if it's obscure or you're not certified (using a generic mention is fine: 'high-efficiency heat pump systems'); (3) AVOID brand-name claims you can't back up (Meta + customers verify; getting caught misrepresenting a manufacturer relationship is a brand killer). Specific-brand offers also pre-qualify customers: someone who only wants the cheapest available won't book; someone who wants quality will. For premium-tier contractors, brand specificity raises both close rate AND average ticket size. For budget-tier contractors, generic language preserves the broader audience. Match brand-specificity to your target customer tier — not your trade overall.
How do I write the OFFER differently for retargeting an existing customer vs targeting a brand-new cold lead?
Existing-customer offers should leverage relationship + history; cold-lead offers should build trust + remove friction. Three differences: (1) GREETING — past customer ad: 'Hey [former customer], it's been 6 months — time for your next [maintenance check]?' Cold lead ad: 'Houston homeowners with leaky roofs: here's what to do first'; (2) PROOF NEEDED — past customer ad: minimal proof, they trust you already; references their last project. Cold lead ad: heavy proof, reviews, license numbers, founder face; (3) FRICTION TOLERANCE — past customer offer can ask for direct booking ('Click here to schedule for next week'). Cold lead offer needs maximum-low-friction (free quote, no obligation, simple form). Same business, two completely different offer architectures. Most contractors run ONE offer for both audiences — over-providing trust signals to existing customers (boring + repetitive) AND under-providing for cold leads (insufficient context). Two-tier offer architecture is the right call for any contractor at $3K+/mo Meta spend.
How do I systematically COLLECT customer language to use in my offer + ad copy — what's the harvesting process?
Three free harvesting channels that produce a continuous flow of authentic copy: (1) GOOGLE REVIEWS for your business (and competitors) — copy verbatim phrases customers use about pain points, outcomes, and decision moments. Look for repeated phrases across 5+ reviews — those are the universal pains worth speaking to in ads; (2) SALES-CALL transcripts — Otter.ai or Zoom auto-transcribe; pull the question + objection patterns from your last 20 sales calls. Common questions = unaddressed objections in your offer; common objections = trust gaps to fix in copy; (3) FORM-FIELD comments — every text field on your contact form is a goldmine. Customers explain their problem in their own words; harvest 1-2 phrases per submission for offer language. Build a 'Customer Language Library' Google Doc; add 1-2 phrases per week from these three sources. By month 6 you have 50+ authentic phrases to draw from when writing new offers + ad copy. Most contractors invent offer language ('quality service, family-owned, 30+ years experience') that customers don't actually use; harvested language wins because it mirrors how the customer thinks, not how the contractor thinks.
What's the right way to test an offer's appeal BEFORE running it on Meta — what feedback channel works fastest?
Three pre-launch validation channels ranked by speed + signal quality: (1) FACEBOOK PAGE post — share the offer wording as an organic post on your business page. Track: post engagement, comments asking 'how do I sign up,' shares. Free; 24-48 hour signal. If your existing followers don't engage, cold won't either; (2) EMAIL to past customers — send the offer to your customer list as a 'preview' email. Track: click-through rate, replies expressing interest. Highest-quality signal because past customers represent your best buyers; (3) STAFF feedback poll — ask your sales reps + service techs: 'If I gave you this offer to pitch, would you feel confident closing it?' If reps say 'I'd struggle to sell that,' the offer has flaws. Reps know objections + price-sensitivity better than founders. Total validation: 1-2 hours of effort + ~3-5 days of feedback collection. If 2 of 3 channels signal positively, proceed to Meta launch. If 2 of 3 are negative, iterate the offer before spending paid budget. Most contractors skip this validation + waste $500-2K of Meta budget on offers that fail. Pre-launch validation is the cheapest insurance against bad-offer spend.