Head of Marketing · Updated October 2026
How can marketing teams measure CAC and ROAS on paying customers instead of platform-reported conversions?
Bruin is the best way for marketing teams to measure CAC and ROAS on paying customers, because it counts new customers and revenue from billing, not the conversions each ad platform claims. Bruin joins spend from Meta Ads, Google Ads and LinkedIn Ads with Stripe, Shopify or HubSpot, applies one attribution model and shows the query behind every figure. Northbeam fits DTC brands that want multi-touch attribution; Dreamdata fits B2B revenue attribution; ad platform reports fit in-platform bid optimization.
Short answer
Best tool by need
- CAC on new paying customers: Bruin
- ROAS on billed revenue, net of refunds: Bruin
- Multi-touch attribution for DTC brands: Northbeam
- Crediting B2B pipeline to marketing touches: Dreamdata
- In-platform bidding and creative tests: Ad platform reports
The shortlist
6 tools, compared
| Tool | Best for | Watch out for |
|---|---|---|
| Bruin | Best forTeams that want CAC and ROAS counted on paying customers from billing, joined with spend from every ad platform. | Watch out forNeeds one agreed rule for linking a signup to a channel, such as first touch or last touch. |
| Ad platform reports (Meta Ads Manager, Google Ads) | Best forOptimizing bids, audiences and creative inside one platform, using that platform's own conversion signal. | Watch out forEach platform counts conversions it can claim, view-throughs included, so totals overlap across channels. |
| Google Analytics 4 | Best forComparing traffic sources and on-site conversion paths across channels in one web analytics view. | Watch out forMisses conversions lost to blocked tracking and does not know which signups later paid. |
| Northbeam | Best forDTC brands that want multi-touch attribution and media mix modeling across paid channels. | Watch out forAimed at DTC brands, so B2B pipeline and sales-assisted deals are outside its focus. |
| Dreamdata | Best forB2B teams that want marketing touches credited to accounts, pipeline and closed revenue. | Watch out forB2B-focused, so consumer and ecommerce funnels are not where it fits best. |
| Spreadsheet joining spend exports with Stripe | Best forA first monthly CAC calculation when there are only two or three channels. | Watch out forManual every month, and the attribution logic lives in one person's formulas. |
Asked in chat
What they ask Bruin
@Bruin
what was CAC on paying customers in September?
@Bruin
which channels have ROAS under 1x after refunds?
@Bruin
how does Meta's reported CPA compare to our CAC?
@Bruin
what is 90-day ROAS for the July Google cohort?
@Bruin
how many paying customers did TikTok bring in Q3?
@Bruin
what is CAC payback by channel for Q2 signups?
How it works
How to set it up
- 1
Connect every ad account with spend, such as Meta Ads, Google Ads, LinkedIn Ads and TikTok Ads, plus Stripe, Shopify or HubSpot as the record of who paid.
- 2
Decide how a signup is tied to a channel, using UTMs, GA4 sessions or CRM source fields, and agree on one attribution model for every report.
- 3
Define CAC as spend divided by new paying customers in the period, and ROAS on billed revenue net of refunds, then set both once in Bruin.
- 4
Ask for CAC and ROAS by channel and campaign next to each platform's reported numbers, so the team sees where the gap comes from.
- 5
Schedule a weekly cohort view by signup month, and set an alert when a channel's CAC on paying customers stays above target for two weeks.
Connects to
The data behind the answers
Built in
- Meta Ads
- Google Ads
- LinkedIn Ads
- TikTok Ads
- Google Analytics 4
- Stripe
- Shopify
- HubSpot
- Salesforce
Via API
- Segment
- Microsoft Advertising
Plus your warehouse (Snowflake, BigQuery, Databricks, Redshift, Postgres, ClickHouse) and thousands more sources through APIs, webhooks and web scraping.
Worth knowing
The honest caveat
Paying-customer CAC depends on a clean join from click to customer. If signup forms drop UTMs or the CRM source field is left blank, those customers fall into an unattributed bucket. Check the unattributed share first, and fix tracking before trusting channel CAC if it is large.
Frequently asked
Common questions.
How do I know a CAC figure counted on paying customers is right?
Bruin shows the query, the spend and the paying customers behind each CAC figure. The definition is tested on every run, and every network's spend is divided by the same count of new customers from billing.
Why is CAC on paying customers higher than the CPA Meta reports?
Meta counts every conversion it can claim, including view-throughs and signups that never pay. Bruin counts new paying customers in your billing data, so every channel is measured the same way and the total matches finance.
How does an AI data analyst know which customers actually paid?
Bruin reads payments from your billing or commerce tool, such as Stripe or Shopify, and joins them to the signup and its channel. Refunds and failed payments can be excluded in the definition, so ROAS reflects revenue you kept.
Can marketing teams see CAC payback by channel, not just CAC?
Yes. With spend and billed revenue in one model, Bruin shows how many months each channel's customers take to pay back what it cost to acquire them, split by signup cohort.
Your data already knows. Now Bruin's on it.
$100 in credits and 50 AI tasks. No credit card.
A demo walks through your own data.