Recover the conversions
your pixel never delivered
Every conversion is captured on your server, resolved to a single customer, and scored against 15 fraud signals before it reaches your ad platforms — so their bidding AI learns from real customers.
Trusted by teams across industries
One clean path from raw signal to spend-ready conversion
Every event moves through four stages before it reaches an ad platform — no data leaves without an identity, a fraud score, and a delivery receipt.
Capture
Events fire from your server, not the browser — invisible to blockers, ITP, and ATT.
Resolve
Scattered signals collapse into a single persistent customer identity.
Score
15 weighted signals rate traffic quality so fraud never poisons optimization.
Deliver
Clean conversions post to the Meta, Google, TikTok, and Reddit APIs.
Server-side capture that ad blockers can't touch
The browser pixel is the single most fragile link in your stack. Pivolio moves the conversion event to your server, so it fires whether or not the visitor blocks scripts, opts out of ATT, or clears cookies.
- Fires from your backend or edge — no client dependency
- Immune to ad blockers, Safari ITP, and iOS ATT
- Raw events stored in your account — full data ownership
Seven fragments, one customer
A single buyer scatters across email hashes, click IDs, devices, and sessions. Pivolio's identity graph stitches them into one persistent profile, so a repeat purchase is credited to the click that started it — not counted as a stranger.
- Deterministic matching on hashed first-party data
- Higher match rates lift Event Match Quality on every platform
- Full customer journey, not disconnected sessions
Fraud never reaches your optimizer
Bots, click farms, and datacenter traffic teach ad algorithms to chase junk. Pivolio scores every event against 15 weighted signals and holds low-quality conversions back before they distort your campaigns.
- 15 weighted signals, tuned per event type
- Transparent scoring — see exactly why an event was held
- Set the quality threshold that ships to each platform
Delivered to four Conversions APIs
Resolved, scored conversions post directly to the Meta, Google Ads, TikTok, and Reddit Conversions APIs — with hashing, deduplication, and automatic retries handled for you. Four destinations, one integration.
- Meta, Google Ads, TikTok, and Reddit CAPIs
- Automatic event deduplication and hashing
- Delivery receipts and retry logs for every event
Live in an afternoon, not a quarter
Drop the SDK into your backend, send your first event, and watch it flow through the debugger. No tag manager gymnastics, no data-layer archaeology.
$ npm i @pivolio/browser
import { init, track } from '@pivolio/browser'
init({ writeKey: 'wk_live_9f2a…' })
// delivered server-side — survives blockers
track('order_completed', {
properties: { revenue: 129.0, currency: 'USD' },
})Browser pixel vs. Pivolio
Made for marketers and the agencies who answer to them
Our ad dashboards and our order table never agreed, and we had quietly stopped trusting either one. Moving capture server-side closed the gap — what gets reported now matches what actually landed in the bank.
Tracking for a dozen clients used to mean a dozen brittle integrations that broke in a dozen different ways. Now it is one install per client, four destinations each, and a delivery log that tells me exactly what shipped.
Bot signups were training our campaigns to go find more bot signups. Scoring events before they reach the platform stopped that, and when something is held back we can see precisely which signal held it.
I stopped being able to answer the only question the board actually asks, which is what the last quarter of spend bought us. Having one number that survives the trip from click to invoice is the whole reason we switched.
Half our purchase events were being deduped away and nobody could tell me which half. Sending one server-side event with a stable ID meant the platform stopped guessing, and our reported ROAS dropped to something I actually believe.
Marketing kept asking for pixels and I kept saying no, because every one of them was a third-party script on the checkout page. One server-side integration got them their conversions and got me my performance budget back.
Every platform reported a different number of conversions and every one of them was confident. Being able to open a single delivery log and see what was sent, to whom, and what came back ended about a year of arguing.
Our match rates had been quietly sliding for two years and we had written it off as the cost of doing business. Hashing identifiers consistently before they leave our servers pulled them back up within a fortnight.
We sell on a ninety-day consideration cycle, so the click that starts a deal and the order that ends it were never the same session. Stitching those together is the first time we have seen which channels actually open pipeline.
Onboarding a new client used to be two weeks of tagging and a prayer. Now the install is one snippet and the destinations are checkboxes, so the interesting work starts on day one instead of week three.
I have run performance for long enough to be suspicious of any tool that makes the numbers go up. This one made them go down first, to something honest, and then gave me the levers to move them for real.
Identity resolution is the part everyone underestimates, ourselves included — we tried to build it twice. Getting a maintained identity graph instead of a pile of half-finished join logic was worth the migration on its own.
Stop paying for conversions you can't see.
Turn on server-side tracking, recover the events your pixel drops, and feed every ad platform clean, fraud-scored data.
