Where it started
Jessica and I started selling online in 2021 — a Shopify store first, then a site we built ourselves. It was the middle of the pandemic, everything moved online at once, and we spent most of our time on one question: where is our website traffic coming from, and which of it actually pays us?
We tried the plugins. Shopify has plenty, and most of them track something — sessions, pageviews, an add-to-cart. None of them answered the question we actually had, which was: this visitor arrived from that source, and six days later they paid. What we wanted was revenue by channel — every dollar traced to the source that earned it — and what we kept getting was another traffic report.
It turns out there is a real reason that is hard. Safari blocked third-party cookies in 2020, Firefox followed in 2022, Chrome tightened through 2024 and 2025 — so the ad click on Monday and the payment on Friday stopped being connected inside any cookie-based tool. They arrive as two unrelated events. Nobody was going to fix that for a two-person store, so we wrote our own tracking scripts. Nothing elegant. Just enough to answer the question on our own sites.
How it became a product
Other store owners saw it and asked us to open source it, or just let them use it. They had the same three problems we did: they could not tell which channel their revenue came from, they could not follow a sale back to its source, and they had no reliable picture of who was landing on their store in the first place. The requests kept coming, and after a while they stopped being only from e-commerce — SaaS founders wanted it too.
So we cleaned it up and put it online. What we had built for ourselves was a small first-party script and a server-side join: the script records where a visit came from, and when a payment lands in Stripe or Shopify, a webhook walks it back to that original visit. That is still the centre of the product, and it is the reason every channel has a revenue number next to it instead of a session count. It is also why the conversion tracking survives a buyer who leaves and comes back four days later on their phone — the thing that breaks every cookie-based setup we tried.
The other thing we kept from the early version is that it does not use third-party cookies or fingerprinting. That started as a constraint — those cookies had stopped working anyway — and turned out to be the more durable way to build it.
Why it costs what it costs
$9.99 a month. When we were looking, the tools that did this job properly were priced for companies with a growth team, and we were two people with a Shopify store. We would rather this be something a founder can just turn on and forget about, so that is what we charge. It has not changed our minds since.
What we are working on now
We ship whenever we have time, and we ship whatever people are actually asking us about. Right now that is AI search. The question has quietly changed from "where did this visitor come from" to "does ChatGPT even know we exist" — and the honest answer for most sites is that nobody can tell. AI traffic usually arrives with no referrer at all, so it lands in the Direct bucket next to the bookmarks and never shows up as a channel.
So we started giving each engine its own row — ChatGPT, Perplexity, Claude, Gemini — so AI traffic reads as its own channel with its own revenue. Then we went a step earlier and started measuring AI search visibility directly: on the prompts your buyers actually type, are you cited, which competitors are cited instead, and where is the gap. We joined that back to the revenue side too, because a citation that never sends a paying customer is just a nice screenshot.
That part of the product is young and moving quickly. Some of it we are still figuring out.
To be continued. If you want to argue with any of this, or tell us what is missing, email me at vincent@attrifast.com. I read everything.
How we write here
There are two of us. Jessica and I build the product, write the docs and the blog, and answer the questions on support. There is no marketing team and no AI ghostwriter pumping out 50 SEO articles a month. Every post on this site is something we have tested against our own data, a customer's data, or a real measurement.
When we quote a number, it comes from a primary source we link to inline or from something we measured ourselves. If we have neither, the number does not go in the post. If you ever find a wrong one, email me and I will fix it, with a correction note on the article.
What it does not do
No third-party scripts. No cookies that outlive a session, no fingerprinting, nothing shared with ad networks. The script keeps a first-party identifier scoped to your own domain and the join to payments happens on the server. The full inventory of what is stored is in the privacy policy.
None of that was a positioning decision. It is just the shape the thing took when we built it for two stores we owned and did not want to hand anyone else's data to.
The rest of the site
Most of what we learn along the way ends up on the blog — the AI search work is collected under AI search, the attribution mechanics under attribution, and the studies we run on our own cohort under original research, which is free for anyone to cite. The comparison pages cover the tools people ask us about, including where those tools are the better choice. The free tools need no signup, and the docs will tell you how the install actually works before you decide anything.
Get in touch
If you are setting this up on an unusual Stripe or Shopify stack and want a second pair of eyes on it, say so in the email and we will look at it with you. That is not a sales call — neither of us enjoys those.
Connect on X or LinkedIn — that is where I post when I have shipped something interesting. More about me and my other projects at vince-ruan.com.