Why most contractor Facebook pages don't produce calls
Open ten contractor Facebook pages in any metro and you'll see the same three post types on a loop: a stock "Happy 4th of July" graphic, a before/after photo with no caption beyond "another satisfied customer," and a boosted post asking people to "like and share." None of that gives a stranger a reason to call. It's filler, and filler doesn't rank in the feed algorithm because nobody stops scrolling for it.
Facebook's feed rewards content people actually engage with: comments, shares, saves, watch time on video. A stock graphic gets a handful of likes from people who already follow you. A real job-site photo with a specific problem and a specific fix gets comments from neighbors asking "who did this?" That's the difference between a page that exists and a page that works.
The second problem is audience. If your page mostly reaches people who already hired you or already know you, you're preaching to the choir. Posts need to be built to travel: tagged locations, shareable moments (a dog watching the crew work, a genuinely ugly before shot), and content worth a neighbor sending to another neighbor. That's organic reach. Paid boosting on top of good content extends it to people who've never heard of you but live three streets over from last week's job.
The third problem is consistency without a system. Owners post in bursts, five photos after a big job, then nothing for six weeks while the phone rings for referrals instead. The algorithm punishes silence. A page that posts twice a week, every week, for a year outperforms a page that posts twenty times in one week and goes dark. This guide gives you the 30 post types to rotate through so you're never staring at a blank compose box wondering what to put up.
None of this requires a marketing degree or a production budget. Every idea below comes from a phone camera and five minutes on the drive home. The system is the part most shops are missing, not the equipment or the talent.
The 30 post ideas, sorted by what they're for
Every post should do one of three jobs: prove you're skilled, prove you're trustworthy, or prove you're active right now. Rotate across all three instead of camping on one.
Proof of skill (job-site and process shots):
- Mid-job photo with a one-line caption on what's happening and why it's done that way
- Before/after with the actual problem named (not "transformation," the specific failure: rotted fascia, undersized panel, cracked slab)
- A tool or material close-up with the reason you use that brand or spec
- A "what we found" post: the hidden issue behind a wall or under a roof that changed the job
- A short video walkthrough of a finished install, phone camera is fine, narrated in plain language
- A time-lapse or sped-up clip of a full day's work condensed to 20 seconds
- A close-up of clean workmanship: tight caulk lines, straight conduit runs, a swept job site at day's end
Proof of trust (crew, license, community):
- Crew photo with names and roles, humanizes the truck that shows up at someone's house
- License, insurance, or manufacturer-certification photo with a one-line explanation of what it protects the homeowner from
- A review screenshot from Google or Facebook, quoted directly, no editing
- A "how we protect your property" post: drop cloths, yard protection, cleanup routine
- Local sponsorship or event photo (little league, church fundraiser, chamber event)
- A truck or van wrap photo parked at a job, ties the online page to the vehicle neighbors already see
- An owner-on-camera post answering one FAQ in under 60 seconds
Proof of activity (this week, this neighborhood):
- "On [street/subdivision] today" post, tags the area, invites neighbors to ask questions in comments
- Weather-triggered post: storm damage checklist the morning after a bad system rolls through
- Seasonal readiness post tied to a real regional trigger (not a generic holiday graphic)
- A "we're booking into [month]" post, creates real urgency without inventing a fake sale
- A quick poll or either/or post on a design or material choice, invites comments
- A job-completion post the same day, still dusty, still real
- A "we just got a call about X, here's what that job usually involves" educational post
- An emergency-availability reminder post after hours or on a holiday weekend
- A referral thank-you post naming the referring customer (with permission)
- A hiring post when you're growing, doubles as proof of demand
- A supplier or manufacturer partnership post when you hit a new certification tier
- A behind-the-scenes estimate-day post: what you actually look for on a walkthrough
- A "common mistake we fix" post calling out bad prior work (respectfully, no other contractor named)
- A community Q&A post: "ask us anything about [trade] this week"
- A milestone post: years in business, jobs completed this year, service area expansion
- A short clip of a customer's genuine reaction on completion day, with their OK to post
How often to post and what a realistic week looks like
Two to four posts a week is the range that keeps a page alive without turning content into a second job. Below two and the algorithm treats the page as inactive, your reach drops between posts. Above four or five and most owner-run pages can't sustain the quality, captions get lazy, photos get reused, and engagement drops anyway.
A realistic week for a two-to-three-person crew looks like this: one proof-of-skill post from whatever job is active mid-week, one proof-of-trust post (review screenshot or crew shot) posted on a slower day, and one proof-of-activity post tied to something real, weather, a booking update, a neighborhood tag. That's three posts built from five minutes of phone photos taken while you're already on site, not a content calendar meeting.
| Posting pace | What it signals | Typical result |
|---|---|---|
| 0-1 per week | Page looks abandoned | Reach collapses between posts, algorithm deprioritizes |
| 2-4 per week | Active, credible business | Steady reach, comments and shares accumulate |
| 5+ per week (owner-run) | Often stretched too thin | Quality drops, engagement per post falls even as volume rises |
Timing matters less than most owners assume. Post when you have a real photo, not on a fixed clock. That said, late afternoon and early evening (after most people are home from work but before they're asleep) tends to get more scroll time than a 7am post that goes up before anyone's on their phone. Test your own audience over a month and watch which posts actually get comments, not just likes.
The batching trick that keeps this sustainable: take five to ten photos on every job, even the small ones, and write one caption on the drive home while it's fresh. Draft three posts on a Sunday from that week's photo backlog and schedule them out. That turns a daily chore into a fifteen-minute weekly task.
What NOT to post (the stuff that quietly kills reach and trust)
Stock graphics and holiday templates. Every franchise, every competitor, and every industry supplier pushes the same "Happy Memorial Day" graphic to thousands of contractor pages on the same morning. Facebook's algorithm recognizes duplicate and templated content and suppresses it. Worse, it tells a homeowner nothing about your actual work.
Pricing without context. A bare "$99 tune-up" post with no explanation of what's included invites price-shopping comments and undercuts the estimate conversation your sales process is built around. If you post a promotion, tie it to a real scope and a real deadline.
Political or divisive commentary. Your page exists to book jobs from every household on the street, not to sort them by who agrees with you. Save opinions for a personal account.
- Blurry or dark job photos, take an extra ten seconds for a clean shot before you leave site
- Captions that are just hashtags with no sentence, gives the algorithm nothing to match to search intent and gives a reader no reason to comment
- Trash-talking a competitor or a homeowner's prior contractor by name, invites a legal headache and reads as unprofessional even when you're right
- Posting a customer's home address, exterior shots without a visible house number are fine, exact addresses in captions are not
- Fake urgency ("today only" deals that run every week), customers notice and it erodes the trust every other post is building
- Over-editing photos with heavy filters, a slightly imperfect real photo outperforms a filtered stock-looking one for engagement
The pattern across all of these: anything that looks templated, generic, or copy-pasted signals "marketing" instead of "contractor." Homeowners hire people, not brands, on platforms built for people.
Photos and captions: the mechanics that actually move engagement
The photo does the work; the caption tells people what they're looking at. A wide shot of a finished roof from the street doesn't show anything a passerby couldn't already see. A close-up of a properly flashed chimney, a correctly torqued electrical panel, or a clean trench backfill shows the part homeowners can't evaluate themselves, which is exactly the part that justifies your price over the guy who's $2,000 cheaper.
Captions should answer three things in the first line: what job, what the customer's problem was, and what you did about it. "Full tear-off and re-roof in [neighborhood]. Owner had two active leaks from 20-year-old shingles past their lifespan. New architectural shingles, ridge vent added for attic airflow." That's specific enough to read as real and short enough to actually get read.
Video outperforms static photos in reach on Facebook right now, and it doesn't need to be produced. A 15-30 second phone clip walking through a finished job, narrated plainly ("here's the panel we replaced, here's why the old one was a fire risk") gets more watch time and more shares than a photo carousel of the same job. Vertical orientation, shot the way you'd naturally hold your phone, performs better than horizontal.
| Post element | Do this | Skip this |
|---|---|---|
| Photo | Close-up of the actual work, natural light | Wide shot that shows nothing specific |
| Caption opener | Job, problem, fix in one sentence | "Another great project!" |
| Video | 15-30 sec, vertical, narrated | Silent stock b-roll |
| Tag | General area or neighborhood name | Exact home address |
Tag the general area (subdivision or neighborhood name, not the exact address) so the post surfaces for people searching or scrolling near that location. Respond to every comment within the same day; a comment thread with your replies signals to the algorithm that the post is worth showing to more people, and it signals to a reading prospect that you actually run the page yourself.
Organic posting vs. paid Facebook ads: when to add spend
Organic posts build the page's credibility over time: the review screenshots, the crew photos, the job-site proof that makes someone comfortable enough to click through and call. Paid Facebook and Instagram ads solve a different problem: getting your best content in front of people who've never seen your page at all, targeted by zip code, radius around your service area, or household characteristics.
The two work together. A boosted post that's actually good (a real before/after with a specific caption) performs far better as a paid ad than a generic "we do roofing" ad with no proof behind it. Running paid spend behind weak organic content is the single most common way contractors waste ad budget on this platform. Build the proof first, then pay to extend its reach.
A lead-form ad (Facebook's native form that captures name, phone, and a short question without leaving the app) tends to produce more volume than an ad that sends people to a website, but website-click ads generally produce a more qualified lead because the person had to take an extra step. Which one fits depends on whether the priority that month is volume or quality, and that's a strategy-call conversation, not a guess.
Budget-wise, most contractors testing paid social for the first time start in the $300-800/month range for a single service area, run for at least four to six weeks before judging results (Facebook's ad algorithm needs a learning period), and pull back or scale based on cost per lead, not cost per click. Vanity metrics like reach and impressions don't pay the crew; a phone number captured on a form does.
DIY, an in-house hire, or a managed service: matching the approach to your shop
A one or two-truck operation can run this DIY with a phone and fifteen minutes a week using the batching approach above. The ceiling on DIY is consistency: owners get busy, jobs stack up, and the page goes quiet during exactly the busy season when new customers are most likely to be searching. That's the trap: the weeks you have the least time to post are usually the weeks the most photo-worthy jobs are on the truck.
A dedicated in-house hire (often a spouse, office manager, or a marketing-minded employee) can push volume higher and add basic paid-ad management, but usually plateaus without training on what actually converts versus what just looks nice. That role also gets pulled into other office work the moment things get busy, and social is usually the first thing that slips. It's also a single point of failure: if that person leaves, the page usually goes quiet with them.
A managed service makes sense once the page needs to run every week without depending on someone's spare time, and once paid ad spend is part of the plan. The tradeoff is cost versus consistency: what a managed service should look like, what it should cost per month, and how to tell a real trade-specific shop from a generic content mill selling the same templated graphics to every contractor in the country is covered in full in our pricing breakdown, linked below. This guide stops at content strategy; that one covers the buy decision.
Whatever route you pick, the standard to hold it to is the same: does the content reference real jobs, real crews, and this specific trade, or could it be swapped onto a landscaper's page next week with a find-and-replace. If it's the second one, it's not going to move the phone.