Missing is not zero.
When a source hasn’t synced, its value stays unknown and named. It never quietly becomes $0 in a total.
A form fill in an ad dashboard isn’t a lead until it lands in your CRM. weive credits the leads in HubSpot, across the touches recorded before each one.
Platforms count form fills. Your sales team counts people. weive credits the leads that actually exist in HubSpot, and shows the platform’s count beside it, never instead.
One demo request, four touches. Pick a rule and see how a single lead is shared across the campaigns that came before it.
Platform-reported leads, leads that reached HubSpot, and leads matched to a recorded touch are three different counts. weive shows all three, so you always know which one you are reading.
Read each channel’s spend beside the CRM leads it earned credit for. Cost per lead is calculated on real leads, under a rule you can name.
Some leads arrive with no recorded touch at all. weive counts and shows them as unattributed instead of handing them to whichever channel spent the most.
When a source hasn’t synced, its value stays unknown and named. It never quietly becomes $0 in a total.
Attribution shows how a rule shares credit across recorded touches. It never claims an ad caused the sale.
Two platforms can claim the same sale. weive credits the payment once, and keeps each claim visible beside it.
Google Ads, Meta, HubSpot, and Stripe connect in a few clicks. One snippet adds the pixel to your site.
Linear, first touch, last touch, last non-direct, time decay, or U-shaped. Switch whenever you like; the outcomes never change.
Every number carries its sources, its rule, and its coverage, so the next budget move starts from evidence.
HubSpot connects today, alongside Google Ads, Meta, and Stripe.
No. weive credits leads that exist in your CRM. What happens next, like a payment, can be read as a separate outcome.
No. Attribution shows how credit is shared across recorded touches. weive keeps that separate from causal lift, so credit is never presented as proof.