Marketing & Attribution

You know what you spent. Do you know what it sold?

Your Marketing Dashboard is where this lives. Every foundation repair owner can tell you what last month’s ad bill felt like. Which of those dollars turned into a signed job with a crew in the driveway? Oblyss closed revenue back to the source that produced it, so you stop guessing which half of the budget is working.
Cost per lead and true return on ad spend, by source, in one place.

ROAS by source · last 90 days

90 DAYS
Source Spend Closed rev ROAS
Google LSA $4,200 $61,800 14.7x
Meta $3,100 $18,400 5.9x
Home show $1,500 $22,000 14.6x
Angi $2,600 $3,900 1.5x

Illustrative figures. Revenue is closed job value, not form fills.

The number that lies to you

A cheap lead is not the same as a cheap job.

The lead vendor sends a monthly report full of green arrows. Two hundred leads, cost per lead is down, everybody nods. Then the season ends and the bank account does not match the story. What happened?

Cost per lead only counts the phone ringing. It says nothing about whether the caller wanted a real repair or a free opinion, whether the address was even in your territory, or whether the job ever got sold. A source can look brilliant on lead volume and quietly lose you money on every dollar once you follow it all the way to a signed contract.

The honest question is not “what did a lead cost.” It is “what did a paid job cost, and which source keeps producing them.” Answering that means connecting the ad click to the same job record where the estimate got signed and the deposit got collected. If those live in different tools, you are stitching it together by hand, or not at all.

What real attribution looks like

The lead comes in tagged with its source. It moves through your pipeline to a signed job. When that job closes, its revenue flows back to the source that started it. Now the report is not lead counts, it is dollars in versus dollars out, per channel, on the same record where the work actually happened.
Cost per lead and true ROAS

Log your spend once. Watch it meet the revenue.

Enter what you spend by source, and Oblyss does the part that usually never gets done: it matches that spend against the jobs those sources actually closed.

Spend in, closed revenue out

Record your monthly ad spend per lead source under Settings. Every lead already carries its source from the moment it lands, so the system can line up what you paid against what you sold. Cost per lead tells you the front of the funnel. Return on ad spend, tied to closed job revenue, tells you the part that pays the bills.

Leads land in that source-tagged system automatically, not by someone typing them in. The Lead Ingestion API, a Meta Lead Ads webhook, and a CallRail post-call webhook all feed straight into the same pipeline, so a form fill, a Facebook lead ad, or a phone call all arrive already tagged with where they came from.

CPL report · by source

Google LSA · 38 leads

$110 CPL

Meta · 51 leads

$61 CPL

Angi · 44 leads

$59 CPL 1.5x ROAS

Illustrative. Cheapest lead, worst return.

Send the win back to Google

A form fill is not a sale, and Google’s bidding cannot tell the difference unless you tell it. Oblyss captures the click identifier when a lead arrives, holds it on the record, and when that job closes, fires the real revenue back to Google Analytics 4. Your bidding learns from booked jobs instead of tire-kickers, and your reports finally agree with your bank.

GA4 conversion · revenue push

Live
Lead captured (gclid) Tagged
→
Job closed $14,200
→
Revenue sent to GA4 Delivered
Events that earn their booth fee

The home show either paid for itself or it did not. Now you can tell.

Trade shows, home shows, chamber mixers, the little league sponsorship: they all feel worth it in the moment and vanish from the math by the time the invoices clear. Put every event on the marketing calendar, tag the leads that came from it at booking, and the event ROI report tells you whether that weekend produced jobs or just foot traffic and free pens.

Next spring, when you decide which shows to book again, you are choosing from a record instead of a hunch. The one nobody expected to work gets the bigger booth. The one everyone loves but never sells gets cut.

Marketing events · ROI

Spring Home & Garden Show
$22,000 closed
Chamber expo
$0 closed · 6 leads
County fair sponsorship
$8,500 closed

Illustrative event attribution.

The tools most foundation shops do not have staff for

A marketing department built into the platform.

Most foundation repair companies do not employ a marketer. These pieces cover the work that would otherwise never get done, and every one of them writes back to the same job record so the attribution stays honest.

Review Engine

Request a Google review from the homeowner after the job is marked complete, while the lift is fresh and the yard is clean. More reviews feed the local ranking that produces the next free lead.

AI Copy Assistant

An AI writing tool already primed for foundation repair, for ads, follow-up emails, and website copy. It gets you a solid first draft in your trade's language instead of a blank page at 9pm.

Site Tags

Tag every form on your site, default or custom-named, and route submissions by ZIP or state straight to the right branch. Install by pasting HTML, through Google Tag Manager, WordPress, or Gravity Forms, whichever your site actually runs on. Each tag shows its own capture count, so you know which form is actually pulling leads.

NFRA Research

Foundation repair industry data and market reports available from inside the app, so the numbers behind a campaign or a territory decision are a click away, not a subscription you forgot to renew.

Call Tracking

Every call in gets tracked back to the ad, the page, or the campaign that drove it, powered by CallRail under the hood. A phone call closes as many foundation jobs as a form fill. Now it shows up in the same report.

Site Tags · captures
Homepage — Free Inspection Routes by ZIP · Nashville branch
142 captures
Crawlspace Landing Page Routes by state · TN, KY
58 captures
Google LSA Form Default routing
203 captures
Installed via Google Tag Manager, WordPress, Gravity Forms, or raw HTML.
Lead Signals

Some of your best leads are public record. You just have to be looking.

Foundation problems cluster by weather, soil, and building era. Oblyss watches public data sources for your service-area zip codes and tells your team the same day, so you can act before the competitor down the road does.

FEMA

Disaster declarations affecting the zip codes you serve.

NWS

Flood and drought warnings from the National Weather Service, the conditions that move foundations.

Permits

Structural and foundation permits filed nearby, pulled from Shovels and PermitStack.

Seasonal

Timing prompts for tax season, spring saturation, summer drought, and fall pre-winter prep.

A structural permit filed three doors down is a homeowner already spending money on their foundation. Read more about the connected job record that turns a signal into a booked inspection.

Direct Mail Engine

The best time to win the neighbors is the week your trucks are on their street.

From a job detail page, launch a postcard campaign to the homes around a site you just repaired. Addresses are pulled automatically, the copy is drafted for you, and the pieces are verified, printed, and mailed without leaving Oblyss. Target every home on the street, or blast a radius up to a mile.

Foundation trouble runs along the same soil and the same builder. When a crew’s trucks are parked out front for three days, the whole block is thinking about their own cracks. Reach them while it is on their mind.

Postcards carry a per-piece print and mail cost, shown before you confirm a campaign.

Neighbor campaign · from a job

Street neighbors pulled 38 homes
Copy drafted · editable Preview
Verified & mailed In transit
Job Heatmap

See where you have already won, and where the next job is waiting.

A density map of every foundation job you have completed, layered with permit activity in the same territory. Toggle your own jobs against structural permits from Shovels and PermitStack, filter by foundation type and time period, and let the map show you which neighborhoods keep producing work.

The hottest zip is not a guess anymore. It is where your money should go next, and where a competitor’s permit activity says demand is already there.

Job Heatmap · territory

Navy: your completed jobs
Orange zone: nearby activity
Red: permit activity

Illustrative.

Why it holds together

Attribution is only honest when the lead and the job live in the same place.

None of this works if marketing lives in one tool and the jobs live in another. The reason Oblyss can tell you a source’s true return is that the lead, the estimate, the signed contract, and the collected payment are all one record. Revenue does not have to be exported and matched by hand. It is already attached to where it came from.

That is also why the growth tools pull their weight. A review request fires because the job was marked complete. A postcard campaign launches from the job you just finished. A GA4 push carries the real closed value because the close happened right here. The reporting and business intelligence dashboards read from the same numbers, so the marketing story and the money story are finally the same story.

What owners stop doing

Exporting lead lists into a spreadsheet. Guessing which show to rebook. Paying for a source on volume while it quietly loses money per job. Trusting a vendor’s report instead of their own closed revenue. The busywork goes away, and the decisions get made on facts.

Straight answers for owners

Frequently asked questions

How is this different from the cost-per-lead report my lead vendor already sends?
A vendor report stops at the lead. Oblyss follows the lead all the way to a signed job and reports return on ad spend from closed job revenue, not form fills. A source can have a low cost per lead and still lose money once you count how many of those leads actually became paid work. That gap is exactly what this is built to show.
No. Leads carry their source from the moment they arrive, whether they come through the lead ingestion API, a call, a web form, or an event you created on the marketing calendar. You enter your ad spend by source once a month, and the system lines spend up against the jobs each source closed.
It captures the Google click identifier when a lead comes in and, when that lead becomes a closed job, sends the real revenue back to Google Analytics 4. Google’s Smart Bidding then optimizes toward the clicks that produce paid jobs instead of the ones that only produce form submissions. Your bidding gets to learn from your bank account.
Yes. Create the event on the marketing events calendar, attribute leads to it at booking, and the event ROI report shows the closed revenue that traces back to that event. Next season you rebook the shows that sold work and drop the ones that only drew a crowd.
You launch a campaign from a job detail page. Addresses around the site are pulled automatically, copy is drafted for you to edit, and the pieces are verified, printed, and mailed for you. Postcards carry a per-piece print and mail cost that is shown before you confirm the campaign, so there are no surprises.
Public data sources tied to your service-area zip codes: FEMA disaster declarations, National Weather Service flood and drought warnings, seasonal timing prompts, and building permit activity from Shovels and PermitStack. When a signal hits your territory, your team sees it the same day and can act before competitors do.
No, and that is the point. Most foundation repair companies do not have a marketing department. The Review Engine, the AI Copy Assistant, the events calendar, the direct mail, and the attribution reports are built for an owner or office manager to run in the time they already spend, without hiring for it.

Yes. The custom report builder lets you pick a dimension like lead source, week, or job tag, add up to four metrics, filter by date, and export to CSV. It sits alongside the full reporting suite, so a marketing view and a profitability view read from the same underlying jobs. See the reporting and business intelligence page for the wider dashboard set.

Stop paying for leads. Start paying for jobs.

Book a 30-minute demo and see your spend, your sources, and your closed revenue on one screen, tied to the same record where the work gets sold.