Use cases

See each request from your forms on one screen, the day it lands.

Built for a roofing company that sells across a territory, whoever runs the marketing. TruLata reads your Google accounts, your Business Profile reviews and the requests from your own site's forms, 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 house with a freshly shingled roof and a ladder, and three envelope-shaped request cards flying from it into a floating smartphone glowing with a notification badge.

Is this built for a roofing company?

Yes. TruLata is built for a roofing company that sells across a territory, and a company with several crews or several branches fits the same way. The marketing is often yours, done from the truck between quoting the roof and running the crew, and a company with a marketer on staff gets the same screen. The search, the ads, the 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 homeowner chooses before you know they exist. A leak after a storm, shingles in the yard, an adjuster's scope with a date on it: they search, they read the reviews on your Business Profile, they compare you with the roofer listed next to you, and they submit a form or they move on. A storm-season lead that comes through a marketplace is a shared lead, the same homeowner sold to several roofers at once, and you are bidding against every one of them from the first call. A request from your own site's form is yours alone, and it is the kind the Leads view counts. The comparison with bought leads is on mechanism, not on a price we would have to invent.

Insurance work makes the timing tighter still. A claim comes with an adjuster, a scope and a deadline, and the homeowner who has to pick a contractor this week will not wait for Monday. So the screen puts each request in front of you the day it lands, with the page it came from one click away, and asks you one question when you are done with it: what did it become.

A marketplace storm lead

  • The same homeowner, sold to several roofers at once
  • You bid against every one of them from the first call

A request from your own site

  • Yours alone
  • Counted in your Leads view the day it lands
  • The page it came from, one click away
Illustration: A small house with a pitched roof, a floating smartphone showing a map pin and five small star shapes, and a trail of glowing dots leading from the phone to the house.

The homeowner chooses before you know they exist.

What does the screen read for a roofing company?

It reads six 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. Search Console gives the queries you appeared for, impressions, clicks and average position, two to three days behind; the positions on the search view 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 that is the page a homeowner reads before deciding you are worth a form. 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. Where your business 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.

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 instant 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. The outcome stays on the row and the count line says how many were marked not a lead, so signed work sits next to raw submissions on the same screen.

TruLata Overview for a fictional roofer, Ridgeview Roofing: roof requests, cost per request, inspections booked and review rating across the top, a funnel from site visitors to roofs signed, revenue by channel, and a card for each workstream marked Running.
A roofer's TruLata dashboard, filled in with example data for a fictional company, Ridgeview Roofing.

What runs while my crews are on roofs, and what waits for a person?

Your Google Ads account is watched every morning, and where we manage your search campaigns a budget or bid change is made within the limits set for your engagement and lands in your account's own change history. 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. That includes the recommendations Google applies on its own. A setting switched on under any login in your account, or a new address given access to it, reaches the team the next morning rather than at the end of the month. In a storm month, that is what keeps your surge budget pointed where you put it.

On Launch, Growth and Command, the content engine researches and drafts on your cadence. 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, finds a deliverable address for each one or routes it 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.

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: the tracking tag still loads, requests with no GA4 form event, paid requests with no Ads conversion, a campaign that was spending and has gone to zero, and organic traffic with no requests at all. So a dead tag, a blind ad account or a form that stopped submitting is flagged the next day rather than at the end of the quarter. Every night at 12:01 Central a fallback snapshot is baked, and a failed pull leaves the previous page up rather than an empty one.

What stays with a person is the judgement: the limits on spend, and anything that answers a homeowner. A budget or bid change in your ad account is made within the limits set for your engagement and lands in your account's own change history. A content piece with auto-publish off waits as a draft until someone approves it. From the screen you can set a lead outcome, request a website change, and request a content, keyword, category or targeting change; each lands with the team and is logged, and a request from the screen goes to your team as a logged ticket; 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 phone call counts when your CRM records it, and a call-tracking platform you already run connects during setup like any other source with an API; your inbox and calendar connect where your engagement calls for it.

While the crews are on roofs

  1. Ads change watchReads your account's change history and raises material changes the same morning
  2. Lead watchFive checks across your form sheet, GA4 and Ads
  3. Content draftsResearched and filed in your Drive, on Launch, Growth and Command
  4. Prospect sourcingOn Command
  5. Fallback snapshotBaked nightly, so a failed pull never leaves an empty page

In a storm month, that is what keeps your surge budget pointed where you put it.

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 roofing company gets, with your sources in place of Meridian's.

Then picture it on your own company; that part is yours. You sell roofing across a territory, whoever runs the marketing. That is the roofing company this page, the setup and the tiers are written for, and one with several branches fits the same way; 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 can also run 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.

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. That is what the screen holds the work to: what each request became, not where a keyword sat.

The Leads view for a fictional roofer: a Roof requests table with a hail damage inspection in Littleton, a full replacement quote in Arvada, a leak repair in Lakewood and an insurance claim in Aurora, newest first.
The Leads view for a roofer: every request from the site, newest first. Example data, fictional company.

Which tier fits a roofing 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 is on Command. Command adds the outbound engine, social media management 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 percent off the monthly. The pricing page carries the same figures as every other page.

By tier
Content engineLaunch, Growth and Command
Meta adsGrowth and Command
Outbound engineCommand
Seatsthree on Starter, three on Launch, ten on Growth and unlimited on Command

Want it run for you?

You have two doors. Managed TruLata is our team running the program on your accounts, 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, search and paid search with a daily account watch among it.

Illustration: A glossy pickup truck carrying a ladder and a stack of roof shingles, with a small gear and a check-mark badge floating above it.
The spec

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

WhatWhere it comes fromHow fresh
Roof 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 business runs on itLive; a coming-soon card until the data is trustworthy
Reviews, rating, listing performanceGoogle Business Profile, with our Google account as a manager you can revokeRefreshed on its own schedule, separate from the Ads and GA4 lag
Spend, conversions, cost per conversionGoogle Ads, by campaignIntraday lags hours; change history read daily at 7:05am ET
Sessions, sources, pages, key eventsGoogle Analytics 4Hours behind intraday
Queries, impressions, clicks, average positionSearch Console; its own average positions, not a rank tracker2 to 3 days behind
The page itselfSnapshot on open, live pull behind it when older than 5 minutes, nightly bake at 12:01am CTHeader stamp says when the data was pulled
Storm week, stated honestly

In a storm week the requests from your forms are live, 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 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 campaign a storm-season request came from?

The page it came from is one click into the request, and the sheet behind it records the source and, where the form captures them, the traffic source, the landing page, the referrer and any UTM or gclid for each submission. You set what the request became on the same row. Google Ads shows conversions and cost per conversion by campaign, hours behind during the day, and GA4 shows sessions by source on the same lag.

Will anyone change my ad budget without me knowing?

A budget or bid change is made within the limits set for your engagement, and every change in the account lands in Google's own change history, which the watch reads at 7:05 Eastern every morning and sorts by who made it. Recommendations Google applies on its own are raised the same morning. Who has access to the account is read directly every day, because change events do not log it.

Do I need someone in the office to run it?

Watching, counting and drafting run on a schedule whether anyone is at a desk, and on Command prospect sourcing does too. What is left for a person is reading what is waiting, approving drafts where auto-publish is off, setting what each request became, and sending requests from the screen. Where you want that judged work done for you, managed TruLata puts it on our team.

What does it cost for a roofing 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 replace the leads I buy?

It counts a different kind of lead. A marketplace lead is a shared lead, the same homeowner sold to several roofers at once. The leads on the screen are submissions from your own forms; a bought lead shows on the Jobs view where your CRM records it. Whether you keep buying is your call; the comparison on the buying leads page is on mechanism, not on a marketplace price we would have to invent.

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 how it would run
for your business.

15 minutes with TruLata. We show you what your marketing brings in, what each lead costs, and what we would change first.

Book a demo or start a 7-day free trial

No card. It ends on its own after 7 days unless you add one. See pricing.

Just need a website? Build it free.

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.