Track Demo

loading…

A live server-side tracking pixel — source on GitHub. This page carries the pixel itself, so opening it already sent a pageview — with your real country and device, read on the server. The buttons send the other two events a lander sends: a click on the offer, and a lead when the form is submitted. A lead is what a network later settles with a postback, and that is where the money appears.

Events per hour

By device

Open this page on your phone — it arrives as mobile, read from the request itself.

Top countries

Latest events

timetypecountrydevicebrowser

This is the live tail — the full event log has every event, with filters.

Revenue by ad

campaignadconv.revenue

A postback carries no ad ids. These come from the click (the platform's macros in the landing URL) and are joined to the conversion by clickid — that join is what tells you which ad paid.

Traffic sources

sourceevents

Read from document.referrer in the browser and reduced to a host on the server. direct means no referrer at all — typed, bookmarked, or an app that strips it; internal is navigation inside the same site.

Postback (S2S)

Your events on this page carry the click id . In the real order, a lead comes first and the network settles it afterwards — so press Send a lead event, then call the endpoint the way that network would:


      

Then reload: the conversion appears above, attributed to your click. Run it twice — the same txid updates that one conversion instead of paying twice, which is what makes a network's retries safe. A postback attributes to the click, not to that lead: networks routinely settle clicks whose lead was submitted somewhere your pixel never saw, and those arrive unmatched.

Conversions API — outbound delivery log

timeeventtostatus httpmstry

A browser pixel is blocked often enough that the platform expects the server to report a conversion. Every approved postback queues one delivery, keyed by event_id: offered twice, the duplicate is suppressed and counted. A failure is retried with a growing delay by the Cloudflare cron, so a bad minute upstream does not lose the event. Open a row to see the exact payload — e-mail, phone and city leave hashed, never readable.