How it works
Four moving parts.

01 · Counting

Every visit counts. Nobody gets tracked.
One line goes on your site and the counting starts. It counts every visit, including the ones ad blockers hide from other tools, and it never follows anyone.
- No cookie, no banner. Nothing is put on the visitor’s device, so there is nothing to ask consent for.
- No profile of anyone. A visit is a visit. Nobody is recognised when they come back.
- Nothing to maintain. The line goes in once and stays in. No tag manager, no consent tool, nothing to keep working.
- One DNS record
metrics.pearmetrics.com A 203.0.113.10- One script tag
<script defer src="https://metrics.pearmetrics.com/p.js" data-site="b6c9e2a1"></script>
02 · Credit

Every visit knows where it came from.
An ad, a search, an email, a typed address. Each visit is credited to the one that brought it, so every campaign gets the traffic it earned and no more.
One source per visit.
A visit that came from an ad counts for the ad. A visit next week that came from a search counts for the search. Simple, and it holds up in a board meeting.
Credit comes from the link, not the person.
The source is read from the link the visitor clicked. No profile is built to work it out, which is what keeps the count honest and the privacy promise whole.
03 · Spend
What each campaign cost, every morning.
Your ad accounts come in too. Every morning, what each campaign spent and how many clicks it bought, from Google Ads and Meta, on one set of days in one currency.
Ad platforms revise their own figures for a few days after the fact. The morning read picks up the corrections, so the numbers settle rather than drift.
Figures shown are illustrative.
Two things that are handled for you.
Timezone
Same day on both sides.
Your visits and your spend are lined up on the same calendar day, and you are told if an ad account is running on a different clock from your site.
Currency
One currency, no guessed rates.
Everything on a site reports in one currency. If an ad account does not match, you hear about it rather than getting a converted number nobody checked.
04 · The match

Spend meets visits, campaign by campaign.
Each campaign's cost sits next to the visits and conversions it produced. Cost per result, across both platforms, on one line, with no export and no spreadsheet.
When something is off, the product says so. A campaign spending money with no visits to show for it, traffic that looks paid with no campaign to belong to, or visits filed under nothing: each gets its own line rather than being lost in an average.
Money
Spend with nothing to show for it.
Usually a campaign whose ads went live without their tracking links, or one that launched this morning.
Traffic
Paid traffic with no campaign.
Usually a link with a typo in it, or an ad account that has not been connected yet.
Naming
Visits filed nowhere.
Counted in the total, but in no channel. Almost always a typo, and invisible everywhere else.
Click IDs are stripped at ingest and never stored, so tagging is load-bearing: an untagged campaign lands as direct traffic with unmatched spend.
Some spend is missing its pair.
Usually a tagging gap. $412.80 (2.6% of total spend) has no mapped UTM triple. Here is where.
- Performance Max - Q3 Test (Google Ads · 284-991-0043)$268.40
- Advantage+ Catalogue (Meta · act_1099238471)$144.40
Unmatched paid sessions
414 paid-looking sessions have no spend mapped to them. Usually a mapping gap, or a typo in a tagging template.
- facebook / paid_social / summer-promo318
- google / cpc / (not set)96
Unclassified traffic
Source and medium combinations matching no channel rule. Almost always a typo, and invisible everywhere else.
- newsletter / e-mail611
- facebook / Paid_Social204
Figures shown are illustrative.
Conversions
Count what matters to you.
Signups, orders, forms sent. Mark one as a conversion and every campaign shows its cost per conversion. Shopify orders are covered out of the box.
Four parts.
About ten minutes.
