<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tim Carter</title>
    <description>The latest articles on DEV Community by Tim Carter (@tcarter).</description>
    <link>https://dev.to/tcarter</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1676919%2Fa004dc6c-9b17-4a4a-bd1a-5bfa69bb45a5.png</url>
      <title>DEV Community: Tim Carter</title>
      <link>https://dev.to/tcarter</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tcarter"/>
    <language>en</language>
    <item>
      <title>How Google Local Services Ads work (from someone who built a CRM around them)</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:13:45 +0000</pubDate>
      <link>https://dev.to/tcarter/how-google-local-services-ads-work-from-someone-who-built-a-crm-around-them-53kb</link>
      <guid>https://dev.to/tcarter/how-google-local-services-ads-work-from-someone-who-built-a-crm-around-them-53kb</guid>
      <description>&lt;p&gt;I've spent a lot of time inside the Google Local Services Ads (LSA) ecosystem, not as an advertiser, but as someone building a CRM that needs to catch and convert those leads. Here's what I've learned about how the system works under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  The basics
&lt;/h2&gt;

&lt;p&gt;When someone Googles "plumber near me," the very first results aren't organic. They're not even regular Google Ads. They're a row of businesses with phone numbers, star ratings, and a green checkmark. Those are Local Services Ads.&lt;/p&gt;

&lt;p&gt;The billing model is different from regular Google Ads. Regular search ads are pay-per-click. LSAs are pay-per-lead. You get charged when someone actually calls you or sends a message through the ad, not when they click. For a small business, that's a much more tangible unit of value.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Google Guaranteed badge
&lt;/h2&gt;

&lt;p&gt;The green checkmark isn't cosmetic. It means the business has passed Google's screening: license verification, insurance confirmation, background checks on the owner and employees. It's a trust signal that Google is putting its name behind the business.&lt;/p&gt;

&lt;p&gt;Google also backs the job with a satisfaction guarantee up to a coverage amount. If a customer books through the ad and isn't happy, Google may cover it. That's a strong trust signal for the customer and a real barrier to entry for businesses that haven't gone through the screening.&lt;/p&gt;

&lt;p&gt;Start the screening process early. It takes time, and you don't want to be waiting on background checks when you're ready to turn ads on.&lt;/p&gt;

&lt;h2&gt;
  
  
  How ranking works
&lt;/h2&gt;

&lt;p&gt;Not every business in an area gets shown. Google picks which ads to display based on several factors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Review score and count.&lt;/strong&gt; More reviews, higher score, better placement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proximity to the searcher.&lt;/strong&gt; Closer businesses get priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsiveness.&lt;/strong&gt; Google tracks whether you actually answer the phone. Miss calls, and you drop in the ranking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Business hours.&lt;/strong&gt; Being open when people are searching matters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That responsiveness factor does double duty. It ranks you higher, and it also means the businesses that answer are the ones that get the job. The customer calls three plumbers. The one who picks up gets the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The lead quality problem
&lt;/h2&gt;

&lt;p&gt;Not every LSA lead is a real job. You'll get wrong numbers, spam, and jobs from three towns outside your service area. Google lets you dispute these, and they'll credit your account if they agree.&lt;/p&gt;

&lt;p&gt;Review your leads weekly. Dispute the junk. It's the difference between paying $25 per real lead and paying $25 for someone who accidentally dialed you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the CRM comes in
&lt;/h2&gt;

&lt;p&gt;This is the part that actually drove us to build certain features. LSAs send you leads, but what happens in the next five minutes determines whether that lead becomes revenue.&lt;/p&gt;

&lt;p&gt;A call comes in at 2 PM. You're on a job. It goes to voicemail. By 2:05, the customer has called the next business. You still got charged for the lead.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; with this exact scenario in mind. Two-way SMS means you can text back in seconds if you miss a call. Every lead gets a customer file automatically. Scheduling turns a lead into a booked job before they go cold. And it's one flat price, so adding the office person who monitors leads doesn't cost you extra.&lt;/p&gt;

&lt;p&gt;The ad gets the customer to your door. The CRM is what makes sure you don't leave them standing there.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What I learned building a website that contractors actually use</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:13:33 +0000</pubDate>
      <link>https://dev.to/tcarter/what-i-learned-building-a-website-that-contractors-actually-use-1f47</link>
      <guid>https://dev.to/tcarter/what-i-learned-building-a-website-that-contractors-actually-use-1f47</guid>
      <description>&lt;p&gt;Building a website for a contractor is a different problem than building one for, say, a SaaS company. The audience is different. The conversion path is different. And the technical bar for "good enough" is actually higher than you'd expect.&lt;/p&gt;

&lt;p&gt;Here's what I've learned building web features into &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; and watching how contractors' customers interact with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Own your domain. Seriously.
&lt;/h2&gt;

&lt;p&gt;This sounds obvious to anyone reading Dev.to, but you'd be surprised how many trade businesses run their entire online presence off a Facebook page or a free Wix subdomain. When someone gets a referral and Googles the name, they find a Facebook page with no service list, no pricing, and no way to book.&lt;/p&gt;

&lt;p&gt;A custom domain (yourbusiness.com) is the one piece of your online presence you actually control. Social platforms change algorithms. Hosting providers change terms. Your domain is yours.&lt;/p&gt;

&lt;p&gt;For us, this meant building white-label support into ToolbagCRM early. Contractors can point their own domain at our booking and portal pages, so the customer never sees our brand. From the customer's perspective, they're on the contractor's site.&lt;/p&gt;

&lt;h2&gt;
  
  
  SSL is table stakes
&lt;/h2&gt;

&lt;p&gt;The padlock. HTTP vs HTTPS. Most developers stopped thinking about this years ago because every decent hosting provider auto-provisions Let's Encrypt certs and renews them automatically.&lt;/p&gt;

&lt;p&gt;But I still see contractor websites running plain HTTP. The browser shows "Not Secure" in the address bar, and for a customer about to type in their home address and maybe a card number, that's a dealbreaker.&lt;/p&gt;

&lt;p&gt;If your hosting provider doesn't give you free, auto-renewing SSL, switch providers. It's 2026. There's no excuse. Google also uses HTTPS as a ranking signal, so it directly affects whether you show up in search.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local SEO is simpler than people say
&lt;/h2&gt;

&lt;p&gt;SEO gets treated like this mysterious dark art, but for a local service business, it boils down to a few concrete things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Claim your Google Business Profile.&lt;/strong&gt; This is the single highest-leverage thing you can do. It's free, it controls how you appear in Maps, and it's the main factor in "plumber near me" searches.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Put your info in plain text.&lt;/strong&gt; Service area, phone number, services offered. Google needs to read it. Don't hide it in images or JavaScript-rendered components that break in unexpected ways.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make the site fast, especially on mobile.&lt;/strong&gt; Your customer is standing in their driveway or on a lunch break. They're on a phone. If your page takes 4 seconds to load, they're already calling the next name on the list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Get reviews, then reply to them.&lt;/strong&gt; Review count and recency are among the strongest local ranking signals. A business with 40 recent reviews will outrank one with 200 old ones.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The booking page is the missing link
&lt;/h2&gt;

&lt;p&gt;Most contractor websites are digital brochures. They list services, show a phone number, and that's it. The gap is the conversion step: turning a visitor into a booked job.&lt;/p&gt;

&lt;p&gt;We built online booking directly into ToolbagCRM, running on the contractor's own branded domain. So the flow is: customer finds the site, sees the service, clicks "Book," picks a time, done. It goes straight onto the calendar. No phone tag, no back-and-forth.&lt;/p&gt;

&lt;p&gt;That last step, from "found you" to "booked you," is where most contractors lose people. The technical challenge was making it simple enough that a customer with zero context can complete it in under a minute. No accounts to create. No login walls. Just name, address, what they need, pick a time.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Per-seat pricing is a tax on growth. Here is why we killed it.</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:12:45 +0000</pubDate>
      <link>https://dev.to/tcarter/per-seat-pricing-is-a-tax-on-growth-here-is-why-we-killed-it-pil</link>
      <guid>https://dev.to/tcarter/per-seat-pricing-is-a-tax-on-growth-here-is-why-we-killed-it-pil</guid>
      <description>&lt;p&gt;I've been thinking about SaaS pricing models a lot lately, specifically how per-seat pricing interacts with small businesses. The short version: it punishes the exact behavior you want your customers to have.&lt;/p&gt;

&lt;h2&gt;
  
  
  How per-seat pricing works
&lt;/h2&gt;

&lt;p&gt;It's the standard model. You pay a base rate for the software, then an extra fee per user. Salesforce does it. HubSpot does it. Slack does it. And for those products, it mostly makes sense. A Slack user is actively using Slack. A Salesforce seat maps to a rep generating revenue.&lt;/p&gt;

&lt;p&gt;Field service CRM is different. Your office manager doesn't close deals. Your dispatcher doesn't generate revenue directly. But they both need logins to do their jobs. Per-seat pricing turns support staff into a recurring expense that grows every time you hire.&lt;/p&gt;

&lt;p&gt;Here's what the numbers look like right now (May 2026, annual billing):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jobber:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core: $29/mo, 1 user, $29 per extra user&lt;/li&gt;
&lt;li&gt;Connect: $139/mo, up to 5 users, $29 per extra user&lt;/li&gt;
&lt;li&gt;Grow: $199/mo, up to 10 users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HouseCall Pro:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic: $79/mo, 1 user&lt;/li&gt;
&lt;li&gt;Essentials: $189/mo, up to 5 users&lt;/li&gt;
&lt;li&gt;MAX: $329/mo, up to 8 users, $35 per extra user&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;ServiceTitan:&lt;/strong&gt; Doesn't publish pricing. You talk to sales. Industry reports put it in the high hundreds to four figures per tech per month for the full tier.&lt;/p&gt;

&lt;p&gt;An 8-person team on HCP MAX is $329/mo. Same team on Jobber Connect is $226/mo. Every hire bumps the bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why we killed it
&lt;/h2&gt;

&lt;p&gt;When we built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt;, we made a bet: flat pricing, unlimited users. One monthly fee. It doesn't change when you hire your fourth tech, bring on a dispatcher, or scale to 15 people.&lt;/p&gt;

&lt;p&gt;The founders rate is $99/mo for the first 3 months, then $150/mo. Same price at 2 users. Same at 12. Same at 22.&lt;/p&gt;

&lt;p&gt;The reasoning came from talking to contractors. The most common growth pattern in trades is: start solo, hire 1-2 techs, add office support, eventually hit 6-10 people. Every step of that growth gets taxed by per-seat pricing. The software that's supposed to help you grow is billing you for growing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The other thing flat pricing changes
&lt;/h2&gt;

&lt;p&gt;It removes the incentive to build tier walls. When you charge per seat, you naturally start gating features behind plan levels. "Want reporting? That's the Grow tier. Want SMS? That's Connect or above." You end up engineering feature restrictions to drive upgrades.&lt;/p&gt;

&lt;p&gt;We put everything on one plan. Scheduling, quoting, invoicing, payments, two-way SMS, GPS, time tracking, customer portal, branded domain. All of it. The only add-on is usage-based AI features, and you only pay for those when you actually run them.&lt;/p&gt;

&lt;h2&gt;
  
  
  When per-seat pricing does make sense
&lt;/h2&gt;

&lt;p&gt;If you're running a 20+ tech operation where revenue scales linearly with headcount, per-seat is fine. Your cost grows in proportion to your revenue. That's the ServiceTitan model, and it works at that scale.&lt;/p&gt;

&lt;p&gt;But the median contractor business is 1 owner, 3 techs, 1 dispatcher, 1 part-time admin. Six accounts. On per-seat pricing, that's a tax. On flat pricing, it's just how the business runs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>product</category>
      <category>saas</category>
      <category>startup</category>
    </item>
    <item>
      <title>Why we flat-rate our CRM instead of charging per seat (and what we learned)</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:12:07 +0000</pubDate>
      <link>https://dev.to/tcarter/why-we-flat-rate-our-crm-instead-of-charging-per-seat-and-what-we-learned-3ol7</link>
      <guid>https://dev.to/tcarter/why-we-flat-rate-our-crm-instead-of-charging-per-seat-and-what-we-learned-3ol7</guid>
      <description>&lt;p&gt;When we set out to build &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt;, one of the first architecture decisions wasn't about databases or frameworks. It was pricing.&lt;/p&gt;

&lt;p&gt;Every SaaS CRM in the field-service space charges per seat. Jobber, HouseCall Pro, ServiceTitan, all of them. It's the default model in B2B SaaS, and for good reason: it scales revenue with usage. A sales team of 50 people using Salesforce means 50 seats, and Salesforce gets paid for each one.&lt;/p&gt;

&lt;p&gt;But here's the thing we kept running into: the contractor market doesn't work like that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The per-seat math doesn't fit trades
&lt;/h2&gt;

&lt;p&gt;A typical small contractor team looks like this: the owner, 2-4 field techs, an office manager or dispatcher, and maybe a part-time admin. That's 5-7 people who all need logins. On Jobber Connect ($139/mo, 5 users), that's already $197/mo once you add the extra seats. One more hire and you're at $226.&lt;/p&gt;

&lt;p&gt;None of those extra users are generating incremental revenue for us as a software company. They're dispatchers and admins. But per-seat pricing doesn't care. It bills anyway.&lt;/p&gt;

&lt;p&gt;We kept hearing the same thing from contractors during early interviews: "I stopped adding people to the software because it costs too much." That's a sentence that should never exist. Your CRM is actively discouraging you from giving your team access.&lt;/p&gt;

&lt;h2&gt;
  
  
  What flat-rate means architecturally
&lt;/h2&gt;

&lt;p&gt;Going flat-rate isn't just a business decision. It shapes how you build the product.&lt;/p&gt;

&lt;p&gt;When you charge per seat, you're incentivized to build permission walls. Lock features behind tiers. Gate the admin view. Make the dispatcher seat cheaper but strip out reporting. You end up engineering artificial scarcity into your own product.&lt;/p&gt;

&lt;p&gt;We didn't want to do that. Flat pricing meant we could ship one product, one codebase, one permission model. Everyone gets the same thing. The owner, the tech, the office admin, they all see what they need to see. We don't build gating logic. We don't maintain tier-based feature flags. The engineering simplicity alone has saved us weeks of work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we learned
&lt;/h2&gt;

&lt;p&gt;First, flat-rate pricing is a conversation starter. Contractors are so used to per-seat quotes that when you say "one price, unlimited users," it doesn't compute at first. They think there's a catch. There isn't.&lt;/p&gt;

&lt;p&gt;Second, it shifts the internal conversation from "how do we extract more per account" to "how do we make this product so good they never leave." That's a healthier product incentive.&lt;/p&gt;

&lt;p&gt;Third, it does cap your revenue per account. We know that. A 20-person shop pays the same as a 3-person shop. But most of our market is 2-8 users, and at that range the flat rate works fine for both sides.&lt;/p&gt;

&lt;p&gt;We charge $99/mo for the first three months, then $150/mo after that. Locked for life. No seat count, no usage surprises. It's not the right model for every SaaS company, but for the contractor market, it's been the single best product decision we've made.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What building a CRM taught me about Google Ads for small businesses</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 06 Jul 2026 14:06:54 +0000</pubDate>
      <link>https://dev.to/tcarter/what-building-a-crm-taught-me-about-google-ads-for-small-businesses-l7h</link>
      <guid>https://dev.to/tcarter/what-building-a-crm-taught-me-about-google-ads-for-small-businesses-l7h</guid>
      <description>&lt;p&gt;Building a CRM for contractors means you end up deep in the Google Ads ecosystem whether you planned to or not. Our users run ads. They send the leads to us. And we get to see, at scale, what works and what doesn't. Here's what the data shows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search ads are not the same as Local Services Ads
&lt;/h2&gt;

&lt;p&gt;Regular Google Search Ads (the ones marked "Sponsored" at the top) work on a pay-per-click model. You bid on keywords. Someone clicks, you pay. It doesn't matter if they call, book, or immediately bounce. You paid for the click.&lt;/p&gt;

&lt;p&gt;Local Services Ads sit above those, and they're pay-per-lead. You only pay when someone actually contacts you. For most small trades, LSAs are the better starting point. But search ads still have a role, if you run them right.&lt;/p&gt;

&lt;h2&gt;
  
  
  The auction is real-time and Quality Score matters
&lt;/h2&gt;

&lt;p&gt;Every search triggers a real-time auction. Your bid amount plus your Quality Score (how relevant your ad and landing page are to the query) determines your position. A contractor with a tightly targeted ad and a relevant landing page can outrank someone spending three times more per click.&lt;/p&gt;

&lt;p&gt;This means ad spend alone doesn't win. Relevance does.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keywords: where the money actually goes
&lt;/h2&gt;

&lt;p&gt;From watching our users' ad performance over time, keyword selection is the single biggest factor in whether a campaign works or burns cash.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What works:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local + specific: "emergency plumber Marietta GA" beats "plumber" by a mile.&lt;/li&gt;
&lt;li&gt;Service + city + urgency: "same day AC repair," "leak repair near me." People searching these terms are ready to hire.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What wastes money:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generic single-word keywords attract researchers, not buyers.&lt;/li&gt;
&lt;li&gt;No negative keywords. If you don't add "plumber salary," "DIY drain," "plumbing courses" as negatives, you're paying for clicks from people who are definitely not hiring you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Spend your first hour building a negative keyword list. It has more impact than tweaking ad copy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The landing page problem
&lt;/h2&gt;

&lt;p&gt;Most contractors send ad traffic to their homepage. That's wrong. The homepage talks about everything: every service, the company history, the team photos. The person who just clicked "emergency water heater repair" wants to see emergency water heater repair, a phone number, and nothing else.&lt;/p&gt;

&lt;p&gt;A good paid landing page has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The exact service in the headline, matching the search&lt;/li&gt;
&lt;li&gt;A phone number, large, above the fold&lt;/li&gt;
&lt;li&gt;A short form (name, address, phone, problem)&lt;/li&gt;
&lt;li&gt;Reviews, license number, service area&lt;/li&gt;
&lt;li&gt;No navigation bar. No carousel. Nothing else.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The tracking gap nobody closes
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting from a data perspective. Most contractors track clicks and maybe calls. What they should be tracking is booked jobs.&lt;/p&gt;

&lt;p&gt;The chain looks like this: keyword → ad → landing page → call/form → booked job. You need call tracking per ad group, a central lead database, and a monthly review cadence to see which keywords actually produce revenue.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; to be that central database. Every call, form fill, and text lands in one place. Two-way SMS catches leads you would otherwise miss. And because it's unlimited users at one flat price, the person monitoring the inbox isn't adding to your software bill.&lt;/p&gt;

&lt;p&gt;The insight from watching hundreds of contractor campaigns: the money isn't lost on bad ads. It's lost on missed follow-up. You're not just paying Google for clicks. You're paying Google to test whether your phone gets answered.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Facebook ads for small businesses: what the data actually shows</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Sun, 05 Jul 2026 14:05:47 +0000</pubDate>
      <link>https://dev.to/tcarter/facebook-ads-for-small-businesses-what-the-data-actually-shows-23ih</link>
      <guid>https://dev.to/tcarter/facebook-ads-for-small-businesses-what-the-data-actually-shows-23ih</guid>
      <description>&lt;p&gt;We don't run Facebook ads ourselves, but a lot of our users at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; do. And because we're the system where those leads land, we get to see the conversion data. Here's what I've learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Facebook and Google work on opposite intent models
&lt;/h2&gt;

&lt;p&gt;Google Ads capture existing demand. Someone searches "AC repair near me," they need an AC repair. The intent is immediate.&lt;/p&gt;

&lt;p&gt;Meta (Facebook + Instagram) ads create demand. Nobody logs into Facebook looking for a plumber. They're scrolling through photos of their cousin's dog. Your ad interrupts that scroll. The goal isn't to capture a ready-to-buy customer. It's to put your name in their head so that when their AC dies in July, they remember you.&lt;/p&gt;

&lt;p&gt;That distinction changes everything about how you build campaigns.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the conversion data shows
&lt;/h2&gt;

&lt;p&gt;From watching leads flow through our system, a few patterns stand out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before-and-after content converts.&lt;/strong&gt; Roof replacements, driveway pressure washing, kitchen remodels. Visual proof of work stops the scroll. Stock photos don't. A phone-shot photo of a real job in a named neighborhood outperforms a polished corporate image every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tight geo targeting beats clever demographics.&lt;/strong&gt; Meta lets you slice audiences by interests, behaviors, and a hundred other dimensions. For a local trade, none of that matters as much as a simple radius around your service area. Keep it tight. The smaller the radius, the less wasted spend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead Ads are a trap if you don't follow up fast.&lt;/strong&gt; Meta offers in-feed lead forms where someone can submit their name and number without leaving Facebook. The conversion rate looks great on paper. But the lead quality is lower because they never visited your site, never saw your reviews, never invested any effort. And the window is brutally short. If you don't follow up within five minutes, that lead is cold. An hour later, they've forgotten they filled out the form.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pixel and tracking setup
&lt;/h2&gt;

&lt;p&gt;If you're running Meta ads, the Meta Pixel on your site is what connects ad views to actual conversions. Without it, you're flying blind on whether your ads are producing jobs.&lt;/p&gt;

&lt;p&gt;The setup is straightforward: install the pixel, configure conversion events (form submissions, phone clicks, bookings), and let Meta's algorithm optimize for those events. The catch is you need enough conversion volume for the algorithm to learn. At $10/day, that can take a couple of weeks. Don't kill a campaign on day three.&lt;/p&gt;

&lt;p&gt;Lookalike audiences are the other lever worth pulling. Upload your past customer list. Meta finds people in your area who look like the ones who already paid you. It's one of the few targeting options that consistently performs for local trades.&lt;/p&gt;

&lt;h2&gt;
  
  
  The follow-up problem
&lt;/h2&gt;

&lt;p&gt;Same story as every other ad channel. The lead comes in. Nobody picks up. Nobody texts back. The customer moves on.&lt;/p&gt;

&lt;p&gt;In our CRM, we see this pattern constantly. A Meta lead fills out a form at 3 PM. The contractor checks it at 5 PM. By then, the lead has called three other businesses.&lt;/p&gt;

&lt;p&gt;This is why we built instant SMS on new leads. The form comes in, an auto-text goes out within seconds. It doesn't replace a human, but it buys you time. And in a flat-rate CRM where every team member is already included, the person watching the inbox isn't an extra cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Meta ads work for trades with visual services (roofing, painting, lawn care, cleaning) in a defined local area. They work best as a slow-burn brand builder, not a direct-response channel. And they only work if your follow-up is fast enough to convert interest into a booked job.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Can contractors actually get leads from TikTok? We looked at the data</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Sat, 04 Jul 2026 14:06:46 +0000</pubDate>
      <link>https://dev.to/tcarter/can-contractors-actually-get-leads-from-tiktok-we-looked-at-the-data-ngj</link>
      <guid>https://dev.to/tcarter/can-contractors-actually-get-leads-from-tiktok-we-looked-at-the-data-ngj</guid>
      <description>&lt;p&gt;Short answer: yes, but not the way you think. And the data from our users at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; tells an interesting story about how TikTok leads actually convert.&lt;/p&gt;

&lt;h2&gt;
  
  
  How TikTok's algorithm works (for non-creators)
&lt;/h2&gt;

&lt;p&gt;TikTok's For You feed doesn't care about follower count. You post a video, it gets shown to a small batch of strangers. The algorithm watches what they do: do they watch to the end, rewatch, comment, share? Based on that engagement, it either pushes the video to more people or buries it.&lt;/p&gt;

&lt;p&gt;A video from a brand-new account can get 200 views or 200,000. Followers are nearly irrelevant to distribution. This is the opposite of Instagram or Facebook, where follower count heavily determines reach.&lt;/p&gt;

&lt;p&gt;For a contractor with zero online presence, this is actually good news. You don't need an audience to get seen. You need one good clip.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why trades have a natural advantage
&lt;/h2&gt;

&lt;p&gt;The work itself is the content. A plumber pulling a hair clog out of a drain, a roofer tearing off shingles to reveal rot, an electrician tracing a short. These are inherently visual, inherently interesting, and they require zero production value.&lt;/p&gt;

&lt;p&gt;Phone-shot, vertical, narrated in real time. That's the format. No script, no music bed, no editing. The rawer it looks, the better it performs. Polished content gets ignored. The algorithm (and the audience) can tell the difference between a real tradesperson filming their work and a marketing team staging a shot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the lead data shows
&lt;/h2&gt;

&lt;p&gt;Here's the part nobody talks about. TikTok leads don't convert like Google leads. A Google lead is someone who searched "emergency plumber" and is ready to hire right now. A TikTok lead has been watching your videos for three weeks, building familiarity, and then their sink breaks.&lt;/p&gt;

&lt;p&gt;The attribution is fuzzy. When they call, they don't say "I saw you on TikTok." They say "you keep popping up in my feed" or "my wife showed me your video." It's a slow-burn awareness channel, not a direct-response one.&lt;/p&gt;

&lt;p&gt;From our CRM data, the pattern looks like this: a contractor starts posting consistently. Views grow over 4-6 weeks. Then calls start trickling in, and they increase over time. The first month is almost always zero direct leads. Month two is a few. Month three is when it starts to compound.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bio is your landing page
&lt;/h2&gt;

&lt;p&gt;Your TikTok caption doesn't sell. Your bio does. The conversion path is: video → profile visit → bio → call or book. So the bio needs to work hard.&lt;/p&gt;

&lt;p&gt;Include your city, your trade, your phone number, and a link to a booking page. "Atlanta Plumber Dave" in the display name beats "Dave's Plumbing." People follow people, not brands.&lt;/p&gt;

&lt;p&gt;Pin your three best-performing videos to the top of your profile. That's what new visitors see first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Volume is the strategy
&lt;/h2&gt;

&lt;p&gt;There's no shortcut here. Posting once a week is a hobby. Posting daily for two months is when accounts break out. The algorithm needs repetition to figure out who your audience is.&lt;/p&gt;

&lt;p&gt;Every contractor who's blown up on TikTok has done it the same way: filmed on every job for a quarter, cut the footage into short clips, and ground through the weeks where nothing landed. Then one video hits, and it pulls the rest of the catalog up with it.&lt;/p&gt;

&lt;p&gt;Cross-post the same clip to Instagram Reels and YouTube Shorts. Same file, zero extra effort, two more shots at reaching people.&lt;/p&gt;

&lt;h2&gt;
  
  
  One warning
&lt;/h2&gt;

&lt;p&gt;Don't buy followers, don't buy likes, and don't run TikTok ads until you've posted at least 30 organic clips. You need to learn what your audience responds to before you spend money amplifying anything.&lt;/p&gt;

&lt;p&gt;And when the leads do start coming, make sure you can catch them. The people who find you on TikTok already half-trust you. They've watched your face for weeks. But skip their call or text back an hour later, and they're calling the next name they saved.&lt;/p&gt;

&lt;p&gt;That's the whole reason we built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; the way we did. Every call, form fill, and text in one place. Two-way SMS for instant response. One flat price, so the person monitoring leads doesn't cost you extra.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What building a CRM taught me about YouTube marketing for small businesses</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Fri, 03 Jul 2026 14:04:13 +0000</pubDate>
      <link>https://dev.to/tcarter/what-building-a-crm-taught-me-about-youtube-marketing-for-small-businesses-2jp3</link>
      <guid>https://dev.to/tcarter/what-building-a-crm-taught-me-about-youtube-marketing-for-small-businesses-2jp3</guid>
      <description>&lt;p&gt;When we started building ToolbagCRM, YouTube wasn't part of the plan. We were focused on scheduling, quoting, invoicing, all the stuff a contractor CRM needs. But somewhere around the third cohort of beta users, we noticed something weird. The contractors who were getting the most inbound leads weren't running Google Ads or posting on Instagram. They were filming themselves fixing stuff on YouTube.&lt;/p&gt;

&lt;p&gt;That broke our assumptions wide open.&lt;/p&gt;

&lt;h2&gt;
  
  
  YouTube is actually two platforms
&lt;/h2&gt;

&lt;p&gt;One is long-form: a 12-minute video by an HVAC tech in Ohio explaining why your furnace makes a banging noise. The other is Shorts, which is basically TikTok. Vertical, under sixty seconds, pushed out by an algorithm to strangers.&lt;/p&gt;

&lt;p&gt;Long-form is the one most trades ignore, and it's the one that compounds. A video filmed once keeps pulling in search traffic for years. We had a plumber in our beta whose "how to shut off your main water valve" video was still generating calls eighteen months after he posted it. That's not a marketing campaign. That's an asset.&lt;/p&gt;

&lt;p&gt;Shorts build audience. Long-form builds a library. We tell people to pick one and commit for three months before adding the other.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually gets clicks
&lt;/h2&gt;

&lt;p&gt;We spent a lot of time watching which trade videos performed and reverse-engineering why. A few patterns showed up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Diagnostic videos&lt;/strong&gt; work across every trade. "What does this sound from your furnace actually mean?" Show the symptom, explain the cause, tell them whether to DIY or call someone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real job walkthroughs&lt;/strong&gt; grab attention better than anything polished. A 15-minute clip of "we got called for a kitchen sink, and found this" outperforms a produced marketing video every time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Titles and thumbnails do most of the work.&lt;/strong&gt; A problem in plain language, a specific promise the video delivers on, and a close-up of the actual issue with bold text you can read on a phone. Put your face in the thumbnail. People click faces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ditch the fancy editing. A phone shot of a frozen coil beats an Adobe Photoshop poster.&lt;/p&gt;

&lt;h2&gt;
  
  
  The slow conversion nobody warns you about
&lt;/h2&gt;

&lt;p&gt;YouTube is the most sluggish channel to convert. A viewer watches, learns something, and closes the app. The call happens later. Maybe three months later, when their furnace breaks and they remember the guy who explained the banging noise.&lt;/p&gt;

&lt;p&gt;By the third or fifth video, they type in your name. Their facial recognition kicks in. They're already sold before they dial.&lt;/p&gt;

&lt;p&gt;This is why we tell contractors: don't try to close in the video. Build the library. The calls come on their own timeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the CRM matters
&lt;/h2&gt;

&lt;p&gt;When that YouTube lead finally calls, three months after watching your video, they already trust you. They expect you to sound like you sounded on camera. They've already voted for you.&lt;/p&gt;

&lt;p&gt;Losing that lead to voicemail is brutal. We built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt;'s two-way SMS and online booking specifically for this: the lead texts back in seconds while the tech is on a job, and the booking link in the YouTube description goes straight into the calendar.&lt;/p&gt;

&lt;p&gt;One flat monthly rate for the whole team. Your software bill doesn't go up because your office staff is monitoring the inbox.&lt;/p&gt;

&lt;h2&gt;
  
  
  The checklist
&lt;/h2&gt;

&lt;p&gt;Before you film your first video:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pick one format (long-form or Shorts) and commit for three months&lt;/li&gt;
&lt;li&gt;Get a cheap lavalier mic. Audio kills retention, not video quality&lt;/li&gt;
&lt;li&gt;Write the title and thumbnail before you decide what to film&lt;/li&gt;
&lt;li&gt;Put your phone number in the first line of every description&lt;/li&gt;
&lt;li&gt;Don't quit at view 200. Long-form can take a quarter to find traction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Nextdoor for local businesses: is there a tech play?</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Thu, 02 Jul 2026 14:04:41 +0000</pubDate>
      <link>https://dev.to/tcarter/nextdoor-for-local-businesses-is-there-a-tech-play-2clh</link>
      <guid>https://dev.to/tcarter/nextdoor-for-local-businesses-is-there-a-tech-play-2clh</guid>
      <description>&lt;p&gt;We spend a lot of time looking at where our users' leads come from. Google, referrals, door hangers, the usual. But one channel kept showing up in our data that we didn't expect: Nextdoor.&lt;/p&gt;

&lt;p&gt;Not as a paid channel. As organic recommendations that convert at rates I've never seen from any ad platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Nextdoor actually is
&lt;/h2&gt;

&lt;p&gt;It's a hyperlocal social network. Every account requires a verified physical address, so the audience is real neighbors in real zip codes. The feed is lost-dog posts, trash truck complaints, and "does anyone know a great electrician?"&lt;/p&gt;

&lt;p&gt;That last one is the whole game for trades. A neighbor asking a neighbor who to call is the best lead a service provider can get. The trust is baked in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it's not Facebook
&lt;/h2&gt;

&lt;p&gt;Facebook is global. Nextdoor is your service area, period. You won't go viral there, and you shouldn't try. The audience is limited to people who could be your customer next Tuesday when their water heater breaks.&lt;/p&gt;

&lt;p&gt;The operating model is different too. Facebook is about posting. Nextdoor is about doing. The contractor who shows up to help with a sink problem, with zero solicitation of future business, is the one she calls when something goes wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommendations are the API
&lt;/h2&gt;

&lt;p&gt;Nextdoor has a feature called Recommendations. One person needs a plumber, neighbors mention a business, and those mentions accumulate on your Business Page. Get 30 of them in a single zip code and you're pre-sold to anyone reading the next thread.&lt;/p&gt;

&lt;p&gt;The key insight for us, as developers: Recommendations never expire. They compound over time. A two-year-old recommendation still shows up on your page. Whoever builds the longest tail of recommendations in a zip code wins the next "Anyone know a..." thread.&lt;/p&gt;

&lt;p&gt;How to get them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claim your free Business Page. Most trades never have.&lt;/li&gt;
&lt;li&gt;Ask happy customers to recommend you on Nextdoor specifically. Not Google. Not Yelp.&lt;/li&gt;
&lt;li&gt;Ask in person, after the job. One real sentence from a real neighbor beats anything you could post yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The anti-pattern
&lt;/h2&gt;

&lt;p&gt;The fastest way to get banned on Nextdoor is spam. The fastest way to get restricted is making the same generic comment on every post. Your comment gets flagged, deleted by the moderator, and your account gets the boot.&lt;/p&gt;

&lt;p&gt;The play is to be a neighbor who happens to be that guy. Answer a genuine question with a genuine answer. No link, no sell. That kind of comment makes you memorable. Next time someone asks for an HVAC tech, half the responses tag your name.&lt;/p&gt;

&lt;p&gt;Five minutes, a few times a week. That's it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the tech angle comes in
&lt;/h2&gt;

&lt;p&gt;When a recommendation lands, the first call usually comes within 24 hours. Miss that call and you lose the client. They're already dialing the next person.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; to centralize those incoming calls, texts, and form submissions into one hub. Two-way SMS lets techs text back in seconds while on a job. Online booking on your own branded site means the neighbor can book directly from your profile.&lt;/p&gt;

&lt;p&gt;One flat rate for the whole team. The recommendation machine works for free. The CRM catches whatever it produces.&lt;/p&gt;

&lt;h2&gt;
  
  
  The checklist
&lt;/h2&gt;

&lt;p&gt;Before you start on Nextdoor:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Claim the Business Page. It's free and takes ten minutes.&lt;/li&gt;
&lt;li&gt;Ask for recommendations in person, not by mass blast.&lt;/li&gt;
&lt;li&gt;Answer questions genuinely, skip the sales pitch.&lt;/li&gt;
&lt;li&gt;Stay calm on complaints. The whole zip code is watching.&lt;/li&gt;
&lt;li&gt;Pick up the calls. Recommendation leads convert fast and go cold faster.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building quote and pricing tools for contractors: what we learned</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Wed, 01 Jul 2026 14:09:24 +0000</pubDate>
      <link>https://dev.to/tcarter/building-quote-and-pricing-tools-for-contractors-what-we-learned-3l89</link>
      <guid>https://dev.to/tcarter/building-quote-and-pricing-tools-for-contractors-what-we-learned-3l89</guid>
      <description>&lt;p&gt;We thought building a quoting tool would be the easy part. Drag some line items into a template, add a price, send. Done, right?&lt;/p&gt;

&lt;p&gt;Wrong. The quoting problem in the trades is a pricing problem. And the pricing problem is an overhead problem. And the overhead problem is something most contractors have never actually sat down and calculated.&lt;/p&gt;

&lt;p&gt;We ended up building something more like a pricing engine than a fancy PDF generator.&lt;/p&gt;

&lt;h2&gt;
  
  
  The biggest mistake we see
&lt;/h2&gt;

&lt;p&gt;Most small contractors price by intuition. Someone asks for a quote, you eyeball the job, think about what the last one cost, throw in a little more, and send a number. It feels like skill. For a while it is.&lt;/p&gt;

&lt;p&gt;After a couple of years, it's usually why you're working sixty hours a week and still barely making ends meet.&lt;/p&gt;

&lt;p&gt;The issue: you need to account for three things when setting your rate, not just one. Your labor. Your overhead. Your profit. If only labor is on your mind while you're quoting, you're paying for the other two yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overhead is the hidden variable
&lt;/h2&gt;

&lt;p&gt;Ask a contractor about overhead and they think rent and insurance. The real list is much longer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vehicle costs: payment, gas, insurance, maintenance, tires&lt;/li&gt;
&lt;li&gt;Phone, software, marketing, accounting, card processing fees&lt;/li&gt;
&lt;li&gt;General liability and workers' comp&lt;/li&gt;
&lt;li&gt;Office space, even if it's a corner of the garage&lt;/li&gt;
&lt;li&gt;Permits, dump fees, supplies that don't go on a single job&lt;/li&gt;
&lt;li&gt;Non-billable time: estimates, follow-up, paperwork, drive time&lt;/li&gt;
&lt;li&gt;Taxes, the self-employment kind that bite at year end&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add it all up over the year and divide by actual billable hours. That's your overhead cost per billable hour. Most one- and two-truck shops have a higher figure than the owners imagine. It's not uncommon for a contractor's overhead rate to exceed their labor rate.&lt;/p&gt;

&lt;p&gt;This is the number we had to make visible in ToolbagCRM. If you can't see your true cost of doing business, every quote is a guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  The markup math
&lt;/h2&gt;

&lt;p&gt;Once you have your true hourly cost (labor plus overhead), add a real profit margin. Not whatever's left over. A margin that any viable business would build in.&lt;/p&gt;

&lt;p&gt;Three numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direct cost:&lt;/strong&gt; what the job actually costs in labor and materials&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Burdened cost:&lt;/strong&gt; direct cost plus your share of overhead for those hours&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sell price:&lt;/strong&gt; burdened cost plus the profit you want to make&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run this once and most contractors discover they need to be charging substantially more than they are. That isn't greed. It's reality.&lt;/p&gt;

&lt;p&gt;The fear is always: will they say no? Sometimes. Usually they don't, because they never intended to shop your real costs against a competitor. They wanted a fair price from someone they trusted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flat-rate vs time-and-materials
&lt;/h2&gt;

&lt;p&gt;Hourly rates make sense for emergency calls and small jobs where nobody knows how bad the situation is yet.&lt;/p&gt;

&lt;p&gt;For anything bigger, flat-rate. A homeowner staring at a $4,200 quote isn't thrilled, but at least they know what they're committing to. Quote them $160 an hour plus parts and they're running math in their head the whole job, second-guessing every minute you're on the clock.&lt;/p&gt;

&lt;p&gt;With flat-rate, the faster you work, the more you make. But flat-rate only works if you've done the math right. If you flat-rate a $4,800 job at $4,200, you're paying your customer to work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Speed beats price
&lt;/h2&gt;

&lt;p&gt;Here's the one that surprised us most in the data: the contractor who quotes within the hour wins more jobs than the one who quotes the lowest. A lot of customers call the first ones and never bother getting other quotes.&lt;/p&gt;

&lt;p&gt;When you send a typed Word doc the following day, you're losing work to the person who sends a photo-laden estimate and a "sign here" link before supper.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt;'s quoting flow around this. Price book set once, line items dropped onto a quote in under a minute from the field, customer approves and pays the deposit from their phone. The job shows up on the calendar. Actual hours and materials get tracked against the estimate.&lt;/p&gt;

&lt;p&gt;One flat monthly rate for the whole team. The software doesn't get more expensive just because you hired more staff.&lt;/p&gt;

&lt;p&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>product</category>
      <category>saas</category>
      <category>software</category>
      <category>startup</category>
    </item>
    <item>
      <title>Integrating payments into a contractor CRM: Stripe vs Square vs QuickBooks</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Tue, 30 Jun 2026 14:04:26 +0000</pubDate>
      <link>https://dev.to/tcarter/integrating-payments-into-a-contractor-crm-stripe-vs-square-vs-quickbooks-5316</link>
      <guid>https://dev.to/tcarter/integrating-payments-into-a-contractor-crm-stripe-vs-square-vs-quickbooks-5316</guid>
      <description>&lt;p&gt;We had to pick a payment processor for ToolbagCRM. That sounds simple until you actually look at the options. Stripe, Square, QuickBooks Payments, PayPal, four big players, all with different fee structures, different customer experiences, and different integration stories.&lt;/p&gt;

&lt;p&gt;Here's what we learned, both from evaluating them for our product and from watching how contractors actually use them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stripe
&lt;/h2&gt;

&lt;p&gt;Stripe is the developer-first processor. If your CRM, booking page, or accounting tool takes payments, there's a decent chance Stripe is running underneath. We ended up choosing it for ToolbagCRM, and here's why.&lt;/p&gt;

&lt;p&gt;The customer-facing experience is clean. A payment screen, a polite email receipt, ACH bank transfer support. On a big-ticket job, ACH is the difference between a few cents on the dollar and a few dollars total. The customer never downloads an app or logs into anything. They click a link, they pay, done.&lt;/p&gt;

&lt;p&gt;Where it falls short: Stripe isn't a counter-top tool. There's hardware called Stripe Terminal, but it isn't where the product shines. If most of your work gets paid at the kitchen counter with a tap, Square has the edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Square
&lt;/h2&gt;

&lt;p&gt;Square earned its name with that little white dongle. The in-person card-present rate is competitive, the hardware works, and you can be set up to take cards on a job site by tomorrow morning.&lt;/p&gt;

&lt;p&gt;Square also gives you invoicing, customer files, recurring billing, and a basic CRM. Sounds good. The problem: the CRM is shallow, the invoicing is generic, and once your trade has more than a few moving parts, you outgrow it inside a year.&lt;/p&gt;

&lt;p&gt;It's the best stopgap on this list. For a one-truck plumber doing residential drain calls, it's tough to beat. For anyone running a real crew, it's a stepping stone.&lt;/p&gt;

&lt;h2&gt;
  
  
  QuickBooks Payments
&lt;/h2&gt;

&lt;p&gt;The natural answer if your books are already in QuickBooks. Every charge books itself to the right account, every deposit shows up reconciled, and your accountant doesn't chase down what came from where.&lt;/p&gt;

&lt;p&gt;ACH is the strong point. Bank-to-bank charges are typically a flat fee rather than a percentage. On a $6,000 roof job, that's the difference between losing a hundred bucks to processing and losing a few dollars.&lt;/p&gt;

&lt;p&gt;Where it falls short: the customer-facing payment experience feels dated next to Stripe's. And if you don't use QuickBooks for bookkeeping, there's no reason to pick this one. It's a tax-and-accounting tool that happens to take cards.&lt;/p&gt;

&lt;h2&gt;
  
  
  PayPal
&lt;/h2&gt;

&lt;p&gt;PayPal is the one your customers already recognize. Half of them have an account. That recognition has real value, especially with older homeowners who trust PayPal more than typing a card into an unknown form.&lt;/p&gt;

&lt;p&gt;Two things to watch. The per-transaction fee tends to come in higher than the others once you stack invoicing fees, instant transfer fees, and chargeback costs. Second, PayPal's hold policies are stricter. A $9,000 invoice lands, the algorithm doesn't like it, and the money sits for days.&lt;/p&gt;

&lt;p&gt;For occasional online payments from a customer who insisted, fine. As your primary processor? It's the most expensive door of the four.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually matters
&lt;/h2&gt;

&lt;p&gt;Picking by headline fee is the wrong starting point. What decides whether you get paid faster is when and how you ask, not which logo is on the receipt. That said:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Speed to bank:&lt;/strong&gt; Square and Stripe offer next-day deposit. QuickBooks takes one to two business days. PayPal varies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ACH support:&lt;/strong&gt; On any job over a few thousand dollars, bank-to-bank transfer is where the savings live. Stripe and QuickBooks make it easy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Card-present vs card-not-present:&lt;/strong&gt; In-person taps cost less than emailed invoices across the board. Finish the job, ring it up before you leave.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer experience:&lt;/strong&gt; A link they tap once, no account required. Anything clunkier costs you a percentage of customers who won't finish.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest jump in days-to-paid never comes from switching processors. It comes from asking for the money on the spot.&lt;/p&gt;

&lt;p&gt;We chose Stripe for &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; because it gave us the cleanest integration between quotes, invoices, deposits, and recurring billing, all flowing through the same system the customer sees when they book online. ACH on the big jobs, cards on the spot, emailed links on everything in between.&lt;/p&gt;

&lt;p&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>fintech</category>
      <category>product</category>
      <category>saas</category>
    </item>
    <item>
      <title>Modeling seasonal cash flow in a SaaS product for trades businesses</title>
      <dc:creator>Tim Carter</dc:creator>
      <pubDate>Mon, 29 Jun 2026 14:03:41 +0000</pubDate>
      <link>https://dev.to/tcarter/modeling-seasonal-cash-flow-in-a-saas-product-for-trades-businesses-2ggi</link>
      <guid>https://dev.to/tcarter/modeling-seasonal-cash-flow-in-a-saas-product-for-trades-businesses-2ggi</guid>
      <description>&lt;p&gt;One of the first things we had to understand deeply when building ToolbagCRM was seasonality. Not just as a feature request, but as a fundamental constraint on how our users run their businesses.&lt;/p&gt;

&lt;p&gt;Lawn care goes quiet in December. Snow removal goes quiet in June. If your phone takes a season off but the bills don't, the cash you bank in July has to keep the lights on in November.&lt;/p&gt;

&lt;p&gt;This affected everything from how we built our billing system to what reports we show on the dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  The math that hurts
&lt;/h2&gt;

&lt;p&gt;A landscaper can pull in the bulk of a year's revenue between April and October. Seven months of cash to cover twelve months of expenses, plus their own paycheck, plus a tax bill in April that lands right as the season picks back up.&lt;/p&gt;

&lt;p&gt;Most seasonal owners know this on some level. Almost none plan for it.&lt;/p&gt;

&lt;p&gt;We learned this from our users. They'd come to us in October asking why their dashboard looked so different from July. The answer was obvious in hindsight, but nobody had shown them the pattern before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monthly burn is the number that matters
&lt;/h2&gt;

&lt;p&gt;You can't smooth a season you haven't measured. The key metric is monthly burn: what does it cost to keep the doors open every month, even in a month where you don't book a single job?&lt;/p&gt;

&lt;p&gt;Rent, insurance, vehicle payments, software, phone, your own draw. Add it up. Multiply by how many slow months you've got. That's the cash that has to be sitting in the bank before the season ends.&lt;/p&gt;

&lt;p&gt;Most seasonal owners can quote their best month down to the dollar. Almost none can quote their monthly burn. The slow months don't get planned for. They get survived.&lt;/p&gt;

&lt;p&gt;We built a burn rate indicator into ToolbagCRM's dashboard specifically for this. When you can see your fixed costs every time you open the app, the savings conversation gets real.&lt;/p&gt;

&lt;h2&gt;
  
  
  The cushion
&lt;/h2&gt;

&lt;p&gt;Every dollar that lands during the busy months has to do three things: pay the bills, fund your paycheck, and stash something aside. The third one is what most owners skip.&lt;/p&gt;

&lt;p&gt;Rule of thumb: put at least a quarter of busy-month revenue into a separate account. Don't keep it in your operating account. You'll spend it. Open a business savings, transfer the cash the day the deposit clears, and pretend it doesn't exist until December.&lt;/p&gt;

&lt;p&gt;The first season is the hardest. By year three, you'll wonder how you ever ran without it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue smoothing
&lt;/h2&gt;

&lt;p&gt;Saving is the boring part. Making the slow months less slow is the interesting part. We've seen our users do some clever things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monthly maintenance plans&lt;/strong&gt; that bill year-round. Lawn care companies bundle leaf cleanup, snow removal, and gutter clearing into one monthly charge. Cash hits in February whether or not you actually go out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adjacent services.&lt;/strong&gt; The HVAC tech who also does water heaters. The painter who pivots to interior work in winter. Not a whole new business. One extra service that fills the calendar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pre-pay discounts.&lt;/strong&gt; "Pay for the whole season in March, save 10%." Cash hits months before you do the work, and it locks the customer in for the year.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We made ToolbagCRM's recurring billing handle all of these. Set a monthly plan once. It charges every month without anyone remembering to send the invoice. Pre-pay packages run on a single link.&lt;/p&gt;

&lt;h2&gt;
  
  
  When it's already tight
&lt;/h2&gt;

&lt;p&gt;If you're reading this in November with the savings account empty, the playbook flips. First call is to your bank, and you make it now, before you're behind on payments. A line of credit set up while you're current is cheap. One set up while you're scrambling is expensive, if you can get it at all.&lt;/p&gt;

&lt;p&gt;The other lever is accounts receivable. Money customers already owe you, sitting on unpaid invoices. Deposits up front. Invoice before you leave the driveway. Automatic reminders on anything still open. ACH for the big jobs so the processor doesn't eat a chunk you can't afford to lose.&lt;/p&gt;

&lt;h2&gt;
  
  
  The software constraint
&lt;/h2&gt;

&lt;p&gt;Here's the thing that made this a software design problem for us: a CRM that costs more per truck as you grow is the opposite of what a seasonal trade needs. A flat rate is a fixed expense. Easy to plan around. Easy to budget for.&lt;/p&gt;

&lt;p&gt;That's why &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;ToolbagCRM&lt;/a&gt; charges one monthly rate, whether you've got two trucks running in the slow season or eight crews in the busy one.&lt;/p&gt;

&lt;p&gt;Seasonality isn't an edge case for us. It's a core design constraint.&lt;/p&gt;

&lt;p&gt;Originally published at &lt;a href="https://toolbagcrm.com" rel="noopener noreferrer"&gt;toolbagcrm.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>product</category>
      <category>saas</category>
      <category>software</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
