Where people leave, which version wins, which ad paid.
Every number is a count of distinct people. A customer who moves back and forth between screens is counted once.
Drop-off by screen
Each screen is a bar showing the share of people who opened the funnel and reached it. The people lost between screens is written beside each step. Below the flow: how many pressed the paywall button, how many paid, and for every question, the distribution of answers. Windows of seven, thirty or ninety days.
Split tests
A variant is a second funnel. Build it, publish it, and serve it to 10, 25, 50 or 75 percent of visitors at the original funnel's address — the URL your app points to does not change. Each visitor sees one version for the duration of the test. Results are two columns of the same three figures: opened, paid, and paid as a share of opened.
There is no significance test. At the volumes most apps see, a p-value implies more certainty than the data supports. The report states how many payments each side needs before a difference is meaningful and shows the raw counts.
Attribution
A visitor arriving from an ad carries the network's click id in the URL. When that visitor pays, Passback notifies the network server-to-server — Meta's Conversions API or TikTok's Events API — with the hashed email, the click id, the browser cookie set by the pixel, and the checkout session id as the event id so pixel and server events are deduplicated. The network's pixel loads on the funnel only once you have provided an id. Access tokens are encrypted at rest and never displayed after entry.
The report breaks visitors and payers down by utm_source, or by network when a click id is the only signal.
What is not collected
No analytics cookie. The visitor id is generated per session and held in sessionStorage, so five screens viewed by one person count as one person, and nothing follows a visitor across days or sites. No fingerprinting, no IP address stored, no user agent stored.