Server-side tracking, live in an afternoon

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.

Tracks 8 platforms
+3
Live event debuggerstreaming · 42 evt/s
EventPlatformStatus
PurchaseMetaDelivered
AddToCartGoogleDelivered
LeadTikTokQueued
InitiateCheckoutMetaFlagged

Trusted by teams across industries

AirbnbDropboxFigmaNetflixShopifySlackSpotifyTwitch
The pipeline

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.

01 · Capture

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
Browser pixel
Blockerblocked
Safari ITPexpired
iOS ATTopted out
Delivered1 of 4
Pivolio server
Blockercaptured
Safari ITPcaptured
iOS ATTcaptured
Delivered4 of 4
Conversions recovered this session+312
02 · Resolve

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
Identity resolution7 signals → 1 person
Email hash
Phone hash
Click ID (fbclid)
Device fingerprint
IP + user agent
First-party cookie
Session ID
Customer #48213
m•••@dtc.co
Sessions9
First touchMeta
Lifetime value$1,284
Match quality9.4 / 10
03 · Score

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
Traffic quality
event #48213 · Purchase
96
Low risk
SignalWeightResult
Datacenter / proxy IP×0.30clear
Bot signature match×0.25clear
Click-to-convert time×0.20clear
Device reputation×0.15clear
Geo / IP mismatch×0.10minor
+ 10 more signalsweighted
Ship to platforms
04 · Deliver

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
Conversions API deliverysynced 4s ago
Meta Conversions API
EMQ 8.7 · 0 rejected
1,204
delivered
Google Ads API
enhanced conversions on
1,180
delivered
TikTok Events API
test + live events
964
delivered
Reddit Conversions API
2 retrying · auto
402
syncing
Install

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.

4
lines to first event
9
platforms tracked
4
delivery destinations
npmyarnscript
server.ts
$ 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' },
})
Event received · resolved · scored 96 · delivered to 4 platforms
The difference

Browser pixel vs. Pivolio

Capability
Browser pixel
Pivolio
Survives ad blockers
Not supported
Supported
Survives iOS ATT & Safari ITP
Not supported
Supported
Immune to 7-day cookie expiry
Not supported
Supported
Cross-session identity resolution
partial
Supported
Fraud filtering (15 weighted signals)
Not supported
Supported
Delivers to Meta, Google, TikTok, Reddit CAPIs
manual
Supported
You own the raw event data
Not supported
Supported
Built for performance teams

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.
ME
Maya Ellison
Head of Growth · Brightline
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.
DO
Daniel Osei
Founder · Meridian Agency
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.
PN
Priya Nandakumar
Growth Lead · Vantage
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.
AS
Annika Solberg
CMO · Northwind
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.
RK
Ross Kilgarriff
Paid Social Lead · Brightline
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.
KW
Kenji Watanabe
Engineering Lead · Cardinal
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.
LZ
Lian Zhou
Head of Analytics · Vantage
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.
AR
Adam Ruthven
Ecommerce Director · Foundry
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.
GL
Gregor Lindqvist
VP Marketing · Halcyon
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.
EV
Elliot Vance
Performance Marketing Manager · Meridian Agency
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.
SM
Sofia Marchetti
Founder · Cardinal
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.
TH
Tomás Herrera
CTO · Northwind

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.

No pixel rip-and-replace · Live in an afternoon · 9 platforms tracked