Advertising disclosure: this site is independent and is not the software vendor. Links to the product on this page are affiliate links, and we may earn a commission if you start a paid subscription after clicking one — at no additional cost to you.
If your ad account, your analytics and your bank account tell you three different stories, you are not doing anything wrong. You are using tools that were never built to give you a straight answer.
This page opens up both of them. Then it shows you the third way: ClickMagick, the independent first-party tracker we recommend.
Setup one
You drop your ad platform’s pixel on your site. It writes a cookie when someone arrives from an ad, and reads it back when they buy. The whole model rests on two assumptions: that the script always runs, and that the cookie is still there at the moment of the sale.
Leak 01
Two of the three major browsers block them outright, and the third has spent years steadily restricting them. For a large slice of your traffic the cookie never gets written at all.
Leak 02
The strictest major browser caps cookies written by JavaScript to as little as seven days, and in some cases twenty-four hours. Someone who thinks it over for two weeks arrives at checkout as a total stranger.
Leak 03
Pixels load from a small set of well-known domains that sit on public blocklists. The event is not delayed or degraded. It never happens at all, and the visitor leaves no trace.
Leak 04
This one is structural. A cookie belongs to one browser on one device, so somebody who taps your ad on their phone and buys on their laptop is two unrelated strangers.
Leak 05
If your landing page and your checkout sit on different domains, the cookie set on the first cannot be read on the second. The thread snaps exactly where the money changes hands.
Leak 06
A consent banner that blocks scripts, a JavaScript error from an unrelated plugin, a slow connection, a tab closed a second early. Any of these, and the conversion is never reported.
Worth being clear about
None of this is a malfunction. It is the browser doing exactly what it was designed to do.
Privacy protection and client-side ad tracking want opposite things, and the browser does not work for you.
Setup two
This is the usual next step once someone realizes the pixel is leaking, and it is a genuine improvement. Instead of the browser talking straight to the ad platform, a cloud server sits in the middle: the browser sends data to your server, and your server forwards what matters on.
That left column is real and worth having. But the right column is where the expensive mistakes live, so here it is in full.
Unfixed 01
Platforms only count conversions inside a fixed window after the click. One of the biggest defaults to seven days, another works on thirty to ninety. Anything later is not counted late. It is not counted.
Unfixed 02
Run three channels and add up what each reports, and you will routinely find more conversions in your dashboards than you had actual sales. Each one is grading its own homework.
Unfixed 03
Platforms also count view-through conversions: your ad was shown, nobody clicked it, they bought through another route, and the platform books the sale as its own.
Unfixed 04
Devices get stitched together using logged-in identity. When someone is not signed in on one of them, or is browsing privately, or uses a work machine, the connection is never made.
Unfixed 05
The platforms openly document that they model conversions they did not observe and sample data to keep reporting fast. An estimate cannot tell you when it is wrong.
Unfixed 06
Bots click ads. Competitors check your funnel. Customers click your paid brand ad to get back to you. Routing that through your own server does not make any of it more human.
The flaw they share
Server-side tracking improves how your data travels. It does nothing about who gets to interpret it. The referee is still one of the players.
The company selling you the advertising is also the company deciding which advertising worked, using a window it chose, a model it built, and rules that reward it for claiming as much credit as it can.
The fix
The approach differs in one important way. Instead of asking the ad platforms what happened, it records what happened itself, on your own domain and under your own control, and then feeds that record back to them.
The record is kept once, independently, and then used twice: for your own reporting, and to feed the ad platforms something accurate to learn from.
There are no redirects to bounce visitors through, and the cookies are first-party ones set on your own domain rather than a third party’s. You can also point a tracking subdomain of your own at it and serve the script through a randomized loader.
At that point there is no third-party domain to block and no predictable filename to match against, because the request is going to your site.
Closes: third-party cookie blocking, ad blockers, and the “script never loaded” failure.Your campaign links carry industry-standard UTM parameters on your own URLs, and a built-in URL builder generates them so nothing gets mistyped. Combined with server-side tracking and first-party data only, that is the whole basis of the measurement.
The record of where a visitor came from belongs to you and follows an open standard, rather than living inside one platform’s proprietary click parameter that only it can read.
Closes: being locked into one platform’s view of where your traffic came from.Visitors are tracked indefinitely rather than for seven or ninety days. If someone clicks an ad today and buys six months from now, that sale still traces back to the original click, along with every step in between.
It is also what makes real lifetime-value analysis possible: what a customer from a given campaign is worth over months, not just whether they converted this week.
Closes: conversions falling outside the platform’s window, the cookie that expired before the sale, and lifetime value you could never measure.The phone-at-lunch, laptop-at-night journey is followed as one person and one journey, without depending on that person being signed in to the same account on both devices.
It works automatically once the tracking code is installed. There is nothing to configure.
Closes: device switching, and the cross-device sales that used to land in “direct”.Because the full journey is recorded rather than just the last touch, credit becomes something you choose. Last click tells you what closes. Linear, position-based and time-decay models show you what opened the door, so you can judge cold-traffic campaigns on what they actually do.
And because it is one independent record across every source, the same conversion cannot be claimed three times.
Closes: greedy attribution, view-through credit, and double-counting across platforms.Your accurate, first-party conversions are sent back server-side in real time, enriched with the identifiers the platforms need to match an event to a real user, which is what drives event match quality up.
Their algorithms only learn from what they receive. Feed them a partial picture and they hunt for more of the wrong people. Feed them the real one and they get better at finding buyers, on the same budget.
Closes: the ad platform AI optimizing on incomplete data.Bot filtering keeps crawlers and automated clicks out of your reports on every plan. On the higher plans you can set rules for what click behavior is acceptable, blocking competitors and click-happy repeat visitors so you stop paying for them.
Closes: inflated click counts, wrecked conversion rates and budget spent on non-buyers.Every fix above exists because of a specific failure in the two setups on this page. That is the whole design brief.
Start My Free Trial Affiliate link — we may earn a commission, at no extra cost to you.The output
All of that plumbing exists to produce one thing: numbers you can act on without second-guessing them, in real time, for any traffic source, campaign, ad or keyword.
Ranks your best and worst performing ads, and lets you filter by any combination of UTMs and date range.
Shows how long people actually take to buy, so you stop killing ads five days into a twelve-day sales cycle.
Uses cohorts to show what each campaign costs to acquire a customer, and exactly when it breaks even.
Maps the paths visitors take through your funnel and where they drop out, step by step.
None of these are numbers your ad account can give you, because it can only ever see its own slice.
Summary
The same nine questions, asked of the pixel your platform gave you, a server-side setup, and an independent first-party layer.
| Cookie / pixel | Server-side setup | ClickMagick | |
|---|---|---|---|
| Survives ad blockers | ✗ | Mostly | ✓ |
| Survives browser cookie limits | ✗ | Mostly | ✓ |
| Tracks past 7 / 30-90 days | ✗ | ✗ | Indefinitely |
| Cross-device without a login | ✗ | ✗ | ✓ |
| Works across multiple domains | ✗ | Depends | With setup help |
| You choose the attribution model | ✗ | ✗ | ✓ |
| Measured, not modeled | ✗ | ✗ | ✓ |
| Bots and junk clicks filtered | ✗ | ✗ | ✓ |
| One record across every source | ✗ | ✗ | ✓ |
A few notes, so nothing here is a surprise. On plans: first-party tracking, cross-device, the server-side conversion feed, real-time stats and bot filtering are on every plan, while rule-based click protection, the advanced attribution models and phone or offline sales tracking come with the higher tiers. On multi-domain funnels: these are supported, but a setup spanning several domains usually needs a hand from support to configure properly rather than working out of the box. And browser privacy rules change regularly, so the specific windows and cookie lifetimes above reflect how the major browsers and ad platforms behave at the time of writing.
Now you know where it leaks
Point it at live traffic and compare its numbers against the ones in your ad account. The difference between the two is the part you have been making decisions without.
14-day free trial · No contract · 30-day money-back guarantee