managed proxy
Recover ad-blocked visitors
Ad blockers work from lists of third-party domains. Serve Datalenk from a subdomain of your own site and there is nothing left on those lists to match: the requests look exactly like your own site, because they are. One CNAME, no code to write, SSL handled for you.
Why it matters for revenue, not just traffic
A blocked visitor is not only a missing line in a chart. When someone buys and their visit was never recorded, the payment has nothing to attach to: it lands in Unattributed revenue, and the campaign, the article or the link that actually earned the sale gets no credit. Your dashboard shows you the exact amount this costs you over the last 30 days, right above the setup form in Settings.
How much traffic is blocked depends entirely on your audience. Developer, tech and privacy audiences sit far above average; a mainstream mobile audience far below. Rather than trust a number from a blog post, compare your Datalenk visitors against your server logs or your checkout count. After switching the proxy on, compare the same two weeks before and after.
Setting it up: three steps
Pick a subdomain and add one CNAME
In Settings, enter the subdomain you want to use, for example a.yourdomain.com. Datalenk then shows you the exact DNS record to create at your registrar:
Choose a neutral name. a, cdn, e or m all work. Avoid analytics., tracking., stats. or metrics.: several blocking lists match on the name itself, whatever domain it sits on, which would defeat the whole point. Datalenk warns you if you pick one of those.
On Cloudflare, leave the record DNS only (grey cloud). Proxying it through Cloudflare on top of ours adds a hop for no benefit and can block the certificate issuance.
Wait for the status to turn to DNS ready
As soon as the record propagates, the panel switches from Waiting for DNS to DNS ready. The SSL certificate is issued automatically at that moment, typically within a minute of the first request. There is nothing to buy, upload or renew, ever.
DNS propagation usually takes a few minutes and occasionally up to an hour. You can check it yourself with dig a.yourdomain.com CNAME +short.
Replace your snippet, then deploy
This is the step people skip, and skipping it means nothing changes. Pointing your DNS at us does not modify the script already sitting in your pages: until you replace it, every visit still goes to the old address and still gets blocked. Copy the new snippet from the panel, which already carries your subdomain and your site id, and deploy:
<script defer src="https://a.yourdomain.com/dl.js" data-site="YOUR_SITE_ID"></script>
Keep data-site exactly as it is. Only the domain in the URL changes; the id is what ties the data to your site, and altering it would start a fresh, empty history.
The panel turns green on its own as soon as the first real visit arrives through your domain. That green is your proof the whole chain works, and it is the only state we call Active. DNS alone is never enough.
If you use a Content-Security-Policy
Your own subdomain is a new origin as far as the browser is concerned, so it has to be allowed explicitly. Add it to both directives: the first lets the script load, the second lets it send:
Content-Security-Policy: script-src 'self' https://a.yourdomain.com; connect-src 'self' https://a.yourdomain.com;
If events stop arriving right after you switch, this is the first thing to check: open your browser console on your own site and look for a blocked-by-CSP message.
What it recovers, and what it does not
The proxy defeats one blocking mechanism very well and leaves two untouched. Knowing which is which saves you from chasing the wrong problem later.
It recovers
Blocking by domain list, which is how the large majority of blocking works today: uBlock Origin, AdGuard, EasyPrivacy, Brave's shields, Pi-hole and most DNS-level blockers all decide from the hostname a request is going to. Once that hostname is yours, the request is indistinguishable from any other asset on your site.
It does not recover
- Heuristic and script-level blocking. A few tools inspect what a script does rather than where it comes from. They are a small minority, but no proxy can hide behaviour.
- People who disable JavaScript entirely. No client-side analytics tool sees them, ours included.
- Safari's 7-day cap on client-set storage. Datalenk is cookieless, so this affects us far less than cookie-based tools, but a visitor returning after several weeks may still be counted as new.
If a large share of your revenue is still Unattributed after the proxy is active, the cause is usually elsewhere: your checkout does not pass the visitor reference, or your payments arrive by webhook with no browser session behind them. Calling identify at signup is what closes that gap.
Questions
Does this slow my site down?
No. The script is the same size and is served from the same infrastructure; only the hostname on the request changes. In practice it is often marginally faster, since the browser reuses a connection to a domain it already trusts.
Is this legal, or does it hide tracking from users?
It changes where a request goes, not what is collected. Datalenk stays cookieless, sets no identifier a user could be followed with across sites, and collects the same data as before. Your privacy policy needs no change beyond naming the subdomain if you list your endpoints.
Can I use a subdomain I already use for something else?
No. A CNAME takes over the whole hostname, so the subdomain has to be free. Pick a new short one; that is why we suggest single letters.
What happens to my historical data?
Nothing changes. The site id is unchanged, so old and new events land in the same place. You will simply see the visitor count step up on the day you deploy the new snippet.
Can I turn it off?
Yes, at any time: remove the proxy in Settings and put the standard snippet back. There is no lock-in and no migration. Remove the CNAME afterwards if you no longer need it.
Does it work with Cloudflare, Vercel, Netlify, or my registrar?
Anywhere you can create a CNAME, which is everywhere. The one caveat is Cloudflare: keep the record DNS only, not proxied.
Ready?
The setup panel shows your DNS record, your live status and, once DNS is ready, the exact snippet to paste.
Set up the proxy