HubSpot
Closed-loop reporting: which ads become RealGreen revenue
By Marketing 180 Team · August 12, 2025 · 6 min read
How do you tell which ads actually become RealGreen revenue? With closed-loop reporting: every marketing dollar traced to a sold program, not to a form fill. It takes exactly two data moves, and we will walk you through both: capture the source when the lead arrives, and bring the sold program value back from RealGreen onto that same record through the sync. Companies that do both stop arguing about marketing in adjectives and start reading it in dollars. Companies that do neither keep funding whichever channel produces the cheapest lead, which in our experience is very often the channel producing the worst customers. Here is the wiring, what most companies get wrong, and where attribution honestly stays fuzzy no matter what you buy.
Why do the ad platforms' own reports mislead you?
Ad platforms report cost per lead, and cost per lead rewards junk. A worked example, illustrative throughout: you spend $6,200 a month across Google Ads and LSA. Ads delivers leads at $42; LSA at $68. The platform dashboard says Ads is winning. But sync the sold outcomes back and the picture inverts: Ads leads close at 18 percent, so a sold program costs $233; LSA leads close at 41 percent, so a sold program costs $166. Same spend, opposite conclusion, and only the closed-loop number is real. We walked the channel-level version of this in LSA versus Google Ads, and current market context for lead costs is in the lead cost benchmarks. Without the loop, you would have shifted budget exactly backwards.
How do you capture the source on the way in?
HubSpot stamps every new contact with original source automatically for anything that touches your website: organic, paid, social, direct. Make it trustworthy with three additions. Hidden form fields that carry UTM parameters and click IDs into contact properties, so "paid search" becomes "this campaign, this keyword theme." Call tracking, because in this trade half your leads phone first, and an untracked call becomes a "direct" contact that steals credit from the ad that produced it; that is the job of call tracking. And a manual source field for the channels software can't see: door hangers, truck signage, a neighbor referral. The same discipline has to continue inside RealGreen source codes when the office creates the account; we covered that half in the lead source tracking post.
How does sold revenue get back from RealGreen?
The return path is the nightly sync writing outcomes onto the HubSpot record: customer created, program sold, annual program value, active or canceled status. How rich that picture gets depends on tier: on most plans the sync flattens these facts into contact properties, which is enough to close the loop, while HubSpot Enterprise adds custom objects, so programs and invoices arrive as their own associated records and revenue reporting can slice by program instead of by contact. Now the contact that arrived as "Google Ads, April 12" also says "$612 program, sold April 15, still active." Two rules keep this half honest. First, lifecycle stages must move automatically from synced status, not by hand; a contact marked customer who never bought poisons every report downstream, which is why the lifecycle mapping matters more than it looks. Second, report on program value, not one-time ticket, because a $69 first application that becomes a six-application program is a $600 outcome and your bidding decisions should know that.
Spot-check the loop before you trust it. Pull ten customers sold last month in RealGreen and confirm each one's HubSpot record shows the right source, the right sold date, and the right program value. If three of the ten are wrong, fix the sync mapping before building a single dashboard, because a beautiful report on bad joins is worse than no report: it gets believed.
What should the owner actually look at?
Three reports, monthly, fifteen minutes:
- Cost per sold program by channel: spend divided by synced sold customers. The only acquisition number that deserves budget authority.
- Revenue by original source, season to date: which channels built the book you are actually servicing.
- The funnel by month: leads, quotes, sold, with conversion between each. When close rate sags, the problem is sales speed, not the ad.
Resist dashboard sprawl. Ten widgets get glanced at; three get acted on. If you run distinct pushes, spring launch, aeration, prepay, group their assets under HubSpot campaigns so spend, contacts, and synced revenue roll up per campaign rather than per channel; that is the view that tells you the postcard-plus-email combination worked even though neither channel looks impressive alone. And date-stamp your reading: compare this April to last April, not to March, because everything in this trade is seasonal and month-over-month comparisons mostly measure the weather.
Where does attribution stay fuzzy no matter what?
Honesty section. Some revenue will never attribute cleanly: the customer who saw your trucks for two years and finally called, the referral who typed your name directly, the halo from a neighborhood mail drop that shows up as "organic." Expect 20 to 30 percent of sold revenue in sources that undercount somebody. Do not chase it with multi-touch attribution models; at lawn-care volumes they add complexity without changing a single budget decision. The practical posture: get first-touch clean, sync revenue faithfully, read trends rather than decimals, and treat "direct" growth as partial credit to your brand-building channels rather than a mystery.
Do you need HubSpot to close the loop?
No. HubSpot is a fine place for this if you are already running marketing there, and everything above is buildable with attribution reporting on the Professional tier plus a competent sync. But the loop is the point, not the logo. We can connect RealGreen to pretty much any reporting or BI destination that has an API, a Zapier connection, or a native connection, and the same source-capture and revenue-return pattern is what our reporting product ships out of the box for companies that do not want to build it. Either way, the standard is identical: no channel gets next year's budget on lead counts alone.
The takeaway: form fills are a rumor; sold programs are a fact. Capture the source when the lead lands, let the sync carry the revenue back, and every marketing argument in your company gets shorter, because somebody can just look.
Close the loop this month
- Add hidden UTM fields to every form and confirm original source is populating on new contacts.
- Put tracked numbers on your ads and site so phone leads stop reporting as "direct."
- Verify the sync writes sold status and program value back onto contacts, and spot-check ten records.
- Build the three reports above and calendar fifteen minutes a month to read them.
- Reallocate one channel's budget based on cost per sold program, and watch the next 60 days prove the loop.
Keep reading
Ready to turn it around?
Get a free marketing snapshot. We'll show you exactly where you stand and what it would take to win.