Most marketing teams stitch this view together manually every week from a half-dozen ad platform exports, a HubSpot dashboard, and a Stripe revenue export. The work takes hours, the numbers never quite reconcile, and the report is out of date the moment it’s built. A live source-attribution report inside Cometly makes that workflow disappear.
Building the report
In the Cometly Report Builder, choose Table as the report type, then group by Source. Add Spend as the first column, then walk down your funnel adding one column per meaningful stage — Leads, MQLs, Demos Booked, Demos Attended, Pipeline (SLG) or Trials Started and New Customers (PLG), and finally Revenue and ROAS.
For B2B SLG teams, the most-used columns are Cost per Lead, Cost per MQL, Cost per Demo, Cost per Customer, and Pipeline ROAS. For PLG teams, the must-have columns are Cost per Trial, Cost per Paying Customer, MRR, and LTV ROAS.
- Group by Source, sort by Revenue or Pipeline descending
- Filter to paid sources for clean CAC comparisons
- Add a 'previous period' delta column to spot week-over-week drift
- Use Last Non-Direct Touch as the default model
- Save it as a default tab on your team dashboard
Reading the report
Scan the report top-down, not left-to-right. The channels with the highest absolute pipeline or MRR are obvious; the more interesting question is which channels have the lowest cost-per-deeper-funnel-event. A channel with mediocre lead volume but excellent cost-per-customer is usually a hidden winner.
Click into any cell to see the underlying contacts, accounts, and full customer journeys. Cometly preserves the source attribution at the individual-contact level, so you can always drill from an aggregate number down to the specific people behind it.
What to watch for.
- Stopping the funnel at form fills
Cost-per-lead is a vanity metric in B2B. Always include at least one stage past the form fill (MQL or trial converted) before making budget decisions.
- Comparing paid and organic CAC head-to-head
Organic doesn’t have a real spend column, so its CAC will always look infinite or zero. Filter to paid-only for CAC comparisons.
- Letting direct traffic dominate the table
If 'Direct' is your top row, your pixel isn’t doing its job. Fix the direct-traffic problem (lesson 1.4) before trusting the report.
Recap.
- Group rows by Source for a channel-by-channel breakdown
- Add Spend, Leads, Cost-per-Lead, MQLs, Demos, Pipeline, Revenue, ROAS as columns
- Filter to paid sources only when comparing CAC across channels
- Add the previous-period comparison column to spot drift week over week
- Click any cell to drill into the contacts and customer journeys behind the number