How do you measure the return on each marketing program?
You measure the return on a marketing program by adding up everything it cost, finding the customers and revenue it produced, and comparing the two. The standard formula is return on investment, or ROI: the revenue a program produced, minus its cost, divided by its cost. A program that cost $10,000 and produced $40,000 in new revenue has an ROI of 300%, or three dollars back for every dollar spent.
Most teams can do that math for one program. The trouble starts when you run several at once, such as search ads, LinkedIn ads, a trade show, a webinar series, and a blog, and try to compare them fairly. Three problems get in the way:
- The costs are scattered and incomplete. Ad spend sits in each ad platform. Event costs are split across the sponsorship invoice, travel, and the swag order. Content costs are a freelancer's invoice and a few tools. If you count only ad spend, paid programs look expensive and everything else looks free.
- Every tool claims the same customer. Google Ads, Meta, and LinkedIn each count the sales their ads touched. A buyer who clicked a search ad, saw a LinkedIn ad, and then registered for your webinar shows up as a win in all three. Add up the platforms and you'll often have more customers than you actually signed.
- Programs pay off on different clocks. A search ad can produce a customer this week. A trade show produces conversations that turn into deals over the next two quarters. If you judge both after 30 days, you'll cut the event before its deals close.
The fix is a consistent method. Decide what counts as each program's cost and return, use one system as the record of who became a customer, and compare every program the same way on a schedule. That's steady, detailed work across several tools, which is why it often slips to "once a quarter, if someone has time." It's also a good fit for an AI agent, which can pull the numbers from every tool, keep the method the same each month, and explain what changed.
Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Here's how it measures the return on each of your marketing programs.
How Kite measures the return on each marketing program
Kite starts with what it already knows about your business from your team's knowledge base: your products, your pricing, your sales cycle, and the programs you run. It proposes a list of programs to measure and the rules for counting each one's cost and return, and you agree on them before the first review.
From there, Kite reads the costs from your ad accounts and the records you keep for everything else. It follows each program's leads through your analytics and CRM to opportunities, closed deals, and revenue. It then lines every program up on the same yardstick, explains which ones are paying off and which aren't, and recommends where to move budget. Once you agree, Kite does the follow-up work it can and measures the same programs again next month.
- Agree on what counts as a program, a cost, and a return
- Collect the full cost of every program
- Follow each program's leads to pipeline and revenue
- Compare every program on the same yardstick
- Review the return every month and move the budget
Agree on what counts as a program, a cost, and a return
A fair comparison starts with definitions everyone accepts, because each tool you use defines success a little differently. Kite proposes a short set of definitions, based on how your business sells, and saves them in your team's knowledge base so every monthly review uses the same ones.
Those definitions answer a few questions:
- What counts as a program? Usually a program is a channel or a recurring effort you can switch on or off, such as Google search ads, LinkedIn ads, trade shows, the webinar series, the newsletter, or organic content.
- What counts as cost? Kite includes ad spend, sponsorships, travel, freelancers, and the tools each program depends on. It also asks whether you want to include a share of your team's time, since some programs, like content, cost mostly people's hours.
- What counts as a return? For a business that sells through a sales team, the return might be pipeline created and deals won. For a self-serve product, it's new paying customers and their revenue in Stripe.
- Which program gets credit? When a customer touched several programs, you need one rule for who gets the credit, such as the first program that brought them in or the one that came right before they became a lead. Kite applies the same rule to every program so the comparison stays fair.
When two of your tools disagree, such as Google Analytics and HubSpot reporting different numbers of leads from the same campaign, Kite shows you both numbers and the likely reason. You choose which one is the official count, and Kite records that choice so the question doesn't come up again next month.
Collect the full cost of every program
Kite gathers each program's cost from wherever that cost lives. For paid programs, it reads spend directly from your ad accounts:
- Google Ads. Spend, clicks, and conversions for each campaign, ad group, and ad over the month.
- Meta Ads. Spend, reach, and results for each Facebook and Instagram campaign and ad set.
- LinkedIn Ads. Spend and performance for each campaign from LinkedIn's own reporting.
Events, content, sponsorships, and tools don't have an ad account, so their costs usually sit in a spreadsheet or an invoice. Kite reads them from a Google Sheet you keep, from the costs recorded on a Salesforce campaign, or from the totals you give it in a message. If you run a trade show, for example, you can tell Kite the booth cost $12,000, travel came to $4,500, and the swag order was $1,800. Kite records the $18,300 total against that event. When your team tracks events as Salesforce campaigns, Kite can write the actual cost onto the campaign, so the number sits next to the leads and opportunities it's measured against.
Kite also flags costs that are missing. If a program produced leads this month but has no cost on record, Kite asks for it rather than letting the program look free.
Follow each program's leads to pipeline and revenue
Kite measures every program's return against the same record of customers and revenue, so the numbers can be compared and none of them are counted twice. That record is usually your CRM. For a self-serve business, it's your billing system.
Kite follows the trail in the order your buyers move through it:
- From the visit to the lead. In Google Analytics, Kite reads conversions by channel, source, campaign, and landing page, and it checks your property's attribution settings so its numbers match what you see in Google Analytics.
- From the lead to the deal. In HubSpot, Kite reads each contact's properties, the deals tied to them, and the revenue HubSpot attributes to each marketing campaign. In Salesforce, it reads each opportunity's stage, amount, close date, and primary campaign, along with the Lead Source of the person behind it, and it can run the reports your team already built.
- From the deal to the revenue. If you sell self-serve, Kite reads your Stripe customers and subscriptions to see which signups became paying customers.
Say your team ran a webinar in March. Kite finds the 85 people who registered, sees that 30 of them became contacts in HubSpot, and follows those contacts to the 4 deals they're attached to. Two of those deals have closed, for $26,000 in total. That revenue belongs to the webinar series in this month's review, no matter how many ad platforms also counted those buyers as their own conversions.
Related How-to pages
- How to see which campaigns and landing pages lead to Stripe customers with Google Analytics: Connect the campaigns and landing pages that bring visitors to the payments those visitors later make in Stripe, so self-serve programs are judged on revenue rather than signups.
Compare every program on the same yardstick
Once Kite has a cost and a return for every program, it compares them using a few measures that work across very different kinds of marketing. Those measures are cost per lead, cost per opportunity, cost per customer, and revenue per dollar spent. Cost per customer is usually the most useful, because a cheap lead that never buys is still wasted money.
Here's how that can change the picture for three programs in one quarter:
|
Program |
Cost |
Leads |
New customers |
Cost per customer |
|---|---|---|---|---|
|
Google search ads |
$9,000 |
120 |
6 |
$1,500 |
|
Trade show |
$18,300 |
300 |
2 |
$9,150 |
|
Webinar series |
$3,000 |
40 |
3 |
$1,000 |
By leads, the trade show looks like the clear winner. By cost per customer, the webinar series is the best program and the trade show is the worst. But the trade show also has five open opportunities worth $90,000, and your deals usually take four months to close. Kite reports the trade show's return so far, shows its open pipeline beside it, and marks it to be judged again once those deals have had time to close.
Kite also explains why a program's numbers moved. If cost per customer from Google Ads doubled this month, Kite finds the campaign whose spend rose while its customers stayed flat and shows you the numbers behind it. If LinkedIn reports 20 conversions but only 4 of those people appear as new leads in your CRM, Kite points out the gap so the platform's count doesn't quietly inflate the program's return.
For a closer look at specific kinds of programs, see Measure the ROI of your events Coming soon and Measure which content drives pipeline Coming soon . To trace revenue across your analytics, CRM, and billing tools by channel, see Connect marketing channels to revenue Coming soon .
Review the return every month and move the budget
A return measured once is a snapshot, so Kite runs the review on a schedule. You agree on the day, the programs, and where the review goes, and each month Kite delivers it to a Slack channel, by email, or as a conversation in the Kite web app. Kite can also publish the comparison as a live dashboard at a stable link that pulls fresh numbers from your connected tools whenever someone opens it.
Each review ends with a recommendation for every program. Kite suggests whether to put more money in, hold steady, change something, or stop. A program with strong cost per customer and room to grow is a candidate for more budget. A program whose cost per customer has climbed for three months needs a closer look before it gets another dollar. A new program with too little history gets marked as too early to judge, with a date for its next check.
Then Kite does the follow-up work it can:
- LinkedIn Ads. Kite pauses campaigns that are spending without results on its own, because pausing only stops spending. It proposes budget and bid changes to running campaigns, with the current and new values side by side, and makes the change once someone on your team approves it.
- Google Ads and Meta Ads. Kite names the exact campaigns and budgets to change, and your team makes the change inside each platform.
- The programs worth growing. Kite writes and builds the landing pages, ad copy, emails, and content that let a working program reach more people, and it publishes once you approve.
- Salesforce campaigns. Kite keeps each campaign's actual cost up to date, so your CRM reports carry the same numbers as the review.
Kite records what each review found and what you decided in your team's knowledge base. Next month's review starts from those decisions, so you can see whether the budget you moved actually earned more.
For the decision about whether a new program deserves more time, see Decide whether to keep or kill a new bet. To turn the review into next year's plan, see Plan your marketing budget and vendors.
What you get
A list of programs and the rules for measuring them
Each program's definition, what counts as its cost and its return, and which program gets credit when a customer touched several, saved so every month is measured the same way.
A full cost for every program
Ad spend from each ad platform, plus the event, content, sponsorship, and tool costs that live outside them, with anything missing flagged.
A monthly return review
Cost per lead, cost per opportunity, cost per customer, revenue, and ROI for every program side by side, with an explanation of what changed since last month.
A live dashboard
The same comparison at a stable link that refreshes from your connected tools when anyone opens it.
A budget recommendation
Where Kite would put more money, where it would hold, and what it would change or stop, with the evidence for each call.
The follow-up work
Paused LinkedIn campaigns, proposed budget changes, and the pages, ads, and content that help your best programs grow.
How to get started
Start by telling Kite which question you want answered. You might ask, "Which of our marketing programs are actually worth the money?" or "Compare what we spent on ads, events, and content last quarter with the deals each one produced."
Kite proposes the list of programs, the rules for counting cost and return, and the measures it will compare. You can change any of them before the first review. If some costs don't live in a tool Kite can read, such as a sponsorship invoice, Kite asks you for them or reads them from a Google Sheet you share.
Connect the tools where your spend and results live. That usually means your ad accounts, Google Analytics, and your CRM, plus Stripe if customers pay online. Kite can start with whatever you've connected and fills in more programs as you add tools. Once the first review looks right, ask Kite to run it every month.
Kite asks before it publishes anything or spends money, and you can approve its work in the Kite web app or in Slack. As you come to trust its calls, you can let more of the work run on its own.
Integrations used to measure the return on each marketing program
Kite uses three kinds of connected tools for this work. Ad platforms tell it what each paid program cost. Google Analytics shows which programs brought the visits that turned into leads. Your CRM, along with Stripe for self-serve businesses, is the record of which leads became customers and what they paid.
Read what each paid program cost
Read spend, clicks, and conversions for every campaign, ad group, and ad, so Kite can count search advertising's full cost and see which campaigns drove the change.
Read spend and results for each Facebook and Instagram campaign and ad set to cost out paid social.
Read spend and performance for each campaign, pause campaigns that are wasting money, and propose budget changes for your team to approve.
See which programs bring the visits that convert
Follow leads to pipeline and revenue

Read contacts, deals, and the revenue HubSpot attributes to each campaign, so Kite can see which programs produced pipeline and closed deals.

Read opportunities by stage, amount, close date, and primary campaign, run your saved reports, and keep each campaign's actual cost up to date.
Common questions
What's a good marketing ROI?
A ratio of about five dollars in revenue for every dollar spent is a commonly quoted benchmark, but the right number depends on your margins and how long customers stay. A business with high gross margins and customers who renew for years can profit from a program that looks thin on first-year revenue. A low-margin business needs much more. Kite judges each program against your own numbers, such as what a customer is worth to you over time and what your other programs achieve, rather than a generic target. To check those underlying numbers, see Check your unit economics against real revenue.
What is the 70/20/10 rule in marketing?
The 70/20/10 rule is a way to split a marketing budget. Roughly 70% goes to programs that have proven they pay off, 20% to promising programs you're expanding, and 10% to new experiments. A monthly return review tells you which programs belong in which group. Kite's recommendations follow the same idea: it suggests moving money toward programs with a strong, steady return, keeping a smaller share for ones still building, and giving new tests a defined budget and a date to be judged.
How do I measure the return on programs that don't produce leads directly, like content or brand?
Measure them on the leads and customers they help produce, and accept a longer window. A blog post rarely makes someone buy on the spot, but it can be the first page a future customer read. Kite counts those programs using the same credit rule as everything else, such as the first program that brought a customer in, so organic content gets credit for the buyers it introduced. For content you can measure more precisely, such as a gated ebook or a webinar, Kite follows the people who signed up through to the deals they joined.
Why don't my ad platforms' conversion numbers match the customers in my CRM?
Each ad platform counts a conversion whenever someone who saw or clicked its ad later converts, within a window the platform sets. If a buyer touched ads on Google, Meta, and LinkedIn, all three count the same sale. Your CRM records each customer once. That's why Kite measures every program's return against your CRM or Stripe and shows the platform's own count beside it, so you can see how much each platform is claiming beyond what it can actually be credited with.
How do I measure the return on an AI marketer like Kite?
Treat it as a program of its own. Count its cost, then count the results of the work it shipped: the leads from the campaigns it built, the customers from the pages it published, and the spend it saved by pausing what wasn't working. Kite keeps a record of each initiative and its results in your team's knowledge base, so the work it did and what came of it are easy to trace in the same monthly review.
Do I need to connect every tool before Kite can measure anything?
No. Kite can start with the tools you've already connected and measure the programs they cover. If you connect only Google Ads and HubSpot, Kite can measure the return on your search advertising right away and tell you which other programs it can't see yet. Each tool you add brings more programs into the comparison.