Use cases

Know which search filled the opening schedule, and which requests joined the weekly route.

Built for a pool service company that sells weekly service, openings, closings and repairs across a territory, whoever runs the marketing. TruLata reads your Google accounts, your Business Profile reviews, the requests from your own site's forms and, where you bill through it, Stripe, runs the watching and the drafting on a schedule whether anyone is at a desk, and shows you what each request became.

Illustration: a small pool of clear blue water with a skimmer net resting on its edge.

Is this built for a pool service company?

Yes. It is built for a pool service company that sells weekly service, openings, closings and repairs across a territory, and a company with several routes, a repair truck or a construction side that builds pools and replaces liners fits the same way. The marketing is often the owner's, done after the route is run, the chemicals are restocked and the parts for tomorrow's pump repair are ordered, and a company with an office manager or a marketer gets the same screen. Search, ads, content and the counting run on a schedule whether or not anyone had time this week, every request is counted from your own site, and one screen shows what happened and what it cost.

The year turns on two windows. In early spring the homeowner wants the cover off, the equipment started and the water clear before the first warm weekend, and the opening booked in March often becomes weekly service all summer and a closing in the fall. In September the same household wants the lines blown out, the pool winterized and the cover on before the first freeze. Between the two come the urgent requests: a pump that runs but will not prime, a heater that will not fire, a pool that turned green the week before a party. Each one starts with a search for the service and the town, the reviews on your Business Profile, and the question of whether you come to their street.

That last question is your margin. A stop on a street you already service costs minutes, and a stop across the county costs windshield time, so the request worth chasing is the one in a town on your route, and the Leads view carries the town on every row. The household that just bought a house with a pool, and has no idea who to call, is the one most worth answering first. Referrals from neighbors bring work, and the screen sits beside them: it counts the other half, the request that came through your own site's form and is now a row you can mark contacted, quoted, won or lost.

A stop across the county

  • Windshield time between every visit
  • More hours on the road for the same service

A stop on a street you already service

  • Minutes between visits
  • The town on every row of the Leads view, so you see it first

The year turns on two windows.

What does the screen read for a pool service company?

It reads the sources you already have. Google Analytics 4 gives sessions, where they came from, which pages were read and the key events you count as a request, hours behind during the day; for a pool company the pages that get read are the openings page in March and the closings page in August. Search Console gives the queries you appeared for, impressions, clicks and average position, two to three days behind; for a pool company those queries are the service and the town, the pool opening, the pool closing and the pool service near me search, and the positions are Search Console's own averages, not a rank tracker. Google Ads gives spend, conversions and cost per conversion by campaign, and a watch reads the account's change history every morning at 7:05 Eastern.

Google Business Profile gives reviews, rating and listing performance, and the reviews card sits on the search view, because a homeowner who is about to give a stranger the gate code reads the reviews first. Your website's forms feed a lead sheet: the form handler appends each submission server-side as it lands and emails your team, and the Leads view reads that sheet newest first. A closing with a safety cover, a pump that will not prime and a liner quote for next spring each land as a row with the time, the name, the contact, the service and the town, and the full message is one click away. Where your company runs on a CRM or booking platform, the Jobs view reads jobs and the job pipeline live, and shows a coming-soon card rather than a number until the data is trustworthy. Where you bill weekly service through Stripe, the Revenue view reads payments, subscriptions and recent charges live, read only; card data stays with Stripe.

What appears is one screen for your company, at your own address on our domain, behind a sign-in. It loads last night's snapshot the moment you open it, pulls live numbers behind the request when that snapshot is older than five minutes, and stamps the header with how old the data is. The Refresh button starts a full pull and never shows an error. On each request you set what it became: contacted, quoted, won, lost, or not a lead with the reason, so the opening that turned into a season of weekly service sits next to the green-pool call from a town two routes away, on the same screen.

TruLata Overview for a fictional pool service company, Harborlight Pool Service: service requests, cost per request, closings booked and review rating across the top, a funnel from site visitors to weekly clients for next season, revenue by channel, and a card for each workstream.
A pool service company's TruLata dashboard, filled in with example data for a fictional company, Harborlight Pool Service.

What runs while my techs are on the route, and what waits for a person?

Your Google Ads search campaigns are managed for you on all tiers, and the account is watched every morning. At 7:05 Eastern the ads change watch reads your account's change history and its user list, sorts our own writes and routine noise from material changes made by anyone else, and raises the material ones the same morning, including the recommendations Google applies on its own. A budget or bid change is made within the limits set for your engagement and lands in your account's own change history, so the push on openings in March and the push on closings in August each have a decision behind them, and a move Google's automation makes on its own is raised the next morning.

On Launch, Growth and Command, the content engine researches and drafts on your cadence, and a pool company's topics are the questions a homeowner asks before calling: when to book an opening, what a closing includes, why a pool turns green after a heavy rain, whether a variable-speed pump is worth the change. Each topic passes a demand gate on real search volume and what already occupies the result page, the research cites current sources, the dedupe reads the titles already published on your site, and each piece is filed as a Google Doc in your Drive with a featured image. Auto-publish is a per-client setting and approval is optional. On Growth and Command, Meta ads are managed alongside search, and the Creative view appears where we run paid social.

On Command, the outbound engine sources prospects weekly to the target profile set with you, and for a pool company that profile is the pool someone else owns: homeowner associations and apartment communities with a pool, hotels, swim clubs and the property managers behind them. It finds a deliverable address or routes the prospect to a contact-form path and drafts into a review-first queue; a person releases each send, or the queue releases on the schedule set for the engagement, and every send is logged with the draft, the mailbox and the time. Replies are classified and shown, and not-interested and bounced addresses are suppressed from further sends.

Every day at 7:20 Eastern, on an instance whose forms feed the sheet, the lead watch runs five checks across the sheet, GA4 and Ads, so a dead tag, a blind ad account or a request form that stopped submitting is flagged the next day rather than after the opening season is gone. Every night at 12:01 Central a fallback snapshot is baked, and a failed pull leaves the previous page up. What stays with a person is the judgement: the limits on spend, and anything that answers a homeowner or a property manager. From the screen you can set a lead outcome, request a website change, and request a content, keyword, category or targeting change; each one reaches your team as a logged ticket, and the engine's writes to your ad accounts and your site go through their APIs and land in each account's own change history.

A pool season, on a schedule

  1. The openings pushA budget move within your limits, in your account's own change history
  2. The closings pushThe same limits, the same record
  3. Ads change watchA move Google's automation makes on its own is raised the next morning
  4. Lead watchFive checks across your form sheet, GA4 and Ads
  5. Prospect sourcingAssociations, apartment communities, hotels and swim clubs, on Command
Illustration: a pool pump and filter on an equipment pad beside a folded winter cover and a pool brush.

What stays with a person is the judgement.

Can I see it before I sign anything?

Yes, with your name and email in front of it. The demo is the same engine code every client runs, pointed at a fictional company called Meridian so it can be public. Every number is invented, and the screen says so. Open the Leads view, the Google Ads view and the search view and you are looking at the screen a pool service company gets, with your sources in place of Meridian's.

Then picture it on your own company. You sell pool service across a territory, whoever runs the marketing, whether that is one truck and one route or four routes and a crew that builds. That is the company this page, the setup and the tiers are written for; if you want the work done as a service rather than run as a system, the services side is the other door. Part of it runs on your own numbers during setup: the first pull, the answer-engine baseline and the ads watch run on your accounts in the first two weeks, before most of the engines are switched on. Start over the winter and the watch is on your account before the opening requests arrive.

One thing about the search view is worth knowing before you open it. Ranking is not earning, so the view puts the requests your own forms took beside the queries and positions that earned them. A position there is Search Console's average for that query, not a rank tracker's guess. A page that climbed for a pool opening search and a page that filled the weekly route are told apart on the same screen.

The Leads view for a fictional pool service company: a Service requests table, newest first, with a pool closing in Huntington, a pump repair in Commack, weekly service in Northport, a liner replacement in Massapequa and a green pool cleanup in Smithtown.
The Leads view for a pool company: every request from the site, newest first, with the town on every row. Example data, fictional company.

Which tier fits a pool service company?

Starter includes the TruLata dashboard, full analytics, leads, search visibility, the AI visibility program, managed Google Ads search, the assistant and briefings and support tickets. The content engine is on Launch, Growth and Command. Meta ads are on Growth and Command. The outbound engine, for a company that wants association, apartment and hotel pools beside the backyard ones, is on Command. Command adds the outbound engine, ad creatives and your full marketing team, always on.

Seats are three on Starter, three on Launch, ten on Growth and unlimited on Command. Starter is $400 a month, Launch $650, Growth $1,200, and Command is scoped per engagement. Every tier is month to month with nothing metered, and committing annually takes twenty to twenty-five percent off the monthly. The pricing page carries the same figures as every other page.

Month to monthevery tier, with nothing metered
20 to 25%off the monthly with an annual commitment

Can your team run it for me?

Yes, through two doors. Managed TruLata is our team running the program on your accounts, with the strategy, the optimization and the approvals on our side, and every change we make lands in your account's own change history, which the same 7:05 Eastern watch reads and sorts as ours. Local services marketing is TruLata's agency work for the same buyer, with search and paid search with a daily account watch among it. Either way your evenings go back to the route.

Illustration: a winding route of map pins linking three small backyard pools.
The spec

What a pool company's screen reads, and how fresh it is.

WhatWhere it comes fromHow fresh
Opening, closing, service and repair requestsYour site's forms, appended to a lead sheet server-side; the Leads view reads it newest firstLive
Jobs and job pipelineYour CRM or booking platform, where the company runs on itLive; a coming-soon card until the data is trustworthy
Weekly service payments, subscriptions, recent chargesStripe, where you bill through it; read onlyLive
Reviews, rating, listing performanceGoogle Business Profile, with our Google account as a manager you can revokeRefreshed with each pull; the header stamp says when
Spend, conversions, cost per conversionGoogle Ads, by campaignIntraday lags hours; change history read daily at 7:05am ET
Queries, impressions, clicks, average positionSearch Console; its own average positions, not a rank tracker2 to 3 days behind
Sessions, sources, pages, key eventsGoogle Analytics 4Hours behind intraday
Opening season, stated honestly

In the weeks the opening schedule fills, the requests from your forms are live on the screen, the Google Ads numbers still run hours behind, and Search Console runs two to three days behind. The header stamp says when each pull ran, the Refresh button forces a new one and never shows an error, and a failed pull leaves the previous page up rather than a blank one.

FAQ

Questions, answered.

Do you count phone calls?

When your CRM or booking platform records the call as a lead, and a call-tracking platform you already run connects during setup like any other source with an API. The requests the screen counts are submissions from your own site's forms, written to a sheet server-side as they land and read newest first.

Can I see which towns the requests come from?

Yes. Each row in the Leads view carries the town, the service asked about and the full message, and the view can be filtered by town, so a cluster of closing requests on a route you already run stands out from a green-pool call across the county. You set what each one became on the same row.

Can I tell an opening from a client who stays on weekly service?

You mark what each request became: contacted, quoted, won, lost, or not a lead with the reason. Whether the household stayed on the route all summer is your booking platform's record, and where you run on one the Jobs view reads the job pipeline live. Where you bill weekly service through Stripe, the Revenue view shows subscriptions and recent charges beside it.

What happens over the winter if nobody opens it?

The scheduled work keeps running: the ads change watch at 7:05am Eastern, the lead watch at 7:20am Eastern on an instance whose forms feed the sheet, the content engine on its cadence on Launch, Growth and Command, and the fallback snapshot at 12:01am Central. When you open the page in March it loads the latest snapshot and pulls live numbers behind it.

What does it cost for a pool service company?

Starter is $400 a month, Launch $650, Growth $1,200, and Command is scoped per engagement. Seats are three on Starter, three on Launch, ten on Growth and unlimited on Command. Every tier is month to month with nothing metered, and a managed strategy retainer sits on top of any tier, scoped with you rather than priced on this site; <a href="/product/managed">the managed page</a> says what our team takes on.

Does it work if we also build pools?

Yes. One version serves every pool company, and the views that appear are decided by what is connected, not by whether you build. A build or liner replacement request lands in the Leads view like any other, with the full message, and where your construction jobs run through your CRM or booking platform, the Jobs view reads them with the rest of the pipeline.

Now a product

The engine behind this is now a product.

Run this work inside TruLata and watch your own numbers move.

See the contractor engine

See it running
before you decide.

The demo is the real product on a fictional company, with your name and email in front of it. Pricing is three published tiers.

Open the live demo See pricing

New here? See what TruLata is. Prefer to write? Send us the one thing you want to know.

Start here: AI marketing platform · AI marketing software · all-in-one marketing platform · marketing automation software · marketing software for small business.

  • Refreshed when you open itLive data on page load, never a monthly PDF
  • Counted from your own formsLeads recorded server-side, compared daily with Ads and GA4
  • Seen in AI answersHow often ChatGPT, Gemini, Claude and Grok name you, measured
  • Every send loggedProspect emails leave from a review-first queue, and every send is logged.